Capítulo 1. MARCO TEÓRICO

51
Capítulo 1. Marco Teórico Capítulo 1 Marco Teórico 1.1. Generalidades de Visual Basic El desarrollo de aplicaciones de cómputo surge a partir de la necesidad de resolver problemas, que involucren la realización de una cantidad de cálculos numéricos tediosos y/o difíciles, los cuales no permiten un mínimo de error. En la ingeniería, como en otras disciplinas, la utilización de programas de computadora ha resultado ser una de las herramientas de apoyo, más importante de nuestros días. Por esta razón, cada día son más los estudiantes, profesionistas e ingenieros que desarrollan aplicaciones para computadora, como apoyo para la realización de sus tareas, y de esta forma realizarlas en menor tiempo y con mejores resultados para la toma de decisiones. Desde las tarjetas perforadas hasta nuestra fecha, la programación orientada a eventos ha tenido notable desarrollo tecnológico y su atractivo va en crecimiento cada día. Por lo cual, la elaboración de un programa en Visual Basic 6.0, para la comparación de la medida de rendimiento de eficiencia, 6

description

Visual Basic, Grupos tecnológicos

Transcript of Capítulo 1. MARCO TEÓRICO

Page 1: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Capítulo 1 Marco Teórico

1.1. Generalidades de Visual Basic

El desarrollo de aplicaciones de cómputo surge a partir de la necesidad de resolver problemas,

que involucren la realización de una cantidad de cálculos numéricos tediosos y/o difíciles, los

cuales no permiten un mínimo de error.

En la ingeniería, como en otras disciplinas, la utilización de programas de computadora ha

resultado ser una de las herramientas de apoyo, más importante de nuestros días.

Por esta razón, cada día son más los estudiantes, profesionistas e ingenieros que desarrollan

aplicaciones para computadora, como apoyo para la realización de sus tareas, y de esta forma

realizarlas en menor tiempo y con mejores resultados para la toma de decisiones.

Desde las tarjetas perforadas hasta nuestra fecha, la programación orientada a eventos ha

tenido notable desarrollo tecnológico y su atractivo va en crecimiento cada día.

Por lo cual, la elaboración de un programa en Visual Basic 6.0, para la comparación de la

medida de rendimiento de eficiencia, de los resultados obtenidos de los métodos para la

formación de células de manufactura: BEA, ROC2 y DCA, representa una opción factible

como apoyo para la toma de decisiones, por lo tanto resulta especialmente interesante para

quienes imparten la materia, laboran en una empresa o son estudiantes de la Ingeniería

Industrial.

1.1.1. Introducción a Visual Basic

Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce

como Visual Basic versión 6.0 la cual se incluye en el paquete Visual Studio 6.0 de Microsoft.

Esta versión combina la sencillez del BASIC con un poderoso lenguaje de programación

6

Page 2: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Visual que juntos permiten desarrollar robustos programas de 32 bits para Windows. Esta

fusión de sencillez y la estética permitió ampliar mucho más el monopolio de Microsoft, ya

que el lenguaje sólo es compatible con Windows, un sistema operativo de la misma empresa.

Visual Basic es un lenguaje de programación de los llamados "visuales", puesto que parte de la

programación que se realiza con él se basa en la utilización de elementos visuales. La palabra

"Visual" hace referencia al método que se utiliza para crear la interfaz gráfica de usuario. En

lugar de escribir numerosas líneas de código para describir la apariencia y la ubicación de los

elementos de la interfaz, simplemente se pueden agregar objetos prefabricados en su lugar

dentro de la pantalla, que ahorran mucho tiempo de programación y que sobrepasan el

concepto de la programación convencional en cuanto a la estructura secuencial del programa.

Visual Basic 6.0 es uno de los lenguajes de programación que más entusiasmo despiertan entre

los programadores de PCs, tanto expertos como novatos. En el caso de los programadores

expertos por la facilidad con la que desarrollan aplicaciones complejas en poquísimo tiempo

(comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los

programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de

empezar su aprendizaje. El precio que hay que pagar por utilizar Visual Basic 6.0 es una

menor velocidad o eficiencia en las aplicaciones.

Visual Basic 6.0 es un lenguaje de programación visual, también llamado lenguaje de 4ª

generación. Esto quiere decir que un gran número de tareas se realizan sin escribir código,

simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla.

Visual Basic ya no es más "un lenguaje para principiantes" sino que es una perfecta alternativa

para los programadores de cualquier nivel que deseen desarrollar aplicaciones compatibles con

Windows.

1.1.2. Lenguaje Visual Basic

Tradicionalmente el lenguaje Basic (Beginners All-Purpose Symbolic Instruction Code) se ha

considerado como el lenguaje adecuado para principiantes en el mundo de la programación, si

7

Page 3: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

bien se le achaca que no tiene la potencia suficiente para cubrir todas las expectativas de los

programadores avanzados. Cierto es que aunque permite la creación de componentes y trabaja

con objetos, otros lenguajes tienen más potencia en la programación orientada a eventos, pero

a medida que han avanzado las versiones de Visual Basic, ha aumentado su versatilidad.

El lenguaje nace del BASIC que fue creado en su versión original en el Dartmouth College,

con el propósito de servir a aquellas personas que estaban interesadas en iniciarse en algún

lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció

el BASIC estándar. La sencillez del lenguaje ganó el desprecio de los programadores

avanzados por considerarlo "un lenguaje para principiantes".

Sin embargo, fue gracias al entorno gráfico de Windows, como Visual Basic tomó ventaja

sobre los otros leguajes de programación y pudo satisfacer las necesidades que la

programación requería.

El lenguaje Basic es un lenguaje de programación que se ha diseñado para facilitar el

desarrollo de aplicaciones en un entorno grafico (GUI-Graphical User Interface) Como

Windows 98, Windows NT o superior.

Actualmente se han comercializado varias versiones de este producto desde su salida al

mercado. Dados los buenos resultados a nivel profesional, Visual Basic se ha convertido en

una herramienta de desarrollo de proyectos de programación de primera mano, para el

desarrollo en entorno de Windows.

1.1.3. Características de Visual Basic

Visual Basic es una herramienta de diseño de aplicaciones para Windows, en las que estas se

desarrollan a partir del diseño de una interfaz gráfica. En una aplicación Visual Basic, el

programa está formado por una parte de código puro, y otras partes asociadas a los objetos que

forman la interfaz gráfica. Es, por tanto, un término medio entre la programación tradicional,

formada por una sucesión lineal de código estructurado, y la programación orientada a

eventos.

8

Page 4: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Se puede decir que Visual Basic es un lenguaje orientado a eventos. En las aplicaciones

tradicionales o "por procedimientos", la aplicación es la que controla qué partes de código y en

qué secuencia se ejecutan. La ejecución comienza con la primera línea de código y continúa

con una ruta predefinida a través de la aplicación, llamando a los procedimientos según se

necesiten.

En una aplicación controlada por eventos, el código no sigue una ruta predeterminada; ejecuta

distintas secciones de código como respuesta a los eventos. Los eventos pueden

desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o

incluso por la propia aplicación. La secuencia de estos eventos determina la secuencia en la

que se ejecuta el código, por lo que la ruta a través del código de la aplicación es diferente

cada vez que se ejecuta el programa.

Para manejar los objetos y controles del lenguaje hay que conocer tres conceptos asociados a

ellos:

Propiedades: Para todos los objetos y controles de Visual Basic, hay definidas una

serie de propiedades que permiten controlarlos: nombre, tamaño, color, posición, etc...,

la mayoría de las propiedades serán comunes, pero evidentemente, habrá objetos que

tengan unas determinadas propiedades específicas.

Eventos: Cada objeto lleva asociados unos determinados eventos que pueden ocurrir,

por ejemplo a un botón, le puede ocurrir que el usuario pulse con el botón principal del

ratón sobre él, eso es el evento NombreDelBotón_Click(), bien cuando esto ocurra, se

dispara este evento, al cual le añadirá el código de lo que requiere que haga la

aplicación cuando el usuario pulse el botón.

Métodos: Son procedimientos asociados a un objeto, es decir, permiten realizar

acciones como por ejemplo escribir un texto en un objeto, necesita usar el método

Print, con la siguiente sintaxis: NombreDelObjeto.Print "Texto deseado".

Se encontraran propiedades, eventos como métodos comunes, si bien, dependiendo de los

objetos que se utilicen, se encontraran elementos específicos y exclusivos del objeto.

9

Page 5: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Otras características con las que cuenta Visual Basic para el desarrollo de aplicaciones, son:

Diseñador de entorno de datos: Es posible generar, de manera automática,

conectividad entre controles y datos mediante la acción de arrastrar y colocar sobre

formularios o informes.

Los Objetos Actives: son una nueva tecnología de acceso a datos mediante la acción

de arrastrar y colocar sobre formularios o informes.

Asistente para formularios: Sirve para generar de manera automática formularios que

administran registros de tablas o consultas pertenecientes a una base de datos, hoja de

cálculo u objeto (ADO-Active Data Object).

Asistente para barras de herramientas: es factible incluir barras de herramientas

personalizadas, donde el usuario selecciona los botones que desea visualizar durante la

ejecución.

En las aplicaciones HTML: Se combinan instrucciones de Visual Basic con código

HTML para controlar los eventos que se realizan con frecuencia en una página Web.

La Ventana de Vista de datos: proporciona acceso a la estructura de una base de

datos, también acceso al diseñador de consultas y diseñador de base de datos para

administrar y registros.

1.1.4. Entorno de desarrollo de Visual Basic

Visual Basic 6.0 tiene todos los elementos que caracterizan a los programas de Windows e

incluso alguno menos habitual. En cualquier caso, el entorno de Visual Basic 6.0 es muy

lógico y natural, y además se puede obtener una descripción de la mayoría de los elementos

clicando en ellos para seleccionarlos y pulsando luego la tecla <F1>.

Para iniciar Visual Basic 6.0, se pulsa sobre el botón Inicio/Todos los programas/ Microsoft

Visual Basic 6.0 y se da clic sobre el icono de Visual Basic 6.0 como se ve en la figura 1.1.

Cuando ejecutamos VB, después de cargar el entorno, aparece la figura 1.2, la cual nos ofrece

tres solapas: Nuevo, con las diferentes opciones que nos permite crear VB, en principio sólo

utilizaremos EXE estándar, que nos llevará a un formulario vacío desde el cual comenzaremos

10

Page 6: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

a desarrollar nuestra aplicación. Existente, nos permite abrir proyectos que ya existen para

continuar implementándolos. Recientes, lo mismo pero sobre los últimos proyectos que

hayamos estado desarrollando.

Una vez que hayamos elegido EXE estándar, aceptamos y aparece la siguiente ventana (figura

1.3), en la cual vemos que tenemos un proyecto abierto que en principio cuenta con un

formulario vacío. Posteriormente, si los necesitamos podremos insertarle tantos formularios al

proyecto como queramos.

1.1.4.1. Barra de Menús

La barra de menús de Visual Basic 6.0 resulta similar a la de cualquier otra aplicación de

Windows, tal y como aparece en la figura 1.4. Bajo dicha barra aparecen las barras de

herramientas, con una serie de botones que permiten acceder fácilmente a las opciones más

importantes de los menús.

1.1.4.2. Barra de Herramientas

En Visual Basic 6.0 existen cuatro barras de herramientas: Debug, Edit, Form Editor y

Standard. Por defecto sólo aparece la barra Standard, aunque en la figura 1.5 se muestran las

cuatro. Clicando con el botón derecho sobre cualquiera de las barras de herramientas aparece

un menú contextual con el que se puede hacer aparecer y ocultar cualquiera de las barras. Al

igual que en otras aplicaciones de Windows 95/98/NT, también pueden modificarse las barras

añadiendo o eliminando botones (opción Customize).

Figura 1.1. Acceso a Visual Basic.

11

Page 7: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Figura 1.2. Crear nuevo proyecto.

Figura 1.3. Ventana principal.

Figura 1.4 Barra de menús

1.1.4.3. Cuadro de Herramientas

La figura 1.6 muestra la caja de herramientas, que incluye los controles con los que se puede

diseñar la pantalla de la aplicación. Estos controles son por ejemplo botones, etiquetas, cajas

de texto, zonas gráficas, etc. Para introducir un control en el formulario simplemente hay que

12

Page 8: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

clicar en el icono adecuado de la toolbox y colocarlo en el formulario con la posición y el

tamaño deseado, clicando y arrastrando con el ratón. Clicando dos veces sobre el icono de un

control aparece éste en el centro del formulario y se puede modificar su tamaño y/o trasladar

con el ratón como se desee.

El número de controles que pueden aparecer en esta ventana varía con la configuración del

sistema.

Para introducir nuevos componentes se utiliza el comando Componentes en el menú Project,

con lo cual se abre el cuadro de diálogo mostrado en la figura 1.7.

1.1.4.4. Diseñador de formularios

El diseñador de proyectos es la ventana que va a contener el objeto activo del proyecto, en la

figura 1.3 vemos que contiene el formulario vacío, que utilizaremos para el diseño gráfico.

Pero cuando le queramos añadir código, la ventana de código también estará contenida aquí.

1.1.4.5. Explorador de Proyectos

El explorador de proyectos es la ventana superior derecha (figura 1.3), que nos permite

visualizar los objetos que contiene el proyecto actual agrupado por categorías, en nuestro caso

y por el momento sólo hay un formulario colgando de la carpeta formularios. Además en la

parte superior izquierda de esta ventana hay dos botones que nos permiten intercambiar la

vista de diseño gráfico con la ventana de código en la ventana del proyecto.

No obstante para pasar a la ventana de código bastaría con hacer doble click sobre cualquier

control.

Figura 1.5. Barra de herramientas

13

Page 9: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Figura 1.6. Caja de Herramientas.

Figura 1.7. Cuadro de componentes.

1.1.4.6. Ventana de Propiedades

La ventana de propiedades (figura 1.3) esta situada debajo del explorador de proyectos, esta

contiene el conjunto de propiedades, con el valor actual correspondiente, de cada uno de los

objetos. Es aquí donde podremos modificar los valores iniciales de esas propiedades, en lo que

se conoce como tiempo de diseño.

1.1.4.7. Ventana de Código

Para abrir la ventana del editor de código se elige Code en el menú View. También se abre

clicando en el botón View Code de la Project Window, o clicando dos veces en el formulario o

en cualquiera de sus controles. Cada formulario, cada módulo de clase y cada módulo estándar

tienen su propia ventana de código. La figura 1.8 muestra un aspecto típico de la ventana de

código.

Aunque el aspecto de dicha ventana no tiene nada de particular, el Code Editor de Visual

Basic 6.0 ofrece muchas ayudas al usuario que requieren una explicación más detenida.

14

Page 10: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.1.4.8. Ayuda del sistema

La ayuda del sistema se encuentra en el menú Help, se basa fundamentalmente en una

clasificación temática ordenada de la información disponible (Contents), en una clasificación

alfabética de la información (Index) y en la búsqueda de información sobre algún tema por el

nombre (Search). Figura 1.9.

1.1.5. Diseño y desarrollo de proyectos

Para realizar un sistema computacional es necesario primero diseñarlo, es decir, planear las

partes o programas que lo formarán y el orden en que dichas partes serán desarrolladas.

Figura 1.8. Ventana de código.

Figura 1.9. Ventana de ayuda de Visual Basic.

1.1.5.1. Pasos para crear una aplicación

15

Page 11: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

La creación de un programa en Visual Basic lleva los siguientes pasos:

1. Creación de una interfaz de usuario. Esta interfase será la principal vía de

comunicación entre el usuario y la maquina, tanto como para entrada de datos como

para la salida. Será necesario partir de una ventana (formulario) a la que le iremos

añadiendo los controles necesarios.

2. Definición de las propiedades de los controles (objetos) que se hayan colocado es ese

formulario. Estas propiedades determinaran la forma estática de los controles y para

que sirven.

3. Generación de código asociado a los eventos que ocurran a estros objetos. La respuesta

a estos eventos (clic, una tecla pulsada, etc.) se le llama procedimiento. Deberá

generarse de acuerdo a las necesidades del programa.

4. Generación del código del programa. Un programa puede hacerse solamente con la

programación de los distintos procedimientos que acompañan a cada objeto. Visual

Basic ofrece la posibilidad de establecer un código de programa separado de estos

eventos. Este código puede introducirse en unos bloques llamados modulo, en otros

bloques llamados funciones y otros llamados procedimientos. Estos procedimientos

responden a un evento producido durante la ejecución del programa.

1.1.5.2. Formularios

Se sobre entiende que un formulario es la ventana de máximo nivel en la que aparecen los

distintos controles de la aplicación. Pero se debe tener en cuenta que los formularios también

poseen propiedades, métodos y eventos sobre los cuales el usuario trabaja para propósitos

específicos en la aplicación.

1.1.5.2.1. Propiedades del formulario

A continuación se muestra una tabla con las propiedades más usuales de los formularios.

16

Page 12: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Tabla 1.1. Propiedades del formulario.

Propiedad Descripción

BorderStyle

Establece el estilo de borde del formulario. Puede tomar entre los valores: 0- None (Sin borde), 1- FixedSingle (Simple fijo), 2- Sizable (Predeterminado. Tamaño ajustable), 3- FixedDouble (Dialogo fijo), 4- FixedToolWindow (Ventana fija), 5- SizableToolWindow (Ventana de tamaño ajustable). Para más información acerca de los estilos puede consultar la ayuda (help) de Visual Basic 6.0.

Caption Muestra el título del formulario.

BackColor Establece el color de fondo del formulario.

MaxButtonDetermina si el botón de maximizar estará activo o no. Puede tomar los valores True o False.

MinButtonDeterminar si el botón de minimizar estará activo o no. Puede tomar los valores True o False.

MDIChild

Devuelve o establece un valor que indica si un formulario debe mostrarse como formulario secundario MDI dentro de un formulario MDI. Es de sólo lectura en tiempo de ejecución. Puede tomar los valores True o False.

ShowInTaskBarDetermina si el icono de la aplicación se muestra cuando el formulario se minimiza. Puede tomar los valores True o False.

StartUpPosition

Establece la posición inicial del formulario. Puede tomar los valores: 0- StartUpManual (Ninguna posición inicial), 1- StartUpOwner (Centrado en el elemento que pertenece), 2- StartUpScreen (Centrado en toda la pantalla) y 3- StarUpWindowsDefault (Esquina superior izquierda de la pantalla).

WindowState

Establece el estado del formulario al iniciar la aplicación. El estado puede ser 0- Normal, 1- Minimized (el formulario aparece minimizado) ó 2- Maximized (el formulario aparece maximizado).

17

Page 13: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.1.5.2.2. Eventos del formulario

En la tabla 1.2 se muestran los eventos más usuales de los formularios.

Tabla 1.2. Eventos del formulario.

Evento Descripción

Load

Ocurre al momento que el formulario se carga. Una carga ocurre cuando un formulario es mostrado o al momento que la aplicación se ejecuta. Load también puede ser utilizado para cargar un formulario, es decir, ponerlo en funcionamiento a el y a todos sus controles sobre el pero sin mostrar el formulario.

Unload

Ocurre cuando el formulario se descarga. Una descarga ocurre cuando el formulario o la ventana son cerradas, ya sea por medio de códigos o por el botón cerrar de la aplicación. Unload también puede ser utilizado para cerrar un formulario.Ejemplo: Unload Me ‘Descarga el formulario actual.

ResizeOcurre cuando un objeto se muestra primero o cuando cambia el estado de una ventana. (Por ejemplo, cuando se maximiza, minimiza o restaura un formulario.)

Terminate

Se produce cuando todas las referencias a una instancia de un formulario, un formulario MDI, un control User, una página de propiedades, una clase de Web, un diseñador de páginas DHTML o una clase se quitan de la memoria estableciendo a Nothing todas las variables que hacen referencia al objeto o cuando la última referencia al objeto queda fuera del alcance.

1.1.5.2.3. Métodos del formulario

La tabla 1.3 muestra los métodos más usuales de los formularios.

1.1.5.3. Controles básicos

Los controles más usuales son aquellos que usamos con mayor frecuencia al momento de crear

una aplicación. Estos controles son: los botones de comando, las cajas de texto, las etiquetas,

etc.

Tabla 1.3 Métodos del formulario

Método Descripción

18

Page 14: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Hide Oculta un formulario pero no lo descarga.

ShowMuestra un formulario ya sea que este se halla ocultado o que nunca se halla ocultado.

PrintImprime el formulario con todos sus controles. Si no quiere imprimir un control en especifico sólo debe establecer el valor False a la propiedad Visible de ese control.

1.1.5.3.1. Etiqueta

Un control Label (figura 1.10a) es un control gráfico que se puede usar para mostrar texto que

el usuario no podrá cambiar directamente. En las etiquetas la propiedad más importante es

Caption, que contiene el texto que aparece sobre el control. Esta propiedad puede ser

modificada desde el programa, pero no interactivamente sino, mediante líneas de código.

Las etiquetas tienen las propiedades AutoSize y WordWrap. La primera, cuando está a True,

ajusta el tamaño del control al del texto en él contenido. La segunda hace que el texto se

distribuya en varias líneas cuando no cabe en una sola.

1.1.5.3.2. Cuadro de texto

Un control TextBox(figura 1.10b) también denominado control de campo de edición o control

de edición, muestra información introducida en tiempo de ejecución por el usuario o asignada

al control en código en tiempo de ejecución.

La propiedad más importante de las cajas de texto es Text, que almacena el texto contenido en

ellas. También se suelen controlar las que hacen referencia a su tamaño, posición y apariencia.

En algún momento se puede desear impedir el acceso a la caja de texto, por lo que se

establecerá su propiedad Enabled como False. La propiedad Locked como True hace que la

caja de texto sea de sólo lectura. La propiedad MultiLine, que sólo se aplica a las cajas de

texto, determina si en una de ellas se pueden incluir más de una línea o si se ignoran los saltos

de línea. La justificación o centrado del texto se controla con la propiedad Alignment. La

propiedad ScrollBars permite controlar el que aparezca ninguna, una o las dos barras de

desplazamiento de la caja.

19

Page 15: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.1.5.3.3. Botón de Comando

La propiedades más importantes del botón de comando (figura 1.10c) son su Caption, que es

lo que aparece escrito en él, las referentes a su posición (Left y Top) y apariencia externa

(Height, Width y tipo de letra) y la propiedad Enabled, que determina si en un momento dado

puede ser pulsado o no.

No hay que confundir la propiedad Caption con la propiedad Name. La primera define a un

texto que aparecerá escrito en el control, mientras que la segunda define el nombre interno con

el que se puede hacer referencia al citado objeto.

Si en la propiedad Caption se pone el carácter (&) antes de una de sus letras, dicha letra

aparece subrayada en el botón (como la “x” en el botón Exit de la figura anexa).

Esto quiere decir que, como es habitual en Windows, dicho botón puede activarse con el

teclado por medio de la combinación Alt+letra subrayada.

Esta característica es común a muchos de los controles que tienen propiedad Caption. El

evento que siempre suelen tener programado los botones de comandos es el evento Click.

Figura 1.10 Controles básicos

1.1.5.4. Tipos básicos de datos

Los tipos de datos de variables son los distintos objetos de información con los que trabaja una

aplicación en Visual Basic. Todos los datos tienen un tipo asociado con ellos. Un dato puede

20

Page 16: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

ser un simple carácter, tal como un ‘B’, un valor entero tal como 90 o un número real tal como

5.16.

Los tipos de datos de variables se pueden clasificar de acuerdo a su almacenamiento en: tipos

enteros (Byte, Integer, Long), tipos reales (Single, Double, Currency), tipos cadena (String),

tipos lógicos (Boolean), tipos fecha (Date), tipos variados (Variant).

1.1.5.4.1. Tipos enteros (Byte, Integer, Long)

Visual Basic tiene tres tipos de datos predefinidos para representar los números enteros: Byte,

Integer y Long.

1) Byte: Las variables tipo Byte se almacenan como números de 8 bits (1 byte) sencillos

sin signo con un intervalo de valores entre 0 y 225. El tipo de datos Byte es útil para

almacenar datos binarios.

2) Integer: Las variables Integer se almacenan como números de 16 bits (2 bytes) con

valores que van de -32.768 a 32.767. El carácter de declaración de tipo para el tipo

Integer es el signo de porcentaje (%).

Las variables tipo Integer también se pueden utilizar para representar valores

enumerados. Un valor enumerado puede contener un conjunto finito de números

enteros únicos, cada uno de los cuales tiene un significado especial en el contexto en el

que se utiliza. Los valores enumerados proporcionan una forma cómoda de seleccionar

entre un número conocido de opciones. Por ejemplo, cuando se pregunta al usuario que

elija un color de una lista, se podría tener 0 = negro, 1 = blanco y así sucesivamente. Es

una buena práctica de programación definir constantes utilizando la instrucción Const

para cada valor enumerado.

3) Long: Las variables Long (enteros largos) se almacenan como números con signo de

32 bits (4 bytes) con un valor comprendido entre -2.147.483.648 y 2.147.483.647. El

carácter de declaración de tipo para Long es el signo &.

1.1.5.4.2. Tipos reales (Single, Double, Currency)

21

Page 17: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Visual Basic también posee tres tipos de datos para representar los números reales: Single,

Double y Currency.

1) Single: Las variables Single (punto flotante de precisión simple) se almacenan como

números IEEE de coma flotante de 32 bits (4 bytes) con valores que van de -

3,402823E38 a -1,401298E-45 para valores negativos y de 1,401298E-45 a

3,402823E38 para valores positivos. El carácter de declaración de tipo para Single es

el signo de exclamación (!).

2) Double: Las variables dobles (punto flotante de doble precisión) se almacenan como

números IEEE de coma flotante de 64 bits (8 bytes) con valores de -

1,79769313486232E308 a -4,94065645841247E-324 para valores negativos y de

4,94065645841247E-324 a 1,79769313486232E308 para valores positivos. El carácter

de declaración de tipo para Double es el signo de número (#).

3) Currency: Las variables tipo Currency se almacenan como números de 64 bits (8

bytes) en un formato de número entero a escala de 10.000 para dar un número de punto

fijo con 15 dígitos a la izquierda del signo decimal y 4 dígitos a la derecha. Esta

representación proporciona un intervalo de -922.337.203.685.477,5808 a

922.337.203.685.477,5807. El carácter de declaración de tipo para Currency es el

signo @.El tipo de datos Currency es útil para cálculos monetarios y para cálculos de

punto fijo, en los cuales la precisión es especialmente importante.

1.1.5.4.3. Tipos cadena (String)

Hay dos clases de cadenas: cadenas de longitud variable y cadenas de longitud fija.

Las cadenas de longitud variable pueden contener hasta 2.000 millones de caracteres

(2^31).

Las cadenas de longitud fija que pueden contener de 1 a 64 KB (2^16) caracteres.

Nota: No se puede usar una cadena Public de longitud fija en un módulo de clase.

22

Page 18: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Los códigos para caracteres de tipo String varían desde 0 a 255. Los primeros 128 caracteres

(0–127) del juego de caracteres corresponden a las letras y los símbolos de un teclado estándar

de EE.UU. Estos primeros 128 caracteres son los mismos que los definidos por el juego de

caracteres ASCII. Los siguientes 128 caracteres (128–255) representan caracteres especiales,

como letras de alfabetos internacionales, acentos, símbolos de moneda y fracciones. El

carácter de declaración de tipo para String es el signo de dólar ($).

1.1.5.4.4. Tipos lógicos (Boolean)

Las variables tipo Boolean se almacenan como números de 16 bits (2 bytes), pero sólo pueden

ser True o False. Las variables tipo Boolean se presentan como True o False (cuando se

utiliza Print) o #TRUE# o #FALSE# (cuando se utiliza Write #). Utilice las palabras clave

True y False para asignar uno de los dos estados a las variables tipo Boolean.

Cuando se convierten a tipo Boolean otros tipos numéricos, 0 se convierte en False, y el resto

de los valores se convierten en True. Cuando los valores tipo Boolean se convierten a otros

tipos de datos numéricos, False se convierta en 0 y True se convierte en -1.

1.1.5.4.5. Tipos variados (Variant)

Una variable Variant es capaz de almacenar todos los tipos de datos definidos en el sistema.

No tiene que convertir entre esos tipos de datos si los asigna a una variable Variant; Visual

Basic realiza automáticamente cualquier conversión necesaria.

1.2. Generalidades de análisis y desarrollo de sistema de información

En esta sección se presentan las generalidades del análisis y diseño de sistemas de información

como una base para la realización de un sistema computacional.

1.2.1. Diseño de Sistemas de Información

El Diseño del software es un proceso y un modelado a la vez. Es un conjunto de pasos

repetitivos que permiten al diseñador describir todos los aspectos del sistema a construir. A lo

23

Page 19: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

largo del diseño se evalúa la calidad del desarrollo del proyecto con un conjunto de revisiones

técnicas.

Cuando se planea realizar un programa o sistema (conjunto de programas), los requerimientos

del mismo se trasladan en especificaciones de diseño (Date, 1995). El diseño de sistemas tiene

dos etapas: el diseño lógico y la construcción física del sistema.

En el diseño lógico se escriben las especificaciones detalladas del sistema, describiendo sus

características: salidas, entradas, archivos y bases de datos, procedimientos. El conjunto

formado por todas estas características recibe el nombre de especificaciones de diseño del

sistema.

La construcción física, que es la siguiente actividad después del diseño lógico, produce el

software, los archivos y un sistema que funciona.

Las especificaciones de diseño indican a los programadores lo que el sistema debe hacer. El

diseño del sistema debe:

Incorporar características del sistema que sean fáciles de comprender y utilizar.

Desalentar los errores cometidos por los usuarios o la falta de cuidado por parte de

ellos.

Evitar fallas o procedimientos inapropiados que generen perjuicios o complicaciones

para los usuarios o vayan en detrimento de la organización.

Tener suficiente flexibilidad para adaptarse a las necesidades de cada usuario.

Adaptarse a la creciente familiaridad del usuario con el sistema.

Funcionar, en general, en forma que parezca natural al usuario.

A medida que ocurren las iteraciones del diseño, el refinamiento subsiguiente lleva a

representaciones del diseño a niveles menores de abstracción.

24

Page 20: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

El proceso de diseño debe seguir pautas de calidad para aminorar el costo en mantenimiento

del mismo y en las modificaciones que se tengan que hacer debidas a errores de diseño.

También el diseño sigue una línea evolutiva, la cual se inicia con los requisitos del sistema y

termina en un prototipo o representación funcional del software.

Para evaluar la calidad de una presentación del diseño, se deben establecer criterios técnicos

para un buen diseño como son:

Organización Jerárquica. Un diseño debe presentar una organización jerárquica que

haga un uso inteligente del control entre los componentes del software.

Diseño Modular. El diseño debe ser modular, es decir, se debe hacer una partición

lógica del software en elementos que realicen funciones y subfunciones especificas.

Abstracción de datos y procedimientos. Un diseño debe contener abstracciones de

datos y procedimientos.

Independencia de datos y procedimientos. Debe producir módulos que presenten

características de funcionamiento independiente.

Interfaces eficientes y fáciles de usar. Debe conducir a interfaces que reduzcan la

complejidad de las conexiones entre los módulos y el entorno exterior.

Método de diseño reutilizable según los datos proporcionados. Debe producir un

diseño usando un método que pudiera repetirse según la información obtenida durante

el análisis de requisitos de software.

Los elementos que considera el diseño son (Date, 1995):

Diseño de la entrada.

Diseño de la salida.

Diseño de archivos.

Diseño de controles.

Diseño de procedimientos.

25

Page 21: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.2.1.1. Diseño de la entrada

Para la entrada o captura de datos se consideran los siguientes aspectos:

Qué datos ingresan al sistema.

Qué medios utilizar.

La forma en que se deben disponer o codificar los datos.

El diálogo que servirá de guía a los usuarios para dar entrada a los datos.

Validación necesaria de datos y transacciones para detectar errores.

Métodos para llevar a cabo la validación de las entradas y los pasos a seguir cuando se

presentan errores.

Las decisiones de diseño para el manejo de entradas, especifican la forma en que serán

aceptados los datos para su procesamiento por computadora.

1.2.1.2. Diseño de la salida

La salida se refiere a los resultados e información generados por el sistema, para los cuales se

debe considerar lo siguiente:

Determinar qué información presentar.

Decidir si la información será presentada en forma visual, verbal o impresa y

seleccionar el medio de salida.

Disponer la presentación de la información en un formato aceptable.

Decidir cómo distribuir la salida entre los posibles destinatarios.

1.2.1.3. Diseño de sistemas de archivos

El diseño de archivos incluye decisiones con respecto a la naturaleza y contenido del propio

archivo, como si se fuera a emplear para guardar detalles de las transacciones, datos de tipo

histórico o información de referencia. Entre las decisiones que se toman durante el diseño de

archivos, se encuentran las siguientes:

26

Page 22: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Los datos deben incluirse en el formato de los registros contenidos en el archivo.

La longitud de cada registro, con base en las características de los datos que contiene.

La secuencia a disposición de los registros dentro del archivo (la estructura de

almacenamiento que puede ser secuencial, indexada o relativa).

1.2.1.4. Diseño de procedimientos

Los procedimientos especifican qué tareas deben efectuarse al utilizar en sistema y quiénes

son los responsables de llevarlas a cabo. Entre los procedimientos importantes se encuentran:

Procedimientos para entrada de datos. Métodos para la captura de datos de las

transacciones y su ingreso en el sistema de información.

Procedimientos durante la ejecución. Pasos y acciones emprendidos por los operadores

del sistema y, en ciertos casos, por los usuarios finales que interactúan con el sistema

para alcanzar los resultados deseados.

Procedimientos para el manejo de errores. Acciones a seguir cuando se presentan

resultados inesperados.

Procedimientos de seguridad y respaldo. Acciones para proteger al sistema y sus

recursos contra posibles daños.

1.2.1.5. Diseño de controles

Los analistas de sistemas también deben anticipar los errores que se cometerán al ingresar los

datos en el sistema o al solicitar la ejecución de ciertas funciones.  Algunos errores no tienen

importancia ni consecuencias, pero otros pueden ser tan serios que ocasionarían la eliminación

de datos o el uso inapropiado del sistema.  Un buen diseño de sistema de información ofrecerá

los medios para detectar y manejar el error, los controles proporcionan medios para:

1. Asegurar que sólo los usuarios autorizados tengan acceso al sistema.

2. Garantizar que las transacciones son aceptables.

3. Validar los datos para comprobar su exactitud.

4. Determinar si se han omitido datos que son necesarios.

27

Page 23: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.2.2. Diagramas de estructura de programas

Los diseños bien estructurados facilitan el mantenimiento de un sistema. Un sistema

estructurado es modular y desarrollado en forma descendente, es decir, separado en

componentes manejables. Los módulos deben diseñarse de forma que tengan un mínimo

efecto sobre los demás módulos del sistema. Las conexiones entre módulos son limitadas y la

interacción de datos es mínima. Se pretenden tales objetivos de diseño para que mejore la

calidad del sistema y se faciliten las tareas de mantenimiento. Para lograr esto, se realizan los

diagramas de estructura (Date, 1995).

Un diagrama de estructura es una herramienta de diseño que muestra gráficamente las

relaciones entre los módulos de un programa. Presenta cuáles módulos interactúan dentro de

un sistema y también muestra gráficamente los datos que se comunican entre varios módulos.

Los diagramas de estructura se desarrollan antes de escribir el código del programa. No se

pretende que expresen la lógica del procedimiento, tarea que se deja a los diagramas de flujo o

pseudocódigo (una forma de español estructurado que se usa para describir la lógica del

programa), lo cual se incluye en el manual técnico del sistema. Tampoco delinean la interfase

física real entre las funciones de procesamiento, en vez de eso, indican las transferencias de

datos.

1.2.2.1. Estructura descendente de módulos

Los módulos descendentes se usan en todo el proceso de análisis y diseño. Al utilizar un

enfoque descendente, se inicia en los niveles generales para comprender el sistema y moverse

en forma gradual hacia los niveles de mayor detalle.

En el proceso de moverse de arriba hacia abajo, cada componente se desglosa en más detalles.

Un diagrama de flujo de datos se convierte en varios en el siguiente nivel inferior.

En la figura 1.11 se muestra como el menú principal contiene cuatro opciones. La primera y

tercera opción corresponde a la ejecución de un programa en forma directa. La segunda y

28

Page 24: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

cuarta opción, corresponden a otro menú en el cual se presentan al usuario opciones mas

detalladas.

Estas estructuras proporcionan a los usuarios un método fácil de entender para usar el sistema

y elegir las opciones. No tiene que hacer todas las decisiones al mismo tiempo sino sólo una a

la vez.

El método descendente también se usa ampliamente en la ingeniería de sistemas y diseño de

software. Cada función que el sistema lleva a cabo se identifica primero y después se

desarrolla con mayor detalle.

Los diseñadores de programas llaman a esto “refinamiento por pasos”: los procedimientos y

procesos se desarrollan uno a la vez, desde lo general hasta lo particular.

Figura 1.11. Diagrama modular en el que se aplica el enfoque descendente

1.2.2.2. Herramientas de documentación en el diseño de software

El software modular y bien diseñado tiene mayor probabilidad de cumplir con los

requerimientos de facilidad de mantenimiento, confiabilidad y prueba de delineados

necesarios. Una de las herramientas más poderosas de diseño, es el método gráfico Hierarchy

Input Process Output (HIPO).

29

Page 25: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.2.2.2.1. Método HIPO

HIPO es un método para desarrollar software de sistemas desarrollado por IBM (Date, 1995).

La hipótesis en la que HIPO se basa es que es fácil perder la pista de la función deseada de un

sistema. Desde el punto de vista usuario, una sola función puede a menudo extenderse a varios

módulos, por lo tanto, el interés del analista es extenderse, describir y documentar los módulos

y su interacción de forma que se obtenga el detalle suficiente, pero sin perder de vista el

panorama general.

El método HIPO utiliza descripciones gráficas del sistema, llamadas tablas visuales de

contenidos, que ayudan al analista a cuidar tres puntos importantes: la función de un módulo,

el cómo se lleva a cabo ésta función y cuáles son las entradas y salidas.

1.2.2.2.2. Tabla visual de contenido HIPO

La tabla visual de contenido HIPO (figura 1.12) está formada por un diagrama de jerarquía

que identifica los módulos en un sistema mediante un número y en relación con los otros y da

una descripción breve de cada módulo. Los números en la sección de contenido se relacionan

con los de la sección de organización. Los módulos aparecen en detalle creciente.

1.3. Tecnología de grupos

La importancia de responder a la creciente necesidad de variar frecuentemente los sistemas

productivos para fabricar nuevos productos, como consecuencia de la rápida obsolescencia de

los mismos, ha dado lugar a nuevos conceptos de sistemas de fabricación que permiten

extender a series pequeñas las ventajas de fabricación de las grandes series.

30

Page 26: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Figura 1.12. Tabla visual de contenido HIPO.

En el trabajo por lotes normalmente las máquinas se agrupan por especialidades; las fresadoras

en una sección, los tornos en otra, etc. Esto obliga a mover las piezas de un sitio a otro del

taller. Por otra parte el pequeño tamaño de las series obliga a utilizar máquinas universales, no

muy sofisticadas de forma que no se agraven excesivamente los costos como consecuencia de

la amortización.

Si se clasifican y agrupan las piezas de forma que las características de las distintas piezas de

un grupo sean similares, se podrán agrupar también las máquinas en unidades de producción a

donde se lleven las piezas en bruto y salgan completamente terminadas. Esta técnica se

denomina Tecnología de Grupos (TG), y va acompañada de implicaciones en el proceso de

diseño y de información. Las piezas pueden codificarse de modo que las piezas similares entre

sí tienen códigos similares y el código informa de las características de una pieza. El

ordenador interviene en esta labor de clasificación y codificación. Organizada la producción

de este modo, se puede considerar la unidad de fabricación, desde el punto de vista de control

de planta, como una sola máquina con la consiguiente simplificación y disminución de las

perturbaciones.

La Tecnología de grupos aporta beneficios sustanciales a las compañías si estas tienen la

disciplina y perseverancia para instrumentarla.

31

Page 27: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Los beneficios potenciales son (Groover, 1997: 957):

1. La tecnología de grupos promueve la estandarización en la habilitación de

herramientas, la instalación de soportes y las disposiciones.

2. Se reduce el manejo de material porque las piezas se mueven dentro de una celda de

maquinado y no dentro de toda la fábrica.

3. Son posibles calendarios de producción más sencillos.

4. Se reduce el tiempo de producción.

5. Se reduce el trabajo en proceso.

6. Se simplifica la planeación de los procesos.

7. Por lo general, mejora la satisfacción de los trabajadores cuando laboran en una celda

con tecnología de grupos.

8. Se obtiene un trabajo de mayor calidad usando este recurso.

Existen varios problemas para llevar a cabo la tecnología de grupos (Groover, 1997:957):

El primer problema obvio es el reordenamiento de las máquinas para producir en la

planta en las celdas de maquinado convenientes.

El segundo problema es que se requiere tiempo para planear y realizar este

reordenamiento y las máquinas no están produciendo durante el cambio.

El tercer y mayor problema para iniciar un programa de tecnología de grupos es

identificar las familias de piezas. Esto es, si la planta hace 10,000 piezas distintas, la

revisión de todos los dibujos de piezas y su agrupación en familias es una tarea

enorme que consume una importante cantidad de tiempo.

1.3.1. Algoritmo de cadena de energía (BEA)

El algoritmo de cadena de energía (BEA de las siglas en inglés de Bond Energy Algorithm),

fue desarrollado por McCormick, Schweitzer y White (1972) para identificar y desplegar

grupos de variables naturales o agrupaciones que ocurren en arreglos complejos de datos.

32

Page 28: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Ellos propusieron una medida de efectividad (ME), tal que un arreglo que contenga grupos

densos de elementos numéricamente grandes pueda tener una gran ME, cuando se compare

con el mismo arreglo de filas y columnas el cual ha sido permutado para que sus elementos

numéricamente grandes estén más uniformemente distribuidos a través del arreglo.

A continuación se procede analizar el algoritmo de cadena de energía (BEA), paso a paso:

Paso 1. Seleccione una columna de una pieza arbitrariamente y ajuste i=1.

Este paso trata de colocar cada una de las columnas de piezas restantes (P - i) en cada una de

las posibles posiciones (i+1) (a la derecha e izquierda de las i columnas ya colocadas o en

otras palabras a la derecha de las i columnas ya colocadas y las recorre a la izquierda de

columna en columna, hasta llegar a la izquierda de la primera columna ya colocada) y

posteriormente calcula la contribución de cada columna a la ME mediante la ecuación 1.1:

…………………….……….. (1.1)

Una vez calculada la ME se coloca la columna que da la más grande ME en su mejor posición.

En caso de un empate, se selecciona arbitrariamente cualquier columna. Ya colocada la

columna, se incrementa i en 1 (i + 1) y se repite este procedimiento hasta que i= P. Cuando

todas las columnas hayan sido colocadas, se va al paso 2.

Paso 2. Repita el procedimiento para las filas, calculando la ME con la ecuación 1.2:

…………………….…………….. (1.2)

(Nota: la colocación de la fila es innecesaria si el arreglo de entrada es simétrico, dado que el

ordenamiento final de fila y columna será idéntico).

33

Page 29: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.3.2. Algoritmo de agrupamiento de orden de rango 2 (ROC2)

El método de agrupación por orden de rango 2 (ROC 2) fue desarrollado por King y

Nakornchai (1982) para superar las limitaciones computacionales impuestas por ROC.

Este algoritmo empieza identificando en la columna que está más a la derecha todas las filas

que tienen una entrada “1”, para moverlas a la parte superior de la columna, manteniendo el

orden relativo entre filas. Este procedimiento continúa hasta llegar a la primera columna (la

columna más a la izquierda).

Una vez encontrado un orden de filas con el procedimiento descrito anteriormente, se procede

a ordenar las columnas iniciando con la identificación de la fila que está en la parte inferior,

todas las columnas que tienen un entrada “1”, para moverlas a la izquierda de la fila

manteniendo el orden relativo entre columnas. Este procedimiento continúa hasta llegar a la

primera fila (la fila de hasta arriba).

El uso de palabras binarias se elimina de este procedimiento, pero la idea del ordenamiento de

rango aun permanece con las otras limitaciones. El procedimiento también se lleva a cabo en

un algoritmo interactivo con varias facilidades para reestructurar los datos en la manera

requerida. Así, incluso para matrices muy complicadas, varios ensayos de asignación de

elementos excepcionales y traslado de piezas del mismo tipo pueden ser hechos y los

resultados pueden determinarse rápidamente. Si el resultado no es el esperado un retorno a la

fase anterior puede llevarse a cabo rápidamente y conducir otro ensayo.

A continuación se procede analizar el algoritmo de agrupamiento de orden de rango 2

(ROC2), paso a paso:

Paso 1. Arregle las filas desde p = P (la última columna) a la columna P = 1 y en cada caso:

Localizar las filas con una entrada de 1.

Mover las filas con entradas de 1 a la cabeza de la lista de filas.

Mantener el orden anterior de las entradas de las filas ya ordenadas.

34

Page 30: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Paso 2. Arregle las columnas desde m = M (la última fila) a la fila M = 1 y en cada caso:

Localizar las columnas con una entrada de 1.

Mover las columnas con entradas de 1 a la cabeza de la lista de columnas.

Mantener el orden anterior de entradas de las columnas ya ordenadas.

Paso 3. Repetir los pasos 1 y 2 hasta que no ocurra ningún cambio en las filas o columnas.

1.3.3. Algoritmo de agrupación directa (DCA)

Chan y Milner (1982) propusieron el método de algoritmo de agrupación directa (DCA), el

cual mueve las filas, con las celdas más positivas de la izquierda (por ejemplos 1s), a la parte

superior, y las columnas, más positivas de la parte superior, a la izquierda de la matriz.

Wemmerlov (1984) proporcionó una corrección al algoritmo original para alcanzar resultados

consistentes.

A continuación se procede analizar el algoritmo de agrupación directa (DCA), paso a paso:

Paso 1. Contar los números 1s en cada columna y fila, posteriormente hacer lo siguiente:

Arreglar todas las columnas en orden decreciente colocándolas en una secuencia que

inicia con las columnas de mayor número de 1s que se encuentran más a la derecha.

En caso de empate en número de 1s, la columna que está más a la derecha ira al inicio

de la secuencia.

Arreglar todas las filas en orden creciente colocándolas en una secuencia que inicia

con las filas de menor número de 1s que encuentra más abajo. En caso de empate en

número 1s, la fila que está más abajo ira al inicio de la secuencia.

Nota: esta reestructuración de la matriz inicial ha sido propuesta1 para asegurar que la

solución final siempre sea la misma.

1 Ángeles Fernández Carlos Alfonso (2007). Comparación de medidas de rendimiento de métodos evaluativos BEA, ROC 2 Y DCA (Tesis de Licenciatura en Ingeniería Industrial, Instituto Tecnológico de Orizaba).

35

Page 31: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Paso 2. Ordenar filas observando los 1s de las columnas, iniciando con la primera columna de

la matriz, y a continuación:

Mueva todas las filas con 1s a la parte superior para formar un bloque.

Si en las columnas subsecuentes a considerar, las filas con 1s ya están en el bloque, no

haga nada.

Si hay filas con 1s que no están en el bloque, permita que estas filas formen un bloque

y mueva este bloque a la parte baja del bloque previo.

Nota: Una vez asignada una fila a un bloque, esta no podrá moverse; de este modo, puede no

ser necesario pasar por todas las columnas.

Paso 3. Si la matriz anterior y la matriz actual son las mismas, pare, en caso contrario vaya al

paso 4

Paso 4. Ordenar las columnas observando los 1s de las filas, iniciando con la primera fila de

la matriz y jalar todas las columnas a la izquierda (similar al paso 2), hecho esto:

Mueva todas las columnas con 1s a la izquierda para formar un bloque.

Si en las filas subsecuentes a considerar, las columnas con 1s ya están en el bloque, no

haga nada.

Si hay columnas con 1s que no están en el bloque, permita que estas formen un bloque

y mueva este bloque a la derecha del bloque previo.

Nota: Una vez asignada una columna a un bloque está no debe ser movida. Puede no ser

necesario pasar por todas las filas.

Paso 5. Si la matriz anterior y la matriz actual son las mismas pare, en caso contrario vaya al

paso 2.

36

Page 32: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

1.3.4. Medidas de rendimiento

Las medidas de rendimiento siguientes sirven para comparar la calidad de soluciones

obtenidas de algoritmos diferentes por una escala absoluta.

Agrupación de de eficiencia.

Agrupación de de eficacia.

Agrupación de medidas g.

Agrupación de medidas c.

Medida de cadena de energía .

Dentro de estas medidas de rendimiento las primeras tres medidas requieren la identificación

de familias de piezas y trabajan a máquina grupos, mientras otras dos medidas sólo requieren

la matriz reorganizada.

En este caso se estudia la medida de rendimiento de eficiencia para los métodos BEA, ROC

2 y DCA.

Agrupación de de eficiencia.

La medida de agrupación de de eficiencia fue propuesta por Chandrasekaran y Rajagopalan

(1986). Esta fue una de las primeras medidas para evaluar el resultado final obtenido por

diferentes algoritmos. "La bondad" de la solución depende de la utilización de las máquinas

dentro de una célula y del movimiento intercelular. La agrupación de la eficiencia de la

ecuación 1.7 fue propuesta como un promedio ponderado de dos eficiencias y .

Para utilizar la medida de rendimiento (ecuación 1.7), es necesario determinar los

parámetros básicos (tabla 1.4), estos son: el parámetro , el parámetro , el parámetro y el

parámetro , los cuales se calculan con las ecuaciones 1.3, 1.4, 1.5 y 1.6 respectivamente.

37

Page 33: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

Tabla 1.4 Parámetros de la medida de rendimiento .

Parámetro Descripción

o Número de 1s en la matriz .

d Número de 1s en el bloque diagonal.

v Número de vacíos en los bloques diagonales.

e Número de elementos excepcionales en la solución.

Proporción de los 1s en los bloques diagonales al número total de elementos en los bloques (tanto 0s como 1s).

Proporción del número de elementos en los bloques no diagonales (tanto 0s como 1s).

M Número de máquinas.

P Número de piezas.

El efecto de movimiento intercelular.

................................................................................. 1.3

...................................................................... 1.4

..........................................................................1.5

............................................................................. 1.6

....................................................................... 1.7

Donde:

es definido como el efecto de movimiento intercelular, del cual se recomienda un

valor de 0.5. Este factor de peso permite al diseñador cambiar el énfasis entre

utilización y movimiento intercelular.

38

Page 34: Capítulo 1. MARCO TEÓRICO

Capítulo 1. Marco Teórico

es definido como la proporción del número de 1s en los bloques diagonales al

número total de elementos en los bloques (tanto 0s como 1s).

es la proporción del número de elementos en los bloques no diagonales (tanto 0s

como 1s).

Para calcular la y se utilizan la ecuaciones 1.8 y 1.9 respectivamente.

................................................................... 1.8

.................................................................... 1.9

Sustituyendo la ecuación 1.8 y 1.9 en la ecuación 1.7 se obtiene la formula general para

calcular la eficiencia (1.10).

...........................................1.10

Limitaciones de .

Si la = 0.5, el efecto de movimiento intercelular (elementos excepcionales) nunca es

reflejada en los valores de eficiencia para matrices grandes y escasas.

La gama de valores para la eficiencia, que se agrupa normalmente, varía del 75 a 100

%. Así, hasta una solución muy mala con el número grande de elementos

excepcionales dará valores de alrededor del 75 %, considerando una definición poco

realista de punto cero.

39