You are on page 1of 120

Ingeniera de Software: Una Gua para Crear Sistemas de Informacin Alejandro Pea Ayala

INSTITUTO POLITCNICO NACIONAL

Alejandro Pea Ayala

Curs la licenciatura en Informtica en la UPIICSA del IPN. Posteriormente obtuvo el Diplomado en Java y Aplicaciones Web en el ITAM, la Especialidad y la Maestra en Inteligencia Artificial en la Fundacin Arturo Rosenblueth. Actualmente es candidato al grado de Doctor en Ciencias de la Computacin por el Centro de Investigacin en Computacin del IPN, contando para ello del respaldo del CONACYT y del IPN a travs de una beca. Entre sus distinciones acadmicas estn: El haberse titulado por la opcin de escolaridad en 1981, conforme al reglamento del IPN. El reconocimiento hecho por el CONCACYT y el Diario de Mxico en el evento: Los mejores estudiantes de Mxico generacin 1981, como el mejor estudiante en la Licenciatura en Informtica del IPN. Adems de haber obtenido el grado de de Maestra en Inteligencia Artificial con mencin honorfica. A la par de su desarrollo acadmico, Alejandro Pea ha ejercido la carrera magisterial, profesional, de investigacin y ministerial. En 1981 ingres a la planta docente de la UPIICSA, donde actualmente es profesor titular C e investigador. Durante el lapso 1989-1994 ofreci ctedra en la Maestra en Sistemas Computacionales del ITESM-CEM. Adems de haber hecho lo propio en las Maestras en Sistemas de Informacin y Ciencias de la Computacin en la Fundacin Arturo Rosenblueth. En el mbito profesional de la Informtica, desde 1978 se ha desenvuelto en los sectores privado, pblico, bancario y empresarial, desempeando cargos como: Programador, analista y lder de proyecto en la entonces Secretara de Comercio. Jefe de Soporte Tcnico en el (desaparecido) Instituto Mexicano de Comercio Exterior. Subdirector de Sistemas en la Secretara de Salud. Subgerente de Proyectos Especiales en el Banco Nacional de Comercio Exterior. Coordinador de Sistemas en Banamex. Fue fundador y Director General de la empresa Neuralware, dedicada a las Tecnologas de la Informacin. Como resultado de sus estudios doctorales orientados al mbito de la Educacin basada en Web, ha publicado: varios Reportes Tcnicos, y presentado diversos trabajos en congresos nacionales e internacionales celebrados en ciudades de cuatro continentes, como por ejemplo: Washington-USA., Vancouver Canda, Melbourne Australia, Bensaon Francia, Grindelwald Suiza, y Bali Indonesia. Las memorias de sus artculos han sido editadas por organizaciones como IEEE y Springer. As mismo es autor de una coleccin de libros relacionados con la Informtica y la Inteligencia Artificial. Actualmente, Alejandro Pea es Apstol y Director General del World Outreach Light to the Nations Ministries (WOLNM), cuya visin es la formacin de discpulos, mediante el uso de las Tecnologas de la Informacin y del Conocimiento, a nivel mundial dedicados a predicar el Evangelio. Por sus ocupaciones acadmicas, profesionales y ministeriales, Alejandro Pea ha tenido la oportunidad de visitar diversos pases y regiones del mundo, amn de haber arribado a sitios extremos del planeta como: La Antrtida, el ocano glaciar rtico, y el centro del desierto de Australia. Tambin ha explorado islas exticas como Hawai, Tahit, y Rarotonga; y otras remotas como Spitsbergen y Baffin. A raz de tales experiencias, Alejandro Pea ofrece el testimonio de las maravillas naturales que Dios ha hecho en el mundo para deleite del ser humano, y en particular de sus hijos que son salvos a travs de Jesucristo y llenos de su Espritu Santo, quien les anima a clamar: Abba, Padre!

Ingeniera de Software: Una Gua para Crear Sistemas de Informacin

Ingeniera de Software: Una Gua para Crear Sistemas de Informacin

Alejandro Pea Ayala

INSTITUTO POLITCNICO NACIONAL

- Mxico -

PRIMERA EDICIN 2006.

D.R. 2006, Alejandro Pea Ayala INSTITUTO POLITCNICO NACIONAL Direccin de Publicaciones Revillagigedo 83, Centro Histrico, 06070, Mxico, D.F. ISBN: ISBN: 970-94797-0-9 Impreso en: Mxico / Printed in Mxico

El autor reconoce que esta obra ha sido inspirada de manera especial por su Padre, Hermano Jess y Consolador como parte de los proyectos de investigacin de World Outreach Light to the Nations Ministries (WOLNM). As mismo, el trabajo es el resultado de su experiencia profesional, como investigador y docente en la Unidad Profesional Interdisciplinaria de Ingeniera y Ciencias Sociales y Administrativas (UPIICSA) del Instituto Politcnico Nacional (IPN) y fruto del desarrollo de su tesis doctoral en el Centro de Investigacin en Computacin del Instituto Politcnico Nacional.

PRLOGO

El auge de la informtica en el mundo contemporneo ha sido vertiginoso, cada vez ha penetrado ms en las costumbres sociales y econmicas del individuo, resultando comn que muchas Empresas y Organizaciones cuenten entre sus recursos con un computador, existiendo una gran inquietud en facilitar las tareas rutinarias y complejas en el tratamiento de informacin, a travs de su sistematizacin va cmputo. Para poder lograr el objetivo anterior, es necesario que el personal que desea hacer uso de estos medios, posea el conjunto de conocimientos necesarios que le permitan definir con precisin sus requerimientos de informacin y establecer una alternativa adecuada en su solucin. Por tal motivo, se presenta a continuacin una serie de conceptos, procedimientos y tcnicas que brindan una metodologa que permite al usuario, desarrollar conceptualmente un sistema de informacin, llegando al extremo de habilitarlo para que pueda establecer el modelo de sistema que desea se programe (por el personal tcnico) para implantarse en una computadora.

TABLA DE CONTENIDO
INTRODUCCIN ......................................................................................................................... 3 1. SISTEMAS DE INFORMACIN ........................................................................................... 7 1.1 DEFINICIN DE SISTEMAS DE INFORMACIN..................................................... 7 1.2 ELEMENTOS DE LOS SISTEMAS DE INFORMACIN ............................................... 7 1.3 EJEMPLOS DE SISTEMAS DE INFORMACIN ........................................................... 7 1.4 CLASIFICACIONES DE LOS SISTEMAS DE INFORMACIN ................................ 8 2. CICLO DE DESARROLLO .................................................................................................. 11 2.1 2.2 DESCRIPCIN ............................................................................................................. 11 ETAPAS DE DESARROLLO....................................................................................... 11

3. ANALISIS ................................................................................................................................ 15 3.1 OBJETIVO .......................................................................................................................... 15 3.2 ACTIVIDADES .................................................................................................................. 15 3.2.1 Planeacin .................................................................................................................... 15 3.2.2 Determinacin de Requerimientos ............................................................................... 15 3.2.3 Definicin de la Alternativa de Solucin................................................................... 16 3.2.4 Descripcin del Sistema Propuesto....................................................................... 16 3.2.5 Control.......................................................................................................................... 18 3.3 TECNICAS.......................................................................................................................... 18 3.3.1 De Recoleccin de Informacin ................................................................................... 18 3.3.2 Tcnicas para la Descripcin de Flujos....................................................................... 22 3.3.3 Caso de Estudio. CBM ................................................................................................. 24 3.3.4 Tcnicas para la Descripcin de Procesos .................................................................. 28 3.3.5 Tcnicas para el Anlisis de Datos .............................................................................. 34 3.3.6 Probar Lgicamente la Estructura Lgica de Salida................................................... 43 4. DISEO.................................................................................................................................... 49 4.1 OBJETIVO .......................................................................................................................... 49 4.2 ACTIVIDADES .................................................................................................................. 49 4.3 TCNICAS.......................................................................................................................... 51 4.3.1 Para el diseo de salidas.............................................................................................. 51 4.3.2 Para la elaboracin de modelos de datos. ................................................................... 53 4.3.3 Para el diseo de Entradas. ......................................................................................... 57 4.3.3 Para el Diseo de Procedimientos. .............................................................................. 60 5. PROGRAMACIN................................................................................................................. 73 5.1 OBJETIVO .......................................................................................................................... 73 5.2 ACTIVIDADES .................................................................................................................. 73 6. IMPLANTACIN Y PRODUCCIN................................................................................... 89 6.1 OBJETIVO .......................................................................................................................... 89 6.2 ACTIVIDADES .................................................................................................................. 89

6.3 TCNICAS.......................................................................................................................... 90 6.4 OPERACIN ...................................................................................................................... 91 6.5 RECOMENDACIONES EN LA OPERACIN.................................................................. 91 6.6 MANTENIMIENTO ........................................................................................................... 92 6.7 RECOMENDACIONES EN EL MANTENIMIENTO ....................................................... 92 CONCLUSION ............................................................................................................................ 95 REFERENCIAS .......................................................................................................................... 99

TABLA DE FIGURAS
Figura 1. Proceso de Desarrollo de Sistemas de Informacin....................................................... 12 Figura 2. Caja Negra...................................................................................................................... 22 Figura 3. Caja Blanca .................................................................................................................... 22 Figura 4. Descomposicin del Sistema ......................................................................................... 23 Figura 5. Smbolos del Diagrama de Flujo.................................................................................... 24 Figura 6. Ejemplo de Proceso........................................................................................................ 24 Figura 7. Diagrama de Flujo de Datos, Nivel 1............................................................................. 25 Figura 8. Diagrama de Flujo de Datos, Nivel 2............................................................................. 26 Figura 9. Diagrama de Flujo de Datos, Nivel 3............................................................................. 26 Figura 10. Diagrama de Flujo de Datos, Nivel 4........................................................................... 27 Figura 11. rboles de Decisin. .................................................................................................... 30 Figura 12. Diagrama de Datos....................................................................................................... 34 Figura 13.Representacin de la Estructura Lgica de Salida. ....................................................... 36 Figura 14. Estructura Lgica de Salida. ........................................................................................ 36 Figura 15. Estructura Lgica de Salida con ms de una Etiqueta. ................................................ 37 Figura 16. Construcciones Secuenciales y Repetitivas. ................................................................ 37 Figura 17. Diagrama de Secuencias. ............................................................................................. 38 Figura 18. Reporte de Produccin. ................................................................................................ 38 Figura 19. Esquema de Salida. ...................................................................................................... 39 Figura 20. Estructura Lgica. ........................................................................................................ 39 Figura 21. Estructura Lgica de Salida. ........................................................................................ 40 Figura 22. Reporte Tpico.............................................................................................................. 40 Figura 23. Diagrama de Estructura Lgica de Salida.................................................................... 41 Figura 24. Movimientos Debe Haber. ........................................................................................ 41 Figura 25. Esquema del Control de Proyectos. ............................................................................. 42 Figura 26. Diagrama del Control de Proyectos. ............................................................................ 43 Figura 27. Diagrama de Procedimiento de una Estructura Lgica de Salida. ............................... 44 Figura 28. Arquitectura de un Sistema de Inventarios. ................................................................. 50 Figura 29. Hoja de Sistema de Inventarios.................................................................................... 52 Figura 30. Base de Datos Lgica................................................................................................... 53 Figura 31. Ordenacin de una Base de Datos Lgica (1era forma normal. .................................. 54 Figura 32. Ordenacin de una Base de Datos Lgica (2da forma normal). .................................. 55 Figura 33. Ordenacin de una Base de Datos Lgica (3ra forma normal).................................... 56 Figura 34. Documento Fuente. ...................................................................................................... 59 Figura 35. Estructura Modular para un Sistema de Nmina. ........................................................ 61 Figura 36. Estructura Modular de un procedimiento de Validacin. ............................................ 64 Figura 37. Estructura modular. ...................................................................................................... 66 Figura 38. Descripcin entrada-proceso-salida 1. ......................................................................... 67 Figura 39. Descripcin entrada-proceso-salida 2. ......................................................................... 67 Figura 40. Descripcin entrada-proceso-salida 3. ......................................................................... 68 Figura 41. Descripcin entrada-proceso-salida 4. ......................................................................... 68 Figura 42. Descripcin entrada-proceso-salida 5. ......................................................................... 69 Figura 43. Descripcin entrada-proceso-salida 6. ......................................................................... 69 Figura 44. Diagramas de una Programacin Estructurada. ........................................................... 75

Figura 45. Simbologa utilizada. ................................................................................................... 76 Figura 46.a Diagrama Estructurado............................................................................................... 78 Figura 46.b Diagrama Estructurado. ............................................................................................. 79 Figura 47. Estructura Lgica de Datos. ......................................................................................... 83 Figura 48. Estructura Lgica de Proceso....................................................................................... 84 Figura 49. Estructura Lgica de Salida. ........................................................................................ 84 Figura 50. Diagrama de Warnier en Forma Clsica. .................................................................... 84 Figura 51. Reporte Jerarquizado................................................................................................... 86

LISTA DE TABLAS
Tabla 1. Instancias de Valores....................................................................................................... 17 Tabla 2. Matriz Sistemas / Clases de datos ................................................................................... 21 Tabla 3. Entradas - Salidas ............................................................................................................ 22 Tabla 4. Termino Significado..................................................................................................... 29 Tabla 5. Tabla de Decisin ............................................................................................................ 31 Tabla 6. Tabla de Decisin Particionada ....................................................................................... 31 Tabla 7. Tabla de Decisin, Seccin Superior Derecha ................................................................ 32 Tabla 8.Tabla de Decisin, Seccin Inferior Derecha................................................................... 33 Tabla 9. Tabla de Decisin Final................................................................................................... 33 Tabla 10. Diccionario de Datos del Sistema de Personal .............................................................. 35 Tabla 11. Procedimiento de una Estructura Lgica de Salida....................................................... 44 Tabla 12. Paso 2. ........................................................................................................................... 45 Tabla 13. Paso 3. ........................................................................................................................... 45 Tabla 13. Paso 4. ........................................................................................................................... 45 Tabla 14 . Descripcin de Archivos. ............................................................................................. 57

INTRODUCCIN

INTRODUCCIN
La Ingeniera de Sistemas representa la principal herramienta de trabajo de los desarrolladores de sistemas de informacin. Est representa por una metodologa compuesta por un conjunto de etapas que se realizan secuencialmente para dar vida a una aplicacin en forma evolutiva. Cada etapa se integra por un conjunto de acciones encaminadas para obtener productos especficos, como: especificaciones, diagramas, formatos, cdigo, pruebas y documentos diversos. A efecto de brindar una gua al profesional del campo de la Informtica y los sistemas de cmputo, en esta obra se presenta en el primer captulo un perfil de los sistemas de informacin. En el segundo captulo se describe el ciclo de desarrollo de la Ingeniera de Software. A partir del tercer captulo al sexto se reservan para explicar las etapas de: Anlisis, Diseo, Programacin, Implementacin y Produccin. El documento, finaliza con la exposicin de una serie de conclusiones relacionadas con el uso de la metodologa presentada.

CAPTULO 1. SISTEMAS DE INFORMACIN

1. SISTEMAS DE INFORMACIN
1.1 DEFINICIN DE SISTEMAS DE INFORMACIN
Un sistema de informacin (SI) es un conjunto de elementos interrelacionados con el propsito de prestar atencin a las demandas de informacin de una organizacin, para elevar el nivel de conocimientos que permitan un mejor apoyo a la toma de decisiones y desarrollo de acciones.

1.2

ELEMENTOS DE LOS SISTEMAS DE INFORMACIN

Los componentes ms importantes de un sistema de informacin son los siguientes: Financieros. Es el aspecto econmico que permite la adquisicin, contratacin y mantenimiento de los dems recursos que integran un sistema de informacin. Administrativos. Es la estructura orgnica de objetivos, lineamientos, funciones, procedimientos, departamentalizacin, direccin y control de las actividades; que sustenta la creacin y uso de los sistemas. Humanos. Est compuesto por dos grupos: El tcnico, que posee los conocimientos especializados en el desarrollo de sistemas, siendo estos los: Administradores, Lderes de Proyecto, Analistas, Programadores, Operadores y Capturistas. El usuario, representado por las personas interesadas en el manejo de informacin va cmputo, como apoyo al mejor desempeo de sus actividades, siendo estos los: Funcionarios, Contadores, Ingenieros, Empleados, Pblico, etc. Materiales. Son aquellos elementos fsicos que soportan el funcionamiento de un sistema de informacin, por ejemplo: local de trabajo, instalaciones elctricas y de aire acondicionado, medios de comunicacin, mobiliario, maquinaria, papelera, etc. Tecnolgicos. Es el conjunto de conocimientos, experiencias, metodologas y tcnicas; que orientan la creacin, operacin y mantenimiento de un sistema.

1.3

EJEMPLOS DE SISTEMAS DE INFORMACIN

Existe gran cantidad y variedad de sistemas de informacin orientados a diversos campos de la actividad humana, algunas de sus aplicaciones son las siguientes: Cientficas: control de vuelos espaciales, estudios sobre energa nuclear, etc. Militares: control y operacin de armas, sistemas de defensa, etc. De Ingeniera: diseo industrial de autos y maquinaria; control de procesos de produccin y siderrgicos, etc. Comunicaciones y Transportes: diseo de carreteras, control de trfico areo y terrestre, transmisin remota de datos, etc. Administrativas: nmina, inventarios, almacenes, contabilidad, presupuesto, ventas, etc. En la educacin. Apoyo en la enseanza, referencias bibliogrficas, etc. Mdicas: diagnstico, teraputicas, aparatos binicos, etc. Artsticas: msica, poesa, pintura, etc.

Ingeniera de Software

1.4

CLASIFICACIONES DE LOS SISTEMAS DE INFORMACIN

De acuerdo a determinado enfoque los sistemas de informacin se pueden agrupar en una cierta clasificacin, que brinda una idea esencial de su estructura y funcionamiento. A continuacin se mencionan tres enfoques: De acuerdo al elemento principal de proceso de la informacin. Manuales: cuando el hombre auxiliado por cierto equipo (mquinas de escribir, sumadoras, archivos, etc.) realiza las principales funciones de recopilacin, registro, almacenamiento, clculo y generacin de informacin. Mecanizadas: cuando cierta maquinaria realiza las principales funciones de procesamiento. Para los sistemas mecanizados que hacen uso de un computador, de acuerdo al tipo de interaccin Hombre-Mquina. Batch: el usuario proporciona los datos necesarios para la ejecucin de un proceso y espera a que el computador termine la tarea para recibir los resultados. En Lnea: existe un dilogo directo entre el usuario y el computador durante la ejecucin de un proceso. En cuanto a la organizacin fsica de los principales recursos de procesamiento de datos. Procesos centralizados: los recursos se encuentran ubicados en un rea fsica determinada, por lo que su acceso se realiza en las misma instalacin o desde lugares retirados, mediante lneas de comunicacin de datos (telefnicas, microondas, satlite, etc.). Proceso distribuido: los recursos se encuentran diseminados en diversos lugares de una zona territorial (ciudad, pas, continente, etc.), por lo que el procesamiento se realiza en el propio lugar donde se originan los datos, existiendo la posibilidad de compartir informacin entre las diversas instalaciones, mediante la informacin de una Red de Comunicacin. Los sistemas manuales son adecuados en procesos sencillos, que manejan pequeos volmenes de datos, sin realizar clculos complejos y que mantener actualizada la informacin no es problemtico. En cambio, los mecanizados tienden a sistematizar aquellas actividades complejas, que requieren manipular altos volmenes de datos en tiempos cortos de respuesta. El tipo Batch de sistemas es adecuado en tareas que manejan grandes volmenes de datos y que no requieren que el operador tome decisiones durante el proceso, por ejemplo: la nmina, la expedicin de estadsticas censales, etc. Mientras que los sistemas en Lnea son adecuados para el manejo de pequeos volmenes de datos que requieren tiempos de respuesta cortos, por ejemplo: sistemas bancarios, de reservacin, de consulta, etc. Cuando la organizacin es pequea o tiene grandes necesidades de procesar altos volmenes de informacin en tiempos cortos de respuesta, es conveniente integrar los recursos en forma centralizada. Por el contrario, si la empresa es grande y tiene altos requerimientos de proceso, es deseable hacer uso del concepto distribuido.

CAPTULO 2. CICLO DE DESARROLLO

2. CICLO DE DESARROLLO
2.1 DESCRIPCIN
La construccin de un sistema de informacin implica la conjugacin de esfuerzos, conocimientos, experiencias, recursos y tiempo muy valiosos; por lo que es necesario contar con un adecuado rumbo de accin que garantice el xito del proyecto, empleado al mximo los elementos disponibles. Por esta razn es conveniente apoyarse en una metodologa que establezca las etapas con objetivos, actividades y tcnicas necesarias en la creacin de un sistema. La ejecucin de las etapas lleva normalmente un orden cronolgico, en donde los resultados producidos por una, alimentan las funciones de la siguiente y as sucesivamente. Adems se aplican los conceptos del proceso administrativo, que regula las acciones de cada etapa y por lo tanto, de todo el proyecto. Por ello es necesario planear y controlar la realizacin de las actividades. Para ilustrar lo anterior, se presenta una figura en donde aparecen las etapas que componen el ciclo de desarrollo de los sistemas, sus interrelaciones y el papel del proceso administrativo.

2.2

ETAPAS DE DESARROLLO

El papel que juega cada una de las etapas que conforman el ciclo de desarrollo de los sistemas de informacin es el siguiente: Anlisis: define los requerimientos de informacin y la forma ms adecuada de atenderlos. Diseo: describe la estructura, funciones e interrelaciones de los componentes del sistema. Programacin: elabora los elementos del sistema (programas, archivos, reportes, etc.). Implantacin: prueba e instala el sistema construido. Operacin: hace uso del sistema. Mantenimiento: modifica el sistema en funcin a los nuevos requerimientos que se van presentando. Asimismo, en cuanto a la participacin del proceso administrativo se refieren: Planeacin: se establecen los objetivos, estrategias, programas de accin y determinacin de recursos. Control: se evalan los resultados conforme a las metas esperadas, se realizan las correcciones necesarias influenciando la ejecucin de la siguiente capa.

Normalmente el requerimiento para construir un sistema de informacin nace a peticin del rea Administrativa que tiene problemas en el manejo de informacin o desea aplicar nuevos mecanismos. Por lo que el rea Tcnica es enterada en espera de resolver la inquietud planteada, dando inicio al ciclo de desarrollo de sistemas tal como se aprecia en la Figura 1.

12

Ingeniera de Software

Requerimiento de Informacin

Planeacin Anlisis Control

Planeacin Diseo Control

Planeacin Programacin Control

Planeacin Implantacin Control

Planeacin Operacin y Mantenimiento Control

Resultado

Resultado

Resultado

Resultado

Resultado

Aplicacin de la Informacin

Figura 1. Proceso de Desarrollo de Sistemas de Informacin.

CAPTULO 3. ANALISIS

3. ANALISIS
3.1 OBJETIVO
El objetivo que persigue el anlisis de sistemas, es el de identificar con precisin las necesidades de informacin de una organizacin y de establecer la alternativa de solucin ms conveniente para satisfacerla.

3.2 ACTIVIDADES
Las acciones a realizar durante el anlisis de sistemas estn agrupadas en fases de la siguiente manera: 3.2.1 Planeacin La planeacin se compone de las siguientes actividades: Definicin de objetivos. Se establecen las metas y plazos esperados por alcanzar durante la etapa. Formulacin de estrategias. Se definen los principales caminos de accin a seguir. Determinacin de recursos. Se identifican los recursos humanos, materiales y econmicos a participar. Establecimiento del plan de trabajo. En base al compromiso, importancia, tiempo y recursos disponibles, se formula el calendario de trabajo. 3.2.2 Determinacin de Requerimientos La determinacin de requerimientos se realiza mediante las tareas siguientes: Definicin del caso de estudio. Se identifica el tema central que motiva el inicio del estudio, pudiendo ser la creacin de un nuevo sistema la modificacin a uno ya existente. Estudio de la organizacin. Se determina con precisin las reas usuarias participantes, su estructura orgnica, funciones, interrelaciones y compromisos con otras. Anlisis de procedimientos. Se estudian todos los procedimientos relacionados con el problema planteado, identificando para cada uno de ellos: los objetivos que persiguen, las actividades que realizan, secuencia y periodicidad, responsables, niveles de agregacin, sus relaciones con otros puntos de control y situaciones especiales que imperan. Anlisis de informacin. Se identificaran los flujos de informacin, documentos y reportes, operaciones (de registro, validacin, almacenamiento, clasificacin, clculo y presentacin), volmenes y perodos; que se desprenden de la ejecucin de los procedimientos estudiados. Identificacin de recursos. Se hace un reconocimiento de los recursos humanos y materiales participantes en el desarrollo de las actividades. Determinacin de puntos crticos. Consiste en identificar claramente aquellos aspectos que entorpecen y limitan el buen funcionamiento de los procedimientos actuales, los problemas ms comunes y relevantes que se presentan, los motivos que crean insatisfaccin y aquellos que deben ser cubiertos a plenitud. Por ejemplo: El contenido de los reportes generados, satisface realmente las necesidades del usuario? Los tiempos de respuesta ofrecidos, son oportunos?, etc.

16

Ingeniera de Software

Establecimiento del problema a resolver. Una vez realizadas las actividades anteriores se est en condicin de precisar el problema, su naturaleza, grado de complejidad e implicaciones que tiene (organizaciones, econmicas, etc.). 3.2.3 Definicin de la Alternativa de Solucin La definicin de la alternativa de solucin implica las siguientes consideraciones: Tipos de alternativas. La solucin del problema a resolver pudiera consistir de pequeas o sustanciales modificaciones al sistema actual, el desarrollo de uno nuevo, el aprovechamiento de novedosas tecnologas y equipos que sustituyan o refuercen a los mecanismos existentes. Su propuesta estar en funcin a la naturaleza del requerimiento y a los recursos disponibles. Definicin de la alternativa. Cada propuesta deber estar debidamente fundamentada, describiendo las aportaciones o cambios estructurales de organizacin, procedimientos, manejo de informacin, recursos necesarios, costos, tiempo de implementacin repercusiones, ventajas y desventajas que implicara llevarla a cabo. Establecimiento de criterios de decisin. En base a las prioridades y recursos disponibles, se determinan los principales aspectos a satisfacer por las propuestas. Por ejemplo: economa del proyecto, plazo de terminacin, etc. Comparacin de alternativas. Se establece el grado de satisfaccin que cada opcin brinda a los criterios de decisin, de tal manera que se distinga la ms ventajosa. Eleccin. Una vez evaluadas las diversas alternativas se escoge aquella que ofrece las mayores ventajas y cuya realizacin es factible en los trminos de costo y tiempo esperados. 3.2.4 Descripcin del Sistema Propuesto Al describir el sistema que se propone como solucin se debe tomar en cuenta: Perfil general del sistema. Se confirma el objetivo que persigue la propuesta, la naturaleza de esta y el programa para llevarla a cabo. Modelo organizacional. Se establece el esquema orgnico de reas participantes, funciones e interrelaciones. Estructura general de informacin. Se crea un esquema global de los principales flujos de informacin que componen el sistema, identificando sus objetivos, interrelacinales, participantes y periodicidades. Por ejemplo en un sistema de nmina, apareceran los siguientes flujos: Actualizacin de la plantilla de personal. Registro de movimientos: incidencias, prstamos, etc. Actualizacin de los aspectos contractuales de ingresos y egresos de los empleados. Clculo de la nmina. Distribucin del pago.

Anlisis

17

Descripcin de los flujos de informacin. Por cada flujo se establecen sus actividades, secuencia y responsable de su ejecucin, tambin se determinan las salidas, entradas (documentos, reportes, pantallas, etc.) y procesos de manipulacin de datos que emplean (registros, validacin, acceso, almacenamiento, actualizacin, clasificacin, seleccin, decisin, etc.). Definicin de productos de informacin (salidas). Una vez identificadas las reas y personas a quienes va dirigida la informacin, se determina la clase y contenido de los productos que recibir, especificando su objetivo, periodicidad, tiempo de respuesta, nivel de agregacin, los datos y totales que aparecern, su forma de presentacin (natural, editada, analgica: grficas, smbolos especiales, etc.) y los medios que usar (pantalla, papel, magntico, etc.). Anlisis de datos. Se identifican todos los datos que se van a utilizar describiendo sus caractersticas: significado, fuente, tipo, longitud, rango de valores, cdigo de equivalencia, nivel de actualizacin, etc. Por ejemplo a continuacin se presentan ejemplos de datos y la Tabla 1 con instancias de valores. Dato. Entidad Federativa (donde vive el empleado). Significado. Precisa el Estado donde tiene si domicilio el empleado. Fuente. Solicitud de empleo. Tipo. Alfabtico. Longitud. 30 caracteres. Rango de Valores. Ver Tabla 1. Cdigo de equivalencia. Ver Tabla 1. Nivel de Actualizacin. Extraordinario, cuando cambie de domicilio el empleado notificar.

Tabla 1. Instancias de Valores. Cdigo 01 02 32 Valor Aguascalientes Baja California Zacatecas

Definicin de insumos (entrada de datos). Todos aquellos datos que no se obtienen como resultado de clculos, selecciones u otro tipo de operaciones, debern ser alimentados al sistema, por lo que se establece cuales son esas fuentes (reas, personas, documentos, etc.), la periodicidad y volumen en que se generan, su forma de presentacin (papel, pantalla, magntico, etc.) y contenido (datos, cdigo, cifras de control, etc.). Establecimiento de controles. Se establecen las medidas de revisin y correccin del contenido y calidad de los datos y documentos manejados; tambin se definen los niveles de confidencialidad en el acceso de la informacin. Definicin de recursos. Se precisan requerimientos de personal, equipo y material del sistema.

18

Ingeniera de Software

3.2.5 Control El control se lleva a cabo mediante la ejecucin de tres actividades a saber: Presentacin del sistema. Se prepara un documento en el que se refleja la composicin y estructura del sistema de informacin a desarrollar, destacando el conjunto de productos (salidas, reportes, etc.) a generar. Revisin de la propuesta. El grupo de usuarios revisar el material proporcionado por el rea que realiz la propuesta, verificando que satisfaga a sus requerimientos planteados. Modificaciones a la propuesta. Todas aquellas observaciones sern analizadas realizando los ajustes necesarios a la estructura del sistema propuesto.

3.3 TECNICAS
En apoyo al mejor desempeo de las actividades que componen la etapa de anlisis se recomienda el empleo de las siguientes tcnicas. 3.3.1 De Recoleccin de Informacin La entrevista es el intercambio de informacin cara a cara entre el analista y el personal de una organizacin. Consecuentemente, el proceso de entrevista puede ser muy formal hasta casual, asimismo, el lugar donde sta se realiza (de la Suite ejecutiva, al lugar de operaciones). Para llevar a cabo una entrevista se hacen las siguientes recomendaciones: Prepare su entrevista: Defina el objetivo. Establezca los temas. Elija la fuente: rea administrativa, persona a entrevistar. Seleccione documentos. Planee su entrevista: procedimiento, vigor, tiempo y material. Conduzca su entrevista: Explique los siguientes puntos: identificacin personal, propsito de la entrevista, cul es el proyecto y cul ser la contribucin que har al proyecto el entrevistado. Asegurarse de entender correctamente las actividades y responsabilidades del entrevistado. Si el entrevistado toma decisiones, es importante hacer un modelo representativo (que decisiones son hechas y como interviene l). Hacer preguntas especficas (cuanto) (s). Evitar tecnicismos. Aprender a escuchar. Evitar la divagacin y la desviacin. Buscar opciones, ideas y sugerencias. Tomar nota de puntos relevantes. Evitar juicios sobre el valor o impresin de los datos recibidos. Cuando termine: Verifique sus notas.

Anlisis

19

Revise si hay algo confuso (escrito y/o mental). Repase su plan. Coteje su objetivo. Aclare.

Observaciones: Es de suma importancia que las relaciones usuario-analista sean ptimas. El analista en la mayora de los casos, tendr en nmero y tiempo restringidas las entrevistas. El cuestionario es un documento donde se recibe informacin de inters como por ejemplo: opciones sobre el funcionamiento del sistema, identificacin de aspectos que requerirn un mayor estudio, auditoria de resultados, nuevos requerimientos, etc. El analista debe identificar la informacin que desea conocer para estructurar las preguntas que conduzcan a las respuestas deseadas y adecuar el cuestionario al tipo de individuo que lo llenar. Algunos detalles convenientes de observar, durante el diseo de cuestionarios, son los siguientes: Explicar el propsito, uso y seguridad del cuestionario. Proporcionar las instrucciones necesarias para su llenado. Indicar el tiempo de llenado y retorno del documento. Formular preguntas claras. Especificar el tipo de respuesta: abierta o cerrada. Las respuestas estarn en el formato adecuado, su tabulacin puede ser manual o mecnica. Si la respuesta no pudo ser contestada, proporcionar un espacio dedicado a las observaciones. Incluir una seccin dedicada a verter opciones, criticas y comentarios.

Algunas limitaciones que se presenten en el uso de cuestionarios son las siguientes: Es difcil estructurar adecuadamente su diseo, cuando se desconoce las respuestas por obtener (cuestionarios abiertos) No es posible hacer aclaraciones al momento de llenar y devolver el cuestionario. Generalmente se asigna baja prioridad e importancia a su llenado. La observacin es el acto de presenciar los acontecimientos en el momento y lugar en que suceden, con el propsito de identificar, aclarar y/o confirmar ciertos aspectos de un ambiente determinado. Para obtener mejores resultados en la observacin, existen las siguientes recomendaciones: Identifique el ambiente y situacin a observar. Estime el tiempo que necesitar. Seleccione el material de apoyo. Conduzca su observacin: Explique a las partes que sern observadas, que ser hecho y por qu. Familiarizarse con el ambiente de observacin, as como con sus componentes. Tome notas, cheque el tiempo peridicamente.

20

Ingeniera de Software

Observe detalladamente como sea posible. Si interacta con las personas observadas, pregunte, aclare aspectos relevantes en el momento y de manera apropiada.

Cuando termine: Organice su material. Revise los resultados y objetivos propuestos. Aclare. Observaciones: Las actividades de Toma de Decisiones requieren de un estudio ms profundo y por medio de otras tcnicas. Consume mucho tiempo, pues slo se podrn apreciar una parte del total de actividades que se realizan. A la mayora de personas no les gusta ser observadas. La recopilacin de documentos es una fuente de informacin til son precisamente los documentos, tales como: manuales, reportes, hojas de codificacin, estadsticas y documentos que se utilizan en una organizacin. Con este material el analista puede obtener una imagen de lo que se hizo, se hace y espera hacer, as como otros aspectos de inters (estructura orgnica, recursos, polticas, etc.). Si el analista hace uso de la documentacin disponible, es muy probable que alcance mayor xito en sus entrevistas y observaciones posteriores preocupndose por corroborar y aclarar algunos aspectos. Dentro de las limitaciones en el uso de los documentos estaran el grado de actualizacin y el nivel de contenido y claridad. Las graficas son un medio visual utilizado en la representacin de una realidad particular, como por ejemplo: la organizacin administrativa de una empresa, la distribucin fsica de una planta, el flujo de actividades de un proceso, estadsticas, etc. Al elaborar dichas representaciones, es conveniente observar las siguientes consideraciones: Definir el objeto a representar. Establecer el modelo analgico ms claro, til y sencillo de aplicar. Usar smbolos convencionales y anexar significado. Si el diagrama no es claro, entonces se divide en dos o ms. Diagramas que se integran a la documentacin, estarn acompaados de una descripcin.

El muestreo es una actividad encargada de colectar y acumular datos relacionados con un problema determinado, que puede ser inmedible o requiere de gran cantidad de esfuerzo para cuantificarlo. Por ejemplo, si se desea conocer el tiempo necesario en atender 10,000 ordenes de clientes, se pudiera tomar el tiempo requerido para 200 y obtener el resultado deseado mediante la proporcin correspondiente. T= Tiempo para procesar 200 ordenes.

Anlisis

21

TD= Tiempo para procesar 10,000 ordenes. TD= 10,000 x T / 200 La muestra elegida deber ser representativa en funcin a la cantidad y variedad del universo posible del caso de estudio. Las Matrices de informacin son un medio grfico para presentar una informacin especial entre grupos y elementos. Generalmente en las filas se colocan los grupos y en las columnas los elementos marcando el cruce de la fila con la columna cuando exista una relacin entre el grupo y el elemento, como se muestra en la siguiente Tabla, en donde se interrelacionan sistemas con clases de datos. Las matrices de informacin son tiles para relacionar y mostrar ms fcilmente procesos, sistemas, datos, archivos, etc. Las matrices de informacin se utilizan para la presentacin del sistema, las cuales son una herramienta de documentacin muy sencilla de entender y explicar por los usuarios, tal como se ilustra en la Tabla 2. Tabla 2. Matriz Sistemas / Clases de datos 12 Transportistas X X X X 6 Transportacin 13 Compradores 5 Importaciones 1 Requisiciones 11 Proveedores X X X X X X X X Clases de Datos

Sistemas

Requerimientos X de materiales y equipos X Adquisiciones de materiales y equipos Materiales y equipos almacenados Catalogo de materiales y equipos Catalogo de proveedores Catalogo de transportistas Catalogo de compradores

X X X X X X X X

10 Materiales

8 Inventarios

2 Concursos

4 Inspeccin

7 Entregas

9 Remates

3 Pedidos

22

Ingeniera de Software

3.3.2 Tcnicas para la Descripcin de Flujos Anlisis de entradas y salidas. Esta tcnica se enfoca a identificar el objetivo y resultados que produce un sistema, un objeto u otro caso de estudio, tambin determina los insumos que permiten generar dicho producto sin preocuparse por el proceso de transformacin. Por ejemplo, un telfono permite la comunicacin remota entre dos personas (resultado), una vez que se establece contacto al haber marcado el nmero telefnico (entrada). El funcionamiento interno del aparato y de las lneas es transparente para el analista. Otro caso sera el sistema de Pronsticos Deportivos, cuya composicin se muestra en la Tabla 3. Tabla 3. Entradas - Salidas Entradas Tarjeta de la quiniela: Datos de identificacin Resultados y costo Marcadores Salidas Evaluacin de la quiniela Relacin de ganadores Relacin de premios y montos que se acumulan

Anlisis de vistas se orienta a describir la composicin de un sistema se utilizan dos series de enfoques alternos llamados: Caja Negra y Caja Blanca: Caja Negra. Se identifican las salidas y entradas del sistema o componente, sin describir el proceso, solamente el Que se hace, como se muestra en la Figura 2.
SISTEMA ENTRADAS SALIDAS

Figura 2. Caja Negra Caja Blanca. Se establecen las principales funciones de proceso que realiza el sistema, aprovechando las entradas, en la generacin de las salidas. Es decir, se escribe el: Como se hace, tal como se representa en la Figura 3.
SISTEMA ENTRADA SALIDA ENTRADA

SALIDA

Figura 3. Caja Blanca

Anlisis

23

El procedimiento de aplicacin es el siguiente: Definir la vista inicial del sistema como caja negra (externa). Definir la vista del sistema como caja blanca (interna). Cada componente es tratado como un nuevo sistema ms especfico. Se define la vista de cada componente como caja negra. Se elabora la caja blanca de cada componente. Se realizan las vistas sucesivas para cada nivel de componente identificado, hasta lograr el grado de detalle adecuado al estudio. Logrando una representacin grfica as como la que aparece en la Figura 4.

NIVEL GENERAL

NIVEL DETALLADO

DESCOMPOSICION DEL SISTEMA

Figura 4. Descomposicin del Sistema Diagrama de flujo de datos. Es la representacin grfica de un sistema por medio de un diagrama de red, con los siguientes elementos: Flujo de datos. Es la ruta a travs de la cual un paquete de informacin conocida va de un lugar a otro (personas, reas, equipos, etc.). Proceso. Es la transformacin de datos de entrada en flujos de datos de salida.

24

Ingeniera de Software

Almacn de datos. Es un lugar donde se guarda temporalmente los datos (archivos). Entidad. Persona u organizacin del sistema que es el origen o destino de los datos del sistema.

Los smbolos del diagrama de flujo se identifican en la Figura 5 y se muestra un ejemplo de su aplicacin en la Figura 6.
Segn Gane / Sarson Entidad Fuente o destino de los datos Proceso

Almacn de datos (archivo) Flujo de datos

Figura 5. Smbolos del Diagrama de Flujo.

Smbolo de Proceso 29 Identificacin

Calcular el pago neto Puede ser un programa o un departamento

Descripcin de la funcin

PM602

Lugar fsico donde se desarrolla la funcin

Figura 6. Ejemplo de Proceso. 3.3.3 Caso de Estudio. CBM La compaa CBM es una distribuidora de libros, actualmente sus clientes son totalmente libreras. La distribucin de libros se basa en el siguiente proceso:

Anlisis

25

Recibir las requisiciones u rdenes de las libreras por correo. Solicitar los libros a los editoriales, satisfacer las requisiciones de las libreras. En cuanto se reciben los libros de los editoriales, satisfacer las requisiciones de las libreras. Las facturas las procesa un Servicie Bureau a partir de formas llenas por la CBM.

Se procesan aproximadamente 100 facturas por da, con un promedio de 4 libros y un valor promedio de $10,000.00 MN por factura. Se planea expandir la operacin considerablemente mejorando los niveles de servicio manteniendo stocks de los 100 libros ms frecuentemente ordenados y hacer posible el servicio al pblico (adems de las libreras) solicitando los libros por telfono o por correo como se hace actualmente. Esto provocar problemas en la verificacin de crditos y crear la necesidad de tener un sistema de control de inventarios. La gente que tome las rdenes por telfono necesitar tener un acceso rpido al catlogo de libros para verificar autores y ttulos, a efecto de poder responder a los solicitantes qu libros se tienen disponibles en algn tpico dado. Se estima que con este mtodo, el volumen de transacciones crezca a 1000 facturas por da o ms, aunque con un promedio ms bajo de libros que el pblico. A usted, como analista, se le ha pedido que haga la investigacin y especifique el nuevo sistema, produciendo un modelo lgico del sistema requerido, de donde puedan sacarse conclusiones sobre: Qu partes del sistema deben automatizarse? Cules deben ser procesadas en forma manual? Se debe seguir usando el Servicie Bureau se tiene que comprar una computadora e instalar todo el sistema? Si se automatiza, que parte debe ser procesada en lnea y cual en proceso Batch A continuacin se presentan las Figuras 7, 8, 9 y 10 correspondientes al diagrama de flujo del caso de estudio con niveles de abstraccin que van de lo general a lo particular.
Datos de libros Ordenes Clientes Facturas (con libros) Ordenes

Procesar

Estado del crdito Datos de clientes

Figura 7. Diagrama de Flujo de Datos, Nivel 1.

26

Ingeniera de Software

Libros Detalles de libros Clientes Ordenes Verificar orden vlida Ordenes vlidas Domicilio Ordenes en lote

Editoriales

Integra requisicin Editoriales

Estado del Crdito Clientes

Ordenes de compra

rdenes pendientes

Figura 8. Diagrama de Flujo de Datos, Nivel 2.

Libros Detalles de libros Clientes Ordenes Verificar orden vlida Ordenes vlidas Domicilio Ordenes en lote

Editoriales Ordenes de compra Integra requisicin editoriales Editoriales

Estado del Crdito Clientes

Detalle ordenes de compra Ordenes pendientes Ordenes a editoriales Detalles de la orden Verifica embarque correcto

Ordenes por ttulo Detalles domicilio Integra ordenes cliente Asigna embarque ordenes pendientes

Detalles ordenes individuales

Ttulos y cantidades

Figura 9. Diagrama de Flujo de Datos, Nivel 3.

Anlisis

27

Libros Detalles de libros Clientes Ordenes Verificar orden vlida Ordenes vlidas Domicilio Ordenes en lote

Editoriales Ordenes de compra Editoriales

Iniciar la verificacin editoriales

Nota emisin editor Detalle ordenes de compra

Estado del Crdito Clientes Detalles domicilio Hoja embarque en libros

Ordenes pendientes Ordenes por ttulo

Ordenes a editoriales Detalles de la orden

Ensambla ordenes del lote Detalles ordenes individuales

Asignar embarque ordenes pendientes

Ttulos y cantidades

Verificar embarque este correcto

Facturas Copia embarque Crear factura

Factura Factura aceptada Cuentas por pagar Verificar factura correcta

Pagos Copia de la factura Aplicar pago facturas Detalle del pago Cuentas por cobrar Pago a editor Cheques para la editorial

Figura 10. Diagrama de Flujo de Datos, Nivel 4.

28

Ingeniera de Software

3.3.4 Tcnicas para la Descripcin de Procesos El espaol estructurado es un subconjunto del lenguaje espaol que aplicando las reglas de la programacin estructurada, hace uso de verbos y sustantivos para representar un conjunto de acciones y decisiones determinadas del caso de estudio. Permitiendo al analista describir rigurosa y precisamente las actividades del sistema, representadas en cada nivel de los procesos del DFD. La descripcin debe ser comprensible para los usuarios. En el sentido ms estricto, el espaol estructurado consta de los siguientes elementos: Un conjunto limitado de verbos (i.e. encontrar, imprimir, borrar). Estructuras de control permitidas en la programacin estructurada (i.e. si-entonces-de lo contrario, haz-mientras, en-caso-de). Elementos definidos en el diccionario de datos. Con el espaol narrativo se tiene problemas de ambigedad, los cuales pueden ser solucionados con el espaol estructurado. A manera de ejemplos sern descritos: Problemas con el no solo, pero no obstante, y/o al menos Sea el siguiente ejemplo relacionado con los problemas de negacin: Suma A a B al menos que A sea menor que B, en cuyo caso resta A de B. Smale A a B. sin embargo, si A es menor que B la respuesta es la diferencia de A y B. Smale A a B, pero resta A de B cuando A es menor de B.

Como se observa, no existe una diferencia lgica entre ellas, pero sin embargo es difcil entender su significado. Cada una puede ser representada por medio de un si-entonces-de lo contrario. Accin 1, al menos condicin - 1, en cuyo caso accin - 2: Si condicin - 1 entonces accin - 2 de lo contrario (no condicin - 1) accin - 1 Para que en esta instruccin la accin 1 quede en el mismo orden del espaol narrativo, se niega la condicin. Si no condicin - 1 entonces accin - 1 de lo contrario (condicin - 1) accin - 2 equivalente a Si A no es menor que B entonces suma A a B de lo contrario resta A de B

Anlisis

29

Accin - 1, sin embargo, si condicin - 1, accin - 2. Accin - 1, pero accin - 2 cuando condicin - 1. De lo anterior se desprende que se deben identificar las acciones y condiciones del espaol narrativo para ser traducidos al espaol estructurado. Problemas con mayor que, menor que La siguiente instruccin: Menos de 20 artculos comprados no tienen descuento. Ms de 20 tienen un 10% de descuento, como se observa, no describe claramente los lmites, ya que de 1 a 19 artculos comprados no tienen descuento y de 21 en adelante s lo tienen. La pregunta es qu sucede cuando se compran 20 artculos?. El problema radica en que el espaol narrativo no tiene inclusin, esta inclusin se debe realizar con otro conjunto de palabras (p.e. cantidad menor que o igual a 20). El espaol estructurado nos permite verificar todos los posibles rangos con los siguientes trminos, como se muestra en la siguiente Tabla. Tabla 4. Termino Significado Trmino MQ MI mI mQ IG NI Significado mayor que mayor que o igual a menor que o igual a menor que igual a No igual (diferente a)

Entonces, si tambin existe descuento para 20 artculos se tendra. Si cantidad de artculos MI 20 entonces descuento del 10% de lo contrario no existe descuento Los rboles de decisin son una representacin grfica para identificar todas las posibles combinaciones y sus acciones. Es una herramienta alternativa del espaol estructurado y de las tablas de decisin. Para los dos ejemplos anteriores, los rboles de decisin correspondientes son ilustrados en la Figura 11.

30

Ingeniera de Software

Tienen llantas radiales Coche negro No tiene llantas radiales No es 83 Color del coche Es 83 Coche no negro No es 83 Es 83

Descuento Descuento Sin descuento Descuento Sin descuento

Para el Segundo Coche negro

Tienen llantas radiales Es 83 No tiene llantas radiales No es 83

Descuento Descuento Sin descuento

Color del coche Coche no negro Sin descuento

Figura 11. rboles de Decisin. Problemas de ambigedad entre el y/o La siguiente instruccin: Los coches que sean negros y que tengan llantas radiales o que sean modelo 83 no pagarn entrada al autocinema; como se observa, no describe claramente cundo se pagar la entrada, si cuando son modelo 83 nicamente o cuando son negros y modelo 83. Por medio de parntesis podremos con el espaol estructurado separar las condiciones, p.e. si deseamos que cuando el coche sea modelo 83 nicamente, nos quedara la siguiente instruccin: Si (coche es negro y tiene llantas radiales) o (coche es modelo 83) entonces no paga entrada de lo contrario s paga entrada Si por el contrario queremos que no pague entrada cuando es negro y adems debe cumplir que tenga llantas radiales o sea modelo 83, nos quedara la siguiente instruccin: Si (coche es negro) y (coche tiene llantas radiales o es modelo 83) entonces no paga entrada de lo contrario s paga entrada

Anlisis

31

En los rboles los nodos intermedios son las condiciones y las hojas (el final) son las acciones. Las tablas de decisin son una herramienta que traduce las acciones y condiciones 8descritas en el espaol estructurado o en el narrativo) a forma tabular. La tabla es difcil de interpretar pero puede ser utilizada como entrada por un algoritmo Manejador de Tablas. Estas herramientas permiten introducir orden, regularidad y legibilidad a la especificacin funcional Las tablas se dividen en condiciones, acciones, reglas y nmeros de regla. De esta manera, las diferentes acciones que van a ser tomadas como resultado de las decisiones son listadas en la seccin inferior del lado izquierdo, dicha seccin recibe el nombre de Stub de acciones. De esta manera, las diferentes condiciones que afectan las decisiones son listadas en la seccin superior del lado izquierdo, llamada Stub de condiciones. El conjunto de todas las posibles condiciones en la seccin superior derecha con sus acciones resultantes (si no) en la parte inferior derecha componen las reglas. Por ejemplo la regla 2 se describe a travs de la Tabla 5. Tabla 5. Tabla de Decisin 2 Y Y N X .

c1: Coche negro c2: Llantas radiales c3: Modelo 83 a1: Descuento a2: Sin descuento Lo cual es equivalente a decir: Si el coche es negro y tiene llantas radiales y no es modelo 83 entonces tiene descuento (se presenta con la X)

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

De esta manera la tabla queda constituida de la siguiente manera: nmero de regla condiciones 1 2 3 4 5 6

acciones

Reglas Tabla 6. Tabla de Decisin Particionada

32

Ingeniera de Software

Para la construccin de la tabla: Renglones. Se identifican las condiciones y acciones, la suma de ambas proporcionar el nmero de renglones. Columnas. Se identifican las posibilidades de cada condicin y se multiplican.

A continuacin se muestran 3 elementos necesarios para estimar el nmero de columnas de acuerdo con una formula que se expresa posteriormente: c1: coche negro c2: llantas radiales c3: modelo 83 total 8 columnas Es decir: np = 2nc En donde: nc: # condiciones p: # posibilidades Note que las columnas son las reglas. Seccin superior derecha. Tome la ltima condicin y alterne todas las posibilidades hasta que termine el rengln. Para el rengln anterior alterne las posibilidades de la condicin cada vez que se haya completado las posibilidades del rengln de referencia, tal como se aprecia en la Tabla 7. 2 posibilidades x2 posibilidades x2 posibilidades

Tabla 7. Tabla de Decisin, Seccin Superior Derecha Una posibilidad cubre todas las dems del rengln anterior

c1: Coche negro c2: Llantas radiales c3: Modelo 83 a1: Descuento a2: Sin descuento

S S

S N

N S

N N

S S

S N

N S

N N

Primero se llena este rengln y se contina hacia arriba Posibilidades

Seccin inferior derecha. Despus de haber cubierto todas las posibles combinaciones se procede a llenar la seccin inferior en funcin de las reglas que se tienen. En algunas ocasiones cuando no se tienen las reglas perfectamente con el usuario para que la tabla sea llenada adecuadamente. De acuerdo al ltimo ejemplo, la Tabla quedara de la siguiente manera:

Anlisis

33

Tabla 8.Tabla de Decisin, Seccin Inferior Derecha 1 c1: Coche negro c3: Modelo 83 a1: Descuento a2: Sin descuento S S . c2: Llantas radiales S 2 S S 3 S 4 S 5 6 S . 7 8

N N N N N N N . . N S

N N S N S .

N S . .

X X X .

X X X X X

Una vez editada la parte inferior se procede a reducir la tabla de acuerdo a la siguiente tcnica: Encontrar un par de reglas en las cuales: La accin sea la misma. Los valores de las condiciones sean los mismos excepto para una y solo una condicin que sea diferente. Reemplace el par de reglas por una sola utilizando el smbolo guin (-) para la condicin que sea diferente. Repita para el resto de pares de reglas que cumplan con estos criterios. Despus de la reduccin la tabla quedara como se muestra en la Tabla 9. Tabla 9. Tabla de Decisin Final 1/2 c1: Coche negro c2: Llantas radiales c3: Modelo 83 a1: Descuento a2: Sin descuento . S S X . 3 S N S X X 4 S N N . X . X 5/6 7/8 N S N N -

Como se observa, los pares de reglas 1-2, 5-6 y 7-8 fueron reducidas ya que, por ejemplo en el par 1-2 sin importar qu modelo sea el coche de todas maneras s se le har descuento puesto que las dos primeras condiciones se cumplen. Recomendaciones: Utilice rboles de decisin cuando el nmero de acciones sea pequeo y no todas las combinaciones de las condiciones sean posibles; utilice una tabla de decisin cuando el nmero de acciones sea grande y muchas combinaciones de las condiciones ocurran.

34

Ingeniera de Software

Utilice tablas de decisin si duda que sus rboles de decisin muestran totalmente la complejidad del problema.

3.3.5 Tcnicas para el Anlisis de Datos El diccionario de datos es una relacin informativa que describe las caractersticas lgicas y fsicas de los datos que se manejan en el sistema, como se representa en la Figura 12 y en la Tabla 10. - Nombre - Abreviatura - Contenido de informacin - Clave - Significado - Fuente Origen - Alta (fuente) - Actualizacin - Baja - Nivel de confidencialidad - Personal autorizado - Archivos - Documentos - Repostes - Otros datos

Identificacin Lgicas

Manejo

Elementos de un diccionario de datos

Nivel de acceso

Relaciones Tipo Longitud Rango de valores Criterio de validacin Formato de edicin

Fsicas

Figura 12. Diagrama de Datos

Anlisis

35

Tabla 10. Diccionario de Datos del Sistema de Personal Atributo Nombre 1. Identificacin Nombre Abreviatura Contenido Significado Fuente - Origen 2. Manejo Alta Actualizacin Baja 3. Nivel de acceso Confidencialidad Personal autorizado 4. Relaciones Archivo Documentos Reportes Otros datos 5. Fsicas Tipo Longitud Rango de valores Criterio de validacin Formato de edicin Atributo Descripcin Nombre del empleado NOM - EMP Nombre y apellidos del empleado Nombre de identificacin de la persona Nombre dado al empleado Datos Sueldo Suel Emp Monto salarial La cantidad que percibe el empleado Convenio

Cuando ingresa el empleado Slo en casos de correccin Cuando renuncia el empleado

Cuando ingresa En aumentos al tabulador y por promocin Cuando renuncia

baja Consultas: todos Cambio: Depto. Recursos Humanos

Muy alta Slo Depto. Humanos

de

Recursos

Kardex de empleados, etc. Solicitud de empleo, nacimiento, etc. Plantilla, nmina, etc. R.F.C

acta

Kardex de Contrato, cheque, etc. Nmina Tabulador de sueldos

Alfabtico 40 caracteres Infinito Alfabtico y diferente de blanco Normal

Numrico Ocho enteros y dos decimales Hasta 7,000,000.00 Numrico menor o igual a 7,000,000.00 $$,$$$,$$, 9.99

Con base a esta informacin, se puede tener una idea precisa del tipo de datos que se manejan, los archivos, documentos, y reportes donde aparece. Siendo de gran utilidad en el diseo de procesos, archivos y reportes. Estructura Lgica de Salida. Es el diagrama Warrier / Orr, mediante el cual se describe detalladamente los requerimientos de salida y el diseo lgico correcto para representar una salida. Bsicamente cumple con dos propsitos:

36

Ingeniera de Software

Adquirir un conocimiento detallado del os datos y verificar el entendimiento con el usuario. Mediante este instrumento adquirimos la informacin ms relevante para estructurar los datos lgicos. Necesarios para las estructuras lgicas de proceso.

El trmino estructura es una jerarqua y/o secuencia de repeticiones y/o conjuntos alternativos (o jerarquas). Generalmente la presentacin tradicional de una salida se hace a travs de reportes impresos, esto se debe a simple conveniencia. Existen varias formas en que las salidas se presentan, tratando de enumerar solo algunas mencionaremos: cinta magntica, tarjetas perforadas, microfichas, pantallas, discos magnticos, etc. Tomaremos como ejemplo algunas salidas en forma de reporte, para explicar la representacin estructurada de acuerdo a las construcciones bsicas. La representacin ms sencilla de la estructura lgica de salidas en forma secuencial, como mencionaremos, esta se identifica porque los datos se encuentran sucesivos, supongamos la representacin de una etiqueta para enviar comunicacin a clientes, como se muestra en la Figura 13. Nombre cliente Direccin Ciudad C.P.

Figura 13.Representacin de la Estructura Lgica de Salida. La estructura lgica de salida, para presentar la etiqueta sera como se muestra en la Figura 14. - Nombre cliente - Direccin Etiqueta - Ciudad - C.P. Figura 14. Estructura Lgica de Salida. Donde se lee, el conjunto etiqueta Contiene a, nombre cliente, direccin, ciudad y C.P. Cuando existe ms de una etiqueta como el anterior ejemplo, lo conveniente es utilizar una construccin repetitiva.

Anlisis

37

- Nombre cliente - Direccin Etiqueta (E) - Ciudad - C.P. Figura 15. Estructura Lgica de Salida con ms de una Etiqueta. Donde se lee, el conjunto etiqueta sucede E veces y cada etiqueta Contiene a, nombre cliente, direccin, ciudad y C.P. Un ejemplo ms de cmo se relacionan las construcciones secuenciales y repetitivas, se muestra mediante la representacin de un reporte de produccin mensual de los productos hechos por una compaa X, esto se describe a continuacin en la Figura 16. Fecha # Producto Nombre Cantidad

Figura 16. Construcciones Secuenciales y Repetitivas. Al pasarlo a un diagrama Warnier / Orr identificamos las partes como lo ordenan las secuencias, mostradas en la Figura 17.

38

Ingeniera de Software

- Produccin mensual Encabezado - Fecha - # producto 1 - Nombre 1 - Cantidad 1 - # producto 2 - Nombre 2 - Cantidad 2 - # producto P - Nombre P - Cantidad P

Producto 1 Reporte Produccin Mensual

Producto 2 Producto P

Figura 17. Diagrama de Secuencias. Con respecto a las secuencias, vemos que los productos suceden varias veces, es decir, las caractersticas se repiten, en este caso lo mejor es representarlo mediante una construccin bsica repetitiva, quedando el diagrama como se describe en la Figura 18.

Encabezado Reporte Produccin Mensual Producto P

- Produccin mensual - Fecha - # Producto - Nombre - Cantidad

Figura 18. Reporte de Produccin. La repeticin muestra que un proceso sucede P veces, despus de encabezados y fecha. Ahora bien si el problema se trasladara a representar la estructura lgica de un reporte mensual de produccin, donde se reportan los productos por planta productora, fsicamente el reporte cambiara de forma y por lo tanto la estructura lgica tambin, como se muestra en la Figura 19.

Anlisis

39

Fecha Planta Nombre planta Nombre Producto

# Producto

Cantidad

Figura 19. Esquema de Salida. La estructura lgica tendra la representacin de la Figura 20, pensando en conjuntos. Empresa Planta 1 Producto 1 Producto 2 Planta (P) Producto 3 Productos (P) Planta 2

Empresa

Figura 20. Estructura Lgica. La estructura lgica de salida, siguiendo este razonamiento se muestra en la Figura 21.

40

Ingeniera de Software

Encabezado Reporte Mensual Produccin de Plantas Planta (P)

- Produccin mensual - Fecha - # Planta - Nombre Planta - Producto (PR) - # Producto - Nombre - Cantidad

Figura 21. Estructura Lgica de Salida. Un reporte tpico de un empresa es el auxiliar de cuentas como aparece en la Figura 22, este ejemplo presenta la aplicacin de la construccin alternativa, tambin denominada conjunto complemento. Fecha Cuentas Descripcin Cuenta Debe Haber

Total

Debe

Haber

Figura 22. Reporte Tpico. La estructura lgica de salida del auxiliar se representa mediante el diagrama sealado en la Figura 23.

Anlisis

41

Encabezado

- Auxiliar Cuentas - Fecha - Cuenta - Descripcin de la cuenta - Debe - (0,1) + - Haber - (0,1) - Debe - Haber

Reporte Auxiliar Cuentas

Movimientos (M)

Total

Figura 23. Diagrama de Estructura Lgica de Salida. Observamos la aplicacin del conjunto alternativo al monto asignado a la cuenta; ya sea en el Debe o en el Haber en forma exclusiva, tal como se indica en la Figura 24. Movimientos Debe Haber

Figura 24. Movimientos Debe Haber. En el diagrama de Venn se clarifica el concepto de conjunto complementario, y donde adems se nota el concepto de exclusin. La estructuracin del Reporte Mayor, muestra la combinacin de contriciones bsicas jerrquicas y/o secuencias y/o repeticiones y/o alternaciones. Una estructura lgica de salida aplicada a control de proyectos, con gran nmero de jerarquas, para acumular horas por proyecto en un departamento, y para acumular horas asignadas a un usuario del proyecto en un departamento, tpicamente puede ser el caso mostrado en la Figura 25 y 26 correspondientemente al esquema y al diagrama respectivamente.

42

Ingeniera de Software

Fecha Departamento Usuario Proyecto Actividad Horas

Total

Horas por proyecto

Total Total

Horas por proyecto Horas por usuario

Total horas por proyecto Total horas por usuario Total horas por depto. Total horas por empresa

Figura 25. Esquema del Control de Proyectos.

Anlisis

43

Encabezado

- Control proyectos - Fecha - Clave actividad

Reporte Horas Asignadas

- Clave departamento Departamento (D) - Usuario (U) - Total horas por departamento TOT HOR- DEP Total horas Por empresa TOT HOR- EMP

- Clave usuario -Proyecto (U)

- Clave proyecto -Actividad (A)

- Horas

Total horas por Total horas por proyecto usuario TOT HOR- PROY TOT HOR- USU

Figura 26. Diagrama del Control de Proyectos. 3.3.6 Probar Lgicamente la Estructura Lgica de Salida Esto consiste en revisar, y observar la estructura con el objetivo de encontrar errores y corregirlos. Se concluye que los diagramas Warnier expresan mediante simples algoritmos. Estructuras lgicas de datos (ELD). Se obtienen de las estructuras lgicas de salida (ELS), ya que a partir de esto su derivacin se vuelve relativamente fcil, una definicin sencilla de los que significa (ELD) es: El conjunto mnimo de datos de entrada requeridos para producir la salida, de donde adems, se busca una utilizacin para una o ms (ELS), y que optimice lgicamente las funciones de proceso de datos tales como; codificacin, validacin, actualizacin y recuperacin. Los pasos ms importantes para obtener la estructura de datos a partir de ELS son: Hacer una lista de los datos elementales de la (ELS) con los niveles que tienen. Identificar los datos de la (ELS) que sean constantes o simples etiquetas. Identificar los datos calculados describiendo las reglas. Identificar los datos primarios, simplificando las alteraciones mediante un cdigo de identificacin. Revisar y probar lgicamente la estructura lgica de datos.

Para ilustrar de manera ms precisa el procedimiento, utilizaremos una (ELS), basada en un problema de ventas, donde el objetivo es pagarle una comisin a los vendedores existentes en las diferentes sucursales a partir de los productos facturados y el tipo de venta, de contado y crdito especial o bien, 30, 60, 90 das, esto implica que en relacin a esto se respete una regla de correspondencia dada por la Tabla 11:

44

Ingeniera de Software

Tabla 11. Procedimiento de una Estructura Lgica de Salida. Venta Contado 30 Das 60 Das 90 Das Crdito especial Comisin 20% 18% 15% 11% 06% Tipo A B C D E

Se desean totales por vendedores y una proyeccin de lo que se paga por comisin en las sucursales y a nivel de la empresa, se debe indicar qu vendedores tienen y quienes no tienen la comisin como se ilustra en la Figura 27.

Nivel Empresa Pago comisiones Fecha

Nivel Sucursal

Nivel Empleado

Nivel Ventas

Clave sucursal Vendedor (V) Total sucursal

Reporte de pago de comisin mensual

Sucursal (S)

- Clave vendedor - Nombre - Ventas (V) - Total comisin (0,1)

- Vendi - No vendi

- Tipo - Monto ****

Total empresa

Total vendedores con Bonificacin. Suma de comisiones por pagar. Total vendedores sin bonificacin.

Total vendedores con Bonificacin. Suma de comisiones por pagar. Total vendedores sin bonificacin.

Figura 27. Diagrama de Procedimiento de una Estructura Lgica de Salida.

Una vez realizado el diagrama de procedimiento, como primer paso, se procede a la ejecucin de los pasos 2, 3 y 4 de la forma mostrada a continuacin en las Tablas 12, 13, y 14:

Anlisis

45

Paso 2: Los datos que aparecen como constantes. Seleccionamos 1, 8, 10, 14 Tabla 12. Paso 2. Paso 3: Indicamos las reglas de clculo para datos derivados. Numero Dato 9 11 12 13 15 16 17 Regla Si existen comisiones se suman por vendedor. Se suma 1 por cada vendedor que al menos haya tenido una venta. Se suma el monto total de la comisin, a este campo. Se suma 1 por cada vendedor que no haya tenido ventas. Se suma el total de vendedores con bonificacin de cada sucursal. Se suma el monto total de pago de comisin de cada sucursal. Se suma el total de vendedores sin bonificacin de cada empresa.

Tabla 13. Paso 3. Paso 4: Los datos primarios que quedan son: Numero 2 3 4 5 6 7 Tabla 13. Paso 4. Obteniendo la ELD correspondiente a la ELS. Dato elemental Fecha Clave sucursal Clave vendedor Nombre Tipo comisin Monto comisin

46

Ingeniera de Software

CAPTULO 4. DISEO

4. DISEO
4.1 OBJETIVO
El diseo tiene el propsito de establecer los aspectos lgicos y fsicos de las salidas, modelos de organizacin y representacin de datos, entradas y procesos que componen el sistema, considerando las bondades y limitaciones de los recursos disponibles en la satisfaccin de las pacificaciones brindadas pro el anlisis.

4.2 ACTIVIDADES
Las funciones que se realizan durante el diseo de sistemas son las siguientes: Planeacin: Definicin de Objetivos. Se determinan las metas y el plazo esperado para su obtencin. Formulacin de Estrategias. Se establece la metodologa a seguir, seleccionando las tcnicas ms adecuadas. Determinacin de Recursos. Se identifican los recursos humanos, tcnicos y materiales que se necesitarn. Elaboracin del Plan de Trabajo. En funcin a la prioridad, tiempo y recursos disponibles se formula el programa de actividades.

Diseo de Salidas: Interpretacin de Requerimientos. Con base a las especificaciones resultantes de la Definicin de Productos de Informacin hecha en el anlisis, se determina la forma de presentacin ms adecuada, de contenido (encabezados, datos, totales, etc.) y medio (papel, pantalla, etc.). Diseo Fsico. Las especificaciones del reporte son plasmadas en un Lay - Out que es una hoja cuadricular, en donde se precisa el nmero de rengln y columna en donde se imprimir la informacin.

Definicin de la Base de Datos: Descripcin Completa de Datos. Se determina con exactitud el conjunto de datos a manejar con sus caractersticas fsicas de: tipo, longitud y cdigo de equivalencia. Elaboracin de Estructuras de Datos. Se tipifican los datos con base a su naturaleza y fuente de actualizacin y uso en la generacin de salidas. Establecimiento del Modelo de Datos. Se conciben los grupos lgicos de datos (archivos), sus relaciones y formas de acceso (mediante llaves), estableciendo un modelo lgico de base de datos. Definicin del Tipo Organizacin. Acceso y formato de los archivos, identificando sus campos, llaves y orden de almacenamiento.

50

Ingeniera de Software

Diseo de Entradas: Interpretacin de Requerimientos. Con base a las especificaciones hechas en la definicin de insumos por el anlisis y la definicin de la base de datos, se establecen los medios (documentos, parmetros, etc.) que alimentarn y actualizarn los archivos que integran al sistema, determinado el contenido (datos, cifras de control, etc.) y medio adecuados.

Definicin de Procesos: Establecimiento de la Arquitectura del Sistema. Se definen los principales procesos que har el sistema y sus interrelaciones mediante las entradas y salidas que manejan. Estos a su vez se subdividen en procesos ms especficos, hasta llegar al nivel de un programa. Finalmente se elige la secuencia de operacin de los procesos. Por ejemplo la arquitectura de un sistema de intervalos puede ser como se muestra a continuacin en la Figura 28.
Sistema de Inventarios Mantenimiento de archivos Alimentacin de datos Actualizacin de archivos Explotacin de la informacin

Consultas

Reportes

Codificacin

Captura

Validacin

Correccin

Actualizacin

Figura 28. Arquitectura de un Sistema de Inventarios. Descripcin de Procesos. Para cada proceso definido en la arquitectura del sistema, se determina: su objetivo (captura, validacin, actualizacin, clasificacin, seleccin, clculo, comparacin, impresin, explotacin, respaldo, etc.), resultados a producir (reportes, archivos, desplegados, etc.) y descripcin del procedimiento que realiza (lectura de archivos, seleccin de registros especiales, etc.).

Control: Presentacin del Sistema. El resultado de las actividades anteriores es plasmado en un documento que describe los principales elementos del sistema de informacin. Revisin de la Propuesta. Se evalan los formatos de salidas conforme a las necesidades planteadas, se valida el contenido de las entradas y los archivos que se manejan, repasando los procesos que se pretenden realizar. Modificaciones a la Propuesta. Se adaptan aquellas diferencias y errores encontrados en el diseo del sistema propuesto.

Diseo

51

4.3 TCNICAS
Para una mejor realizacin de las actividades inherentes al diseo de sistemas, se sugiere el aprovechamiento de las siguientes tcnicas: 4.3.1 Para el diseo de salidas. Normalmente los resultados generados por un sistema de informacin que recibe el usuario final, son impresos en papel o desplegados en video. Por lo que su estructura clsica puede ser definida as: Encabezados Generales. Compuesto por el nombre de la empresa del sistema, la fecha y el nmero de hoja. Encabezados Especficos. Identifican a la informacin y los datos que se presentan. Encabezados de Control. Son nombres que identifican a un grupo de informacin que viene a continuacin. Detalle. Es la informacin que aparece en la salida, como elemento bsico. Normalmente son los registros del archivo que se utiliza. Pies de Control. Son totales de cantidades que se acumulan en cada grupo de informacin. Pies de Reporte. Es el gran total de cantidades acumuladas de toda la informacin presentada.

Adems, se consideran aspectos de edicin de los datos y su centrada en el espacio disponible (ancho de hoja o pantalla). En la Figura 29 se muestra un ejemplo de esto.

52

Ingeniera de Software

1 2 3 4 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 1 2 1 5 - 1 1 - 8 6 3 4 S 5 6 R E L A C I O N 7 8 9 C L A V E 1 0 1 D E P T O : C 1 1 4 2 7 2 2 1 9 9 9 9 3 1 4 1 5 1 6 1 T O T A L D E 7 1 8 1 D E P T O : C 9 2 9 9 9 9 0 2 1 2 2 2 T O T A L E S C R 3 2 4 0 1 2 3 4 5 6 7 8 9 0 G R U P O I S T E MA D E B E T A D E H O J A : 1 0 1 2 3 4 5 6 7 8 9 A B C D E F E S C R I T O R I O S : 5 0 0 1 O B R A N Z A S A A A A A A A A A A A A 2 3 4 1 5 I T O R I O S E MP R E S A = 1 , 2 5 0 6 7 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 1 2 0

I N V E N T A R I O S P O R D E P T O . A : B .

E S C R I T O R I O S

A S I G N A D O R E D I T O J U A N P E R E Z

A A A A A A A A A A A A A

Figura 29. Hoja de Sistema de Inventarios. En el ejemplo se aprecian los diversos tipos de encabezados (letras A, B y C); la lnea de detalle (D), que representa el registro que se imprime, es decir, el de cada escritorio registrado en el archivo; el pie de control (E) es el nmero de escritorios por departamento, mientras que el nmero de escritorios en la empresa es el pie del reporte (F).

Diseo

53

Todos los letreros y campos donde aparece la informacin (departamento, clave, etc.) estn debidamente centrados, utilizando para estos ltimos los caracteres de edicin 9999 y AAAA (nmeros y letras respectivamente) que indican el tipo y longitud del dato que se sustituye en ese lugar. 4.3.2 Para la elaboracin de modelos de datos. El ejercicio de obtener las ELS y las ELD, nos lleva a la necesidad de refinar mejor nuestros procedimientos, utilizando para esto el concepto de: Base de Datos Lgica (BDL). La cual es posible obtener a partir de las jerarquas definidas en las ELS y ELD, utilizando adems como complemento, el mtodo de normalizacin desarrollo por E. F. Codd (Gane y Sarson, 1997) que evita las redundancias de datos y los errores de actualizacin, evidentes en un archivo secuencial. La base de datos lgica, es la organizacin de las estructuras lgicas de datos, sin redundancia, identificadas en un medio ambiente, relacionadas entre si mediante llaves. Una llave es la cantidad mnima de datos que identifica a cada registro definido en las ELD. El proceso secuencial que se sigue para lograr la BDL es el siguiente: Cada conjunto repetitivo deber formar una estructura lgica de datos. Cada conjunto de datos no-llave que dependa de una parte de la llave deber formar una nueva estructura lgica de datos. Identificadas las estructuras lgicas de datos, con los dos finamientos anteriores, ningn dato nollave podr derivarse de otros datos no-llave. Respectivamente a los pasos anteriores se les denomina, primera, segunda y tercera formas normales. Como explicacin supongamos una base de datos lgica jerrquicamente estructurada como se muestra en la Figura 30.

Clave sucursal Nombre Base de Datos Lgica Sucursales (S) Direccin Vendedores (V) Numero factura 1 Facturas (S) Fecha ultimo pago Productos (P) Importe factura

Clave vendedor Nombre Fecha ingreso Cliente (C) Clave producto Nombre Precio unitario cantidad

Clave cliente Nombre Direccin Fecha ultimo pedido Facturas 1 (F)

Figura 30. Base de Datos Lgica.

54

Ingeniera de Software

El dato clave sucursal, con el subrayado representa una llave, si no hemos procedido a hacer ningn refinamiento, diramos que solo se trata de una llave candidata, a los otros datos se les denomina no-llave, es compuesta si requiere de ms de un elemento para identificar a cada dato no-llave, los datos llave se subrayan y los no-llave se dejan igual. La primera forma normal dar una ordenacin como se seala en la Figura 31. Clave Sucursal - Nombre - Direccin
Clave sucursal Clave vendedor - Nombre - Fecha ingreso Clave sucursal Clave vendedor Clave cliente - Nombre - Direccin - Fecha ultimo pedido Clave sucursal Clave vendedor Clave cliente Num. Factura - Fecha - Tipo de pago - Importe Clave sucursal Clave vendedor Clave cliente Clave factura Clave producto - Nombre producto - Precio unitario - Cantidad

(ELD) Sucursales

Sucursal (S)

(ELD) Vendedor

Vendedor (V)

Base Datos Lgica

(ELD) Clientes

Cliente (C)

(ELD) Facturas

Factura (F)

(ELD) Productos

Productos vendidos (PV)

Figura 31. Ordenacin de una Base de Datos Lgica (1era forma normal.

En los ELD definidos existen datos que solo dependen de una parte de la llave o que dependen de un dato no-llave, describimos las observaciones hechas a la estructura anterior. Por lo que la segunda forma normal quedara como en las Figura 32.

Diseo

55

Sucursal (S) Vendedor (V)

Clave sucursal Nombre Direccin Clave vendedor Nombre Fecha de ingreso Clave sucursal asignado Clave cliente Nombre Direccin Clave sucursal Clave cliente fecha ultimo pedido

Facturas

Clave sucursal Num. factura Fecha Tipo de pago Importe Clave vendedor Clave cliente

Cliente (C) Cartera Clientes por Sucursal (CC)

Productos (P) Productos Vendidos (PV)

Clave Producto Nombre producto Precio unitario Clave sucursal Clave producto Factura Cantidad

Figura 32. Ordenacin de una Base de Datos Lgica (2da forma normal). En la aplicacin de la tercera forma normal, se cuida de que cada estructura lgica de datos se convierta en una unidad de informacin homognea (archivo) que sea acezada por una determinada llave, como se puede apreciar en la siguiente figura que muestra un esquema de relaciones y llaves para tener una mejor idea de como recuperar datos, ya sea en la misma estructura de datos lgica o mediante asociaciones de llaves y no-llaves, quedando en la Figura 33 la representacin de la tercera forma normal.

56

Ingeniera de Software

Clave sucursal Sucursal Vendedor Cartera clientes Clave sucursal Factura Clave cliente Clientes Productos vendidos Archivos definidos Relaciones de acceso Productos Clave producto Clave sucursal Clave producto Num. de factura Clave vendedor

Clave sucursal Numero de factura

Figura 33. Ordenacin de una Base de Datos Lgica (3ra forma normal). Al observar la figura anterior, se aprecia que desde un archivo en cuyo contenido existe el (los) campo (s) que forma (n) la llave de acceso de otro, se puede relacionar. ( ) Descripcin de Archivos. Las agrupaciones homogneas de informacin son normalmente conocidas como archivos compuestas de uno o varios tipos bsicos de datos denominados registros, estos a su vez estn formados de campos, es decir los datos. Por ejemplo, a la concentracin de informacin sobre los empleados de un empresa le llamaremos archivo de empleados compuesto de dos tipos de registro: el primero es para los datos generales y sus campos son: nombre, edad, R.F.C. domicilio, etc. y el segundo contiende los datos salariales, por lo que sus campos sern: sueldo, compensacin, porcentaje de deduccin ISPT, sindicato, seguro, etc. la informacin de cada empleado se integra en un registro de cada tipo y en conjunto forman al archivo en cuestin. Una vez definido el contenido del archivo se determina la longitud del registro (es decir, el nmero de caracteres), el tipo de organizacin (secuencial, indexada, etc.) y el factor de bloque (nmero de registros agrupados como una unidad en operaciones de lectura o escritura). Tambin se describe para cada tipo de registro, los campos que contiene, su longitud, posicin (de A, en el registro), el tipo de dato y su descripcin. Como ilustracin de los aspectos sealados se muestra la Tabla 14.

Diseo

57

Hoja 1 de 1 DESCRIPCION DE ARCHIVOS Sistema: Nomina Clave: No Archivo : Nombre: archivo empleado Clave: Arch - Emp Longitud del registro: 82 Tipo de organizacin: Indexado Factor de bloque: 20 registros No. Long. Posiciones Tipo de dato Abreviatura Descripcin Observaciones Sec. Campo De a

1 2 3 3.1 3.2 3.2.1 3.2.2 3.3.3 4

30 2 10 4 6 2 2 2 40

1 31 33 33 37 37 39 41 43

30 32 42 36 42 38 40 42 82

A 9 X A 9 9 9 9 X

Nom- Emp Edad- Emp RFC-Emp RFC-Ini RFC-FNac RFC-Ao RFC-Mes RFC-Da Dom- Emp

Nombre Empleado Edad-Empleado RFC-Empleado RFC-Iniciales RFC-Fecha de Nacimiento RFC-Ao RFC-Mes RFC-Da Domicilio empleado

Llave de acceso

Tabla 14 . Descripcin de Archivos. En el ejemplo anterior se aprecia la descripcin del registro Datos Generales observando que un campo puede dividirse en otros y estos a su vez en algunos ms pequeos, como o indica la columna de No. De secuencia, es decir el dato 3. se compone del 3.1 y 3.2, ste ltimo en tres ms especficos. Tambin se utiliza una clave para indicar el tipo de campo, con el siguiente significado: A= Alfabtico X= Alfanumrico 9= Numrico (solo letras) (cualquier carcter) (solo dgitos)

4.3.3 Para el diseo de Entradas. Por lo general la forma de alimentar a un sistema de informacin es a travs de documentos que despus de escribir ciertos datos en ellos, se capturan por medio de una Terminal a un dispositivo magntico, que ms tarde lee el computador. En el diseo de tales documentos es conveniente tomar en cuenta estos elementos:

58

Ingeniera de Software

Encabezados Generales. Contiene el nombre de la Empresa, del sistema, fecha y hoja. Encabezados Especficos. Tiene el nombre y clave del documento, y de los datos a codificar. Datos a Codificar. Es la zona fsica con el tamao apropiado para escribir el dato correspondiente al letrero. Cifras de Control. Es un nmero que se calcula manualmente al sumar ciertas cantidades que aparecen en el documento que se compara contra el obtenido por la mquina al recibir la informacin, tratando de identificar un posible error de digitalizacin.

Un ejemplo de documentos fuente se muestra a continuacin en la Figura 34.

Diseo

59

1 2 3 4 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 1 2 2 3 4 5 6 I 7 8 9 U 1 0 1 1 1 2 1 [ A 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 [ T 2 2 3 2 4 0 1 0 - 1 2 - 8 6 S I S T E MA N F O R ME N I D A D S E C R E T A R I A D E D E I N F O . D E D E S A L U D H O J A : 1 0 1 2 3 4 5 6 7 8 9 A B - 2 1 ] [ 7 2 ] [ 1 8 ] [ 3 0 0 ] [ 4 1 0 ] [ 3 5 0 0 ] C D E F 0 1 2 3 4 1 O T A L ] [ ] [ ] [ ] [ ] [ ] 5 6 7 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 0 1 2 0

S E R V I C I O S A D E L A P O B L A C I O N

C O N S U L T A S T I P O

ME D I C A P L A N .

C O N S U L T A MA T E R T O T A L

P R E V .

O D O N .

Figura 34. Documento Fuente. Se pueden apreciar los encabezados generales y especficos, el espacio para codificar informacin con los tamaos delimitados en base a su longitud. Tambin la zona asignada en la columna del extremo derecho donde se suman los valores de cada rengln y en el ltimo rengln para acumular los valores de cada columna.

60

Ingeniera de Software

Normalmente un documento fuente va acompaado por un instructivo de codificacin y otro de captura. El primero instruye sobre la forma de llenar el documento, anexando los catlogos que contienen claves y descripciones. Para el ejemplo anterior, sera el de unidades Mdicas. El segundo instructivo se refiere a las condiciones de captura a considerar.

4.3.3 Para el Diseo de Procedimientos. Existen diversas estrategias de desarrollo de procedimiento como es la descendente. Desarrollo Descendente. Es una tcnica que define paulatinamente los componentes del sistema, desde los generales hasta los ms detallados, precisando su funcin e interrelaciones de jerarqua, secuencia de ejecucin y generacin de productos, es decir, los resultados obtenidos por un proceso alimentan al siguiente y as sucesivamente. El Mtodo del Desarrollo es el siguiente: Se define con precisin el problema a resolver (sistema, proceso, programa, rutina, etc.). Se establece como mdulo superior la definicin del problema (nivel 0). Se distribuye la funcin general en subfunciones principales, creando nuevos mdulos subordinados (nivel 1). Se revisa la naturaleza de los mdulos recin creados, determinando su modificacin, adicin o eliminacin de otros para este nivel, De nuevo se analiza los mdulos del nivel actual y se descomponen en otros ms especficos an, repitiendo los pasos anteriores, hasta llegar a una descripcin los suficientemente clara y til para el caso de estudio.

Dentro de este procedimiento clnico se hacen las siguientes recomendaciones: Precisar el objetivo del mdulo Determinar los resultados que genera Establecer las funciones a realizar Identificar las entradas de datos que recibir Definir la interfase entre cada mdulo, es decir los datos que uno genera y sirven de insumo a otro. Realizar una adecuada descomposicin de un mdulo, procurando que el nmero de subordinados sea de tres a cinco, esto permitir definir funciones precisas, ni muy amplias pero tampoco muy especficas. Cada mdulo debe ser independiente de los dems compaeros del mismo nivel, es decir est encargado de una funcin nica, distinta de los dems, por lo que el mdulo ser ejecutado nicamente bajo el control de su superior. Identificar aquellos mdulos que son empleados por varios superiores, por ejemplo: la rutina de lectura a un archivo puede ser llamada desde ms de un punto del programa. Para estos casos, el mdulo se representa en el diagrama en los lugares correspondientes al llamado, pero en el programa slo se codifica una vez.

Diseo

61

Normalmente la representacin grfica de esta tcnica es un diagrama modular, en donde cada proceso es representado por un cuadro y los subordinados estn identificados por las lneas que los unen, estableciendo la jerarqua que la secuencia de ejecucin es de izquierda a derecha. Veamos el siguiente ejemplo: Ejercicio 1 Disear una estructura modular para un sistema de nmina, que contemple desde la recopilacin de informacin hasta la distribucin de cheques como en la Figura 35. Diagrama Modular del Sistema Nomina Hoja 1 de 1

Sistema de Nomina Alimentacin de datos Recabar datos Codificar datos Capturar datos Digitar Verificar Corregir Procesamiento de datos Validar datos Corregir errores Generar nomina

Manipulacin de resultados

Controlar resultados Repartir cheques Atender y solucionar problemas

Figura 35. Estructura Modular para un Sistema de Nmina.

62

Ingeniera de Software

Diseo Estructurado. Es un buen complemento a la definicin y descomposicin de procesos hecha a travs del desarrollo descendente, ya que establece las caractersticas de funcin e interrelacin de los mdulos con base a una serie de criterios que garantizan un alto grado de simplicidad e independencia, facilitando la definicin, desarrollo, ejecucin y mantenimiento de los mdulos. Las caractersticas bsicas de los mdulos son: Funcin. Es la descripcin del papel que juega el mdulo como proceso. Interfase. Es la descripcin de los enlaces externos que tiene con los dems mdulos. Lgica. Es la imagen detallada del proceso interno que realiza el mdulo.

El diseo estructurado se preocupa por refinar las primeras dos caractersticas, mientras que la tercera es preocupacin de otras tcnicas (programacin estructurada, pseudocdigo, etc.); para lograrlo se aplican los siguientes mtodos: Reforzar la funcin del mdulo (cohesin) orientndolo a realizar una dola funcin bien definida. Reforzar las relaciones intermdulos (acoplamiento) simplificando la dependencia de mdulos en trminos de control (en la medida de lo posible identificarn plenamente los datos de entrada y salida que maneja el mdulo en forma de parmetros. Minimizar el tamao del mdulo deber contener el menos nmero de instrucciones posibles. Prevenir el efecto del mdulo consiste en que al proporcionar con juntos de datos de entrada semejantes, los resultados debern ser parecidos. Estructura de decisin es conveniente arreglar las decisiones de programas de tal manera que los mdulos que sean afectados resulten ser subordinados.

Utilizando conjuntamente con el desarrollo descendente los mdulos son descritos, integrados y probados en funcin a un plan cronolgico tomando en cuanta su jerarqua y secuencia. La aplicacin de la tcnica se ilustra en el siguiente ejemplo: Ejercicio 2 Elaborar la estructura modular de un procedimiento de validacin, con estas caractersticas: Se deber validar un archivo de empleados, en donde cada registro representa la informacin de un empleado. La descripcin del registro es: o No. de Empleado o Nombre o Clave del Departamento o Sueldo por hora o No. de horas trabajadas o Porcentaje de deduccin Definir los criterios de validacin para cada uso. Todos los registros del archivo deben ser validados. Al validar los datos de un registro si algn campo tuvo error este se deber reportar y por lo tanto, el registro ser rechazado. De lo contrario el registro ser grabado en el archivo de salida (con el mismo formato).

Diseo

63

Al terminar la validacin del archivo se imprimirn las siguientes estadsticas: o No. de Registro sin error o No. de Registros con error o Total de Registros

Este ejemplo se ilustra en la Figura 36.

64

Ingeniera de Software

Diagrama Modular

del Sistema Nomina Hoja 1 de 1

Sistema

Abrir archivos Inicio Inicializar variables Lee archivo Sueldo por horas Validar registro Clave de departamento Numero de horas No. empleado Nombre Deduccin

Proceso

Reportar error Hubo error Grabar registro Lee archivo Reportar estadsticas Fin Clausura de archivos

Figura 36. Estructura Modular de un procedimiento de Validacin.

Diseo

65

Se puede observar en el ejemplo anterior la representacin del mdulo repetitivo proceso Mientras que se cumpla la condicin Haya Registros del archivo que se lee. Adems de una decisin que evala el resultado de la validacin del registro para determinar la accin siguiente de reportar el error o grabar el registro correcto. Descripcin Entrada-Proceso-Salida. En complemento a las tcnicas de desarrollo descendente y diseo estructurado se puede emplear sta para detallar los elementos de entrada que reciben los mdulos los de salida que produce y la descripcin de las acciones que desarrollan dentro del proceso de transformacin de la informacin. Se emplean dos formatos, el primero es la presentacin de la estructura modular del sistema que es la imagen de la organizacin de los mdulos participantes (siendo el resultado de la aplicacin de las dos tcnicas anteriores) y la segunda es un formato que describe para cada mdulo los datos de entrada y salida, adems de las operaciones que realiza en tres columnas. Para ilustrar lo anterior a continuacin en las Figuras 37, 38, 39, 40, 41, 42 y 43 se presenta la estructura modular y la descripcin entrada-proceso-salida de los primeros seis mdulos del problema de generacin de una nmina.

66

Ingeniera de Software

Diagrama Modular

del Sistema Nomina Hoja 1 de 1

Nomina 1 Apertura archivos Inicio 2 Inicializa variables


3

Imprime cheque
6

Lectura archivos Proceso 5 Calcula salario


8 7

Acumula sueldo

Imprime estadsticas Fin 10 Clausura archivos

11

12

Figura 37. Estructura modular.

Diseo

67

Sistema Nomina

Clave / Sistema 1

Modulo Sistema

Entrada

Proceso

Salida

Datos de empleado

- Calcula el salario de cada empleado y el monto del sueldo bruto pagado por departamento y en toda la empresa.

Cheques

- imprime los cheques y las estadsticas correspondientes.

Estadsticas

Observaciones

Figura 38. Descripcin entrada-proceso-salida 1.


Sistema Nomina Clave / Sistema 2 Modulo Inicio

Entrada

Proceso

Salida

Archivos

- Abre archivos .

Archivos disponibles

Variables

- Inicia contadores de sueldos.

Variables inicializadas

Observaciones

Figura 39. Descripcin entrada-proceso-salida 2.

68

Ingeniera de Software

Sistema Nomina

Clave / Sistema 3

Modulo Apertura de archivos

Entrada

Proceso

Salida

Datos de Empleado (entrada) - abre archivos de: Archivos Datos empleados Estadsticas Cheques (salidas)

Estadsticas (salida)

Observaciones

Figura 40. Descripcin entrada-proceso-salida 3.


Sistema Nomina Entrada Clave / Sistema 4 Proceso Modulo Inicializa variables Salida

- Mover ceros a los contadores de sueldo bruto por empresa y de cada departamento. Contadores

Contadores por: empresa Depto. 1 Depto. 2 Depto. N

- Mover cero a la bandera de fin de archivo

Bandera de fin de archivos

Observaciones

Figura 41. Descripcin entrada-proceso-salida 4.

Diseo

69

Sistema Nomina

Clave / Sistema 5

Modulo Proceso

Entrada

Proceso

Salida

- Calcula el salario de cada empleado y el sueldo bruto pagado por departamento y en toda la empresa. Datos de Empleado

Contadores por: empresa Depto. 1 Depto. 2 Depto. N

- Imprime el cheque del empleado.

Cheques

Observaciones

Figura 42. Descripcin entrada-proceso-salida 5.


Sistema Nomina Clave / Sistema 6 Modulo Lectura de archivo

Entrada

Proceso

Salida

Datos de empleado

- Lee el siguiente registro. - Hay registro?. Si No (Mover 1 a)

Registro disponible Bandera de fin de archivo

Observaciones

Figura 43. Descripcin entrada-proceso-salida 6.

70

Ingeniera de Software

CAPTULO 5. PROGRAMACIN

5. PROGRAMACIN
5.1 OBJETIVO
El propsito que persigue la programacin de sistemas es el describir en un lenguaje de computacin adecuado, los procedimientos que realizar el computador al manipular los datos para obtener los resultados deseados.

5.2 ACTIVIDADES
Las actividades a realizar se agrupan en las etapas que se describen a continuacin: Planeacin: La especificacin de las tareas es la primer etapa en la que se ventilan los siguientes aspectos: Definicin de Objetivos. Es el establecimiento de las actividades de programacin a realizar. Formulacin de Estrategias. Es la eleccin de las tcnicas y estndares de programacin por aplicar. Eleccin de Lenguajes y Paquetes de Programacin. Consiste en identificar el soporte que brinde mayores facilidades para la programacin del sistema. Se deber escoger entre los diversos compiladores e interpretes, utileras, paquetes de aplicacin, manejadores de bases de datos, etc. Establecimiento del Plan de Trabajo. En base a los recursos disponibles, se define el calendario tentativo de trabajo.

Elaboracin de Programas. Para cada uno de los procedimientos definidos en el diseo del sistema se elabora un programa a travs de las siguientes actividades: Interpretacin de las Especificaciones del Procedimiento. Debe quedar bien claro el objetivo que persigue el procedimiento, cules sern los resultados que arrojarn y los elementos de entrada que podrn disponer. Definicin del Mtodo de Solucin. Se elabora la lgica de solucin al problema, mediante la definicin de un conjunto de algoritmos (secuencia de operaciones). Codificacin en el Lenguaje de Programacin Elegido. La solucin definida anteriormente se transcrita a las reglas, formatos y elementos del lenguaje de programacin seleccionado. Captura del Programa. Una vez codificado el programa, se alimenta al computador, haciendo uso de algn dispositivo (tarjetas, diskette, etc.). Compilacin y Depuracin del Programa. El programa es interpretado por el compilador del lenguaje que utiliz. En caso de existir error de sintaxis, ste deber ser corregido para poder generar el Programa Objeto, adecuado a la ejecucin del proceso. Pruebas del Programa. Una vez que se eliminaron los errores del programa fuente y se pudo generar el objeto correspondiente, se crean algunos datos de prueba para alimentar la ejecucin del programa, estando pendiente de su funcionamiento y de los resultados que produce, revisndolos contra los objetivos esperados en la definicin del procedimiento (inciso A). las discrepancias (errores de lgica normalmente) debern ser corregidas hasta obtener los resultados deseados.

74

Ingeniera de Software

Liberacin del Programa. Sucede cuando el programa est libre de errores, de sintaxis y de lgica, habiendo generado el programa objeto y obteniendo los resultados correctos en las ltimas pruebas realizadas.

Prueba de Sistema: La prueba del sistema se divide en dos acciones a saber: Definicin de la Estrategia de Prueba. Se crea una muestra de datos que renan las diversas variedades de casos que se pueden presentar durante la operacin del sistema. As mismo se disean datos errneos para verificar que el sistema los detecta. Prueba por Mdulos. Como el sistema esta dividido en varios mdulos, stos se van provocando secuencial y paralelamente para que al liberarse se vayan integrando de acuerdo al orden preestablecido, y de esta manera probar todo el sistema. Control: El control de la programacin requiere la ejecucin de tres tareas: Presentacin del Sistema. Se elabora un documento que contenga la descripcin de los programas, archivos, documentos fuente, repostes y dems resultados del sistema. Revisin del Sistema. Los usuarios repasan el documento, evaluando los resultados contra las especificaciones que haban hecho anteriormente. Modificaciones al Sistema. Se hacen los ajustes a los reportes, programas y archivos que se requieran. Tcnicas. Para un mejor desarrollo de la definicin del mtodo de solucin al problema, se recomienda elaborar la lgica del programa haciendo uso de alguna de estas tcnicas: Programacin Estructurada. Utiliza bsicamente seis algoritmos que al conjugarse, permiten la definicin de cualquier proceso. Los diagramas se muestran en la siguiente Figura 44 as como su simbologa en la Figura 45.

Programacin

75

2 A B C

A B

B A

Haz A B Fin

Si A Entonces B Sino C Fin Si


4 A B 5

Haz B Hasta A Fin

6 A

B A

B C

Si A Entonces B Fin Si

Mientras Haz Fin

A B Caso Haz A B C Z

Fin

Figura 44. Diagramas de una Programacin Estructurada.

76

Ingeniera de Software

Inicio de proceso. Proceso. Una o varias instrucciones, rutinas, programas, etc.


A

Decisin. del lado derecho es afirmativa la accin y del izquierdo negativa. Lnea de flujo. Unin de flujos.

Fin de proceso. Decisin para varias opciones, en donde solo una se efecta.

Figura 45. Simbologa utilizada. El significado de los algoritmos es el siguiente: Procesos Secuenciales. Primero se ejecuta A, despus B y as sucesivamente. Procesos Condicionales. Se evala la condicin A, si es verdadera se ejecuta B de lo contrario C. Proceso Repetitivo. Se ejecuta B hasta que la condicin A sea verdadera. Proceso Condicional Simple. Se evala la condicin A si es verdadera se ejecuta B, de lo contrario se pasa a ala siguiente operacin. Proceso Repetitivo. Mientras que la condicin A sea verdadera se ejecutar B. Proceso Condicional Mltiple. En base a la evaluacin de la condicin A se ejecuta algunos de los procesos B, C, Z.

Los postulados en que se apoya la programacin estructurada son:

Programacin

77

Las acciones de un proceso sern aquellos que conjuguen nicamente a los seis algoritmos presentados. Todo proceso tendr una sola entra y salida, no podr haber varias ni tampoco ser intermedias.

Para tener una idea ms clara del uso de la programacin estructurada y su relacin con el desarrollo descendente y el diseo estructurado, se aprovechar el ejemplo del programa que valida la informacin de un archivo de empleados. En los diagramas que aparecen a continuacin en la Figura 46, para representar el llamado a una rutina, se utiliza el smbolo:
A

Donde A es el nombre de la rutina.

78

Ingeniera de Software

Sistema Inicio Proceso Fin

Abre archivos Abre: Datos Reporte Datos - OK

Valida campos Numero empleado Nombre Numero departamento Numero horas Cuota por hora Deduccin Error de nombre

Numero de empleado

Error de NumEmp

No es numrico

Inicia variables Inicio Abre archivos Inicia variables Lee archivo Proceso Mueve ceros a contadores

Nombre

No es Alfabtico

Numero de departamento

Procesa Registro

Error de Num.Depto. Haya registros

Fuera de (01, 82)

Figura 46.a Diagrama Estructurado.

Programacin

79

Numero de horas

Resultado

Fin Estadsticas

Error de Num. - Hora

Fuera de (01, 44)

Hubo Error Registro errneo Registro correcto Cerrar archivos

Estadsticas Cuota por hora Registro errneo - Calcula el total de reg. Procesados - Imprime est

Error de Cuota - Hora

No es numrico

- Reportar error - incrementar cont. error

Registro correcto Deduccin - Grabar registro - Incrementar contador de correctos

Cerrar archivos Cierra: Datos Reporte Datos - ok

Error de deduccin

No es numrico

Lee archivo

Lee archivo de datos

Figura 46.b Diagrama Estructurado.

80

Ingeniera de Software

Pseudocdigo Espaol Estructurado. Utiliza los mismos principios y elementos de la programacin estructurada, siendo la nica deferencia que en lugar de usar diagramas, emplea las palabras con el mismo significado (haz, si, fin, hasta, etc.). Veamos el mismo programa de validacin empleando esta tcnica: Rutina sistema Llama inicio Llama proceso Llama fin Salida Rutina inicio Llama abre archivos Llama inicia variables Llama lee archivo Salida Rutina abre archivos Datos Reporte Datos ok Salida Rutina inicia variables Mueve ceros a los contadores de: Registros con error Registros sin error Salida Rutina proceso Mientras haya registros Llama procesa registro Fin se termino el archivo Salida Rutina procesa registro Llama valida campos Llama resultado Llama lee archivo Salida Rutina valida campos Llama numero de empleado Llama nombre Llama numero departamento Llama numero de horas Llama cuota por hora

Programacin

81

Llama deduccin Salida Rutina numero de empleado Si numero empleado no es numrico Entonces Error de numero empleado Fin si Salida Rutina nombre Si nombre no es alfabtico Entonces Error de nombre Fin si Salida Rutina numero departamento Si numero departamento no esta en (01, 82) Entonces Error de numero departamento Fin si Salida Rutina numero de horas Si numero horas no esta en (001, 144) Entonces Error de numero departamento Fin si Salida Rutina cuota por hora Si cuota hora no es numrico Entonces Error de cuota hora Fin si Salida Rutina deduccin Si deduccin no es numrico Entonces Error de deduccin Fin si Salida

82

Ingeniera de Software

Rutina resultado Si hubo error Entonces Llama registro errneo Sino Llama registro correcto Fin si Salida Rutina registro errnea Reporta errores detectados Incrementa contador de error Salida Rutina registro correcto Grabar registro Incrementar contador de correctos Salida Rutina lee archivo Lee un registro del archivo de datos Salida Rutina fin Llama estadsticas Llama cerrar archivos Salida Rutina estadsticas Calcula el total de registros Procesados Imprime estadsticas Salida Rutina cerrar archivos Cierra los archivos Datos Reporte Datos ok Salida Estructuracin Lgica de Procesos (ELP). La consecuencia de estructurar, lgicamente las salidas, los datos, las bases de datos y las funciones; son los procesos efectuados, es decir, las acciones efectivas que permiten realizar la transformacin de datos de entrada en datos de salida, las acciones se ordenan en las estructuras lgicas de proceso, stas se forman mediante un verbo imperativo y un complemento directo, pro ejemplo:

Programacin

83

Suma total-hombres-municipio a total-hombres-estado Mueve ceros a total-hombres-municipio Escribe total de ventas Lee primer registro de movimientos de almacn Examina punto de orden Analiza Transacciones De esta manera expresamos, instrucciones que transforman datos, y como resultado logramos el diseo lgico de un programa. El nombre de estructuracin lgica se debe a que el proceso (conjunto de acciones) se hace mediante construcciones bsicas, mapeando, los requerimientos de entrada a salida, considerando las reglas de clculo y las constantes de salida; como las funciones, los procesos comienzan, mediante una descomposicin de las jerarquas en: inicio, parte media y fin (anlisis), cada conjunto formado (sntesis), se le aplica el mismo tratamiento hasta llegar al detalle que facilite el mapeo fsico a las instrucciones de algn lenguaje de programacin. Al evaluar la estructura de datos, se deduce la estructura del proceso como su derivacin lgica, sea por ejemplo que simplemente queremos listar un archivo. Para ello se muestran las Figuras 47, 48 y 49 con las Estructuras Lgica de Datos, de Proceso, y de Salida respectivamente:

Registro Entrada

Registro (R)

Dato 1 Dato 2 Dato 3

Figura 47. Estructura Lgica de Datos.

84

Ingeniera de Software

Inicia programa

Abre archivo. Mueve cifras a cifras control. Escribe listado. Lee primer registro. Mueve datos entrada a datos salida. Imprime registro de salida. Lee siguiente registro. Imprime cifras control Cierra archivos

Programa

Procesa registro (R) Termina programa

Figura 48. Estructura Lgica de Proceso. Listado

Encabezado

Archivo salida

Registro (R) Cifras control

Dato 1 Dato 2 Dato 3 Ledos Impresos

Figura 49. Estructura Lgica de Salida. La forma clsica de representar un programa mediante diagrama de flujo, en forma sugerida por Warnier es como lo muestra la Figura 50. Inicia Programa Procesa Registro (R) Termina Programa
inicia

Archivo salida

procesa

Figura 50. Diagrama de Warnier en Forma Clsica.

fin

Programacin

85

Un mapeo fsico directo a COBOL (lenguaje de programacin reconocido para aplicaciones en cualquier clase de negocios), sera en la parte de Procedure Divisin. Procedure divisin Genera listado Perform inicia programa Perform procesa registro until (B fin registro equal verdadero) Perform termina programa Stop run Una aclaracin importante; cunado diseamos la estructura lgica de proceso debemos tener presente lo lgico antes de lo fsico, es decir, primero tenemos que estar seguros que lgicamente es lo que queremos; problemas fsicos como el salto de hoja, uso de formateadotes de pantallas, editores, compiladores excelentes, lenguajes mas cientficos, no deben restringir lo lgico, creemos que este tipo de detalles, son la causa de muchos errores, y de hecho; hasta hoy, le hemos dado importancia al diseo, debido a que, libros, maestros y escuelas, eran propagandistas del CODIGE, de los lenguajes, de que tal mquina era lo mximo en arquitectura, y realmente vemos que antes de cualquier solucin debemos plantear el problema, porque sin duda; un problema no planteado es un problema no resuelto. Para continuar con nuestra exposicin de estructuras lgicas de proceso y comprender ms a detalle como se utiliza la herramienta definiremos los pasos para lograr el (ELP): Definir la estructura lgica de salida. Definir la estructura lgica de datos. o Listar los datos sealando constantes, clculo y datos primarios. o Obtener en base a los datos primarios, la estructura lgica de datos, o entrada ideal. Identificar las jerarquas que deben ejecutarse de la entrada ideal. Mapear las jerarquas a una estructura lgica de proceso, sealando que se trata de un proceso. Agregar a cada conjunto jerrquico dos conjuntos, uno de inicio y otro de terminacin. Si la entrada tiene estructuras alternativas, sta se descomponen en una estructura lgica alternativa formando un conjunto de inicio, una parte donde se examina, analiza, compara, selecciona; la alternativa y un conjunto de terminacin puede estar vacos, si esto sucede se pueden omitir o colocar la frase nulo.

Cada conjunto se va llenando de acuerdo a los siguientes criterios: En los conjuntos de inicio o En el primero de izquierda a derecha se deben abrir archivos. o Se deben iniciar a cero los acumuladores. o Se deben imprimir los encabezados y datos referidos en el nivel de salida.

86

Ingeniera de Software

o Se deben guardar las claves de control para efectuar el cambio. o En el primer conjunto de izquierda a derecha se debe hacer una lectura inicial al primer registro ideal. o Se deben poner en falso las banderas de control para efectuar el cambio. En los conjuntos de terminacin. o Se deben imprimir los prrafos de totales correspondientes al nivel de salida. o Se deben imprimir los datos, sumarizados en ese nivel. o Si no es el primero de izquierda a derecha, se deben sumar los sumadores al nivel izquierdo anterior. o Si es el primero de izquierda a derecha se deben enviar las cifras de control y cerrar archivos. El ltimo conjunto de la parte media, debe considerar despus de ejecutar las operaciones correspondientes a ese nivel, leer el siguiente registro.

Para ilustrar concretamente como desarrollar una estructura lgica de proceso, supongamos que se desean entregar pedidos a los diferentes estados de la Repblica mediante una lista que muestre la clave de clientes, direccin, por Estado, as como la orden del pedido o varios pedidos si es el caso, contando cuantos pedidos existen por cliente, por Estado y la empresa. Fsicamente un esqueleto que muestra esto sera como se muestra en la Figura 51.

Fecha de impresin Estado Clave cliente

Entrega de pedidos

Nombre cliente

Direccin Total pedidos

Pedido

Clave cliente Total pedidos Total pedidos por Estado Total pedidos Total pedidos por Estado Total pedidos por entregar Figura 51. Reporte Jerarquizado.

PARTE 6. IMPLANTACIN Y PRODUCCIN

6. IMPLANTACIN Y PRODUCCIN
6.1 OBJETIVO
La implantacin es la etapa encargada de garantizar el adecuado funcionamiento del sistema, a travs de una prueba exhaustiva, la elaboracin de la documentacin y la capacitacin al personal que se encargar de manejarlo.

6.2 ACTIVIDADES
Entre las funciones que se realizan durante la implantacin de un sistema se encuentran: Planeacin: Objetivos. Se definen los alcances de la implantacin, el ti de pruebas a realizar y capacitacin a proporcionar. Estrategias. Se disean los casos de prueba y la metodologa de capacitacin. Recursos. Se asignan los recursos necesarios para la implantacin; humanos, materiales, equipo, etc. Calendario. Se establecen la secuencia de actividades, el tiempo para su desarrollo y la fecha de realizacin.

Prueba del Sistema: Definicin de la Prueba. Se establece la clase de resultados que deber arrojar la prueba, el marco de muestra de datos que se utilizarn y la secuela de procesos que participarn. Elaboracin de los datos de Prueba.- Se pueden tomar datos reales o bien, generar algunos que cubran las caractersticas de tipo y variedad que se manejarn en condiciones reales. Ejecucin de la Prueba. Se introducen los datos a la secuencia de procesos preestablecidos. Anlisis de Resultados. Se revisan los resultados arrojados por la prueba, comparndolos contra las especificaciones del sistema, las requisiciones hechas por el usuario y en caso, por resultados semejantes producidos por los mtodos tradicionales a quienes se pretende reemplazar. Ajustes al Sistema. Se realizan las modificaciones pertinentes al sistema, conforme a las observaciones, desviaciones y errores detectadas.

Documentacin del Sistema: Orientacin de la Documentacin. La documentacin integral de un sistema de informacin est orientada a la participacin de tres entidades en el funcionamiento del sistema: o El rea de tcnica esta rea es la encargada de la construccin y mantenimiento del sistema. o El rea usuaria es la responsable de entregar la informacin, de recibir los resultados que arroja el sistema y en su caso de operar algunos procesos. o El rea de operacin cuando un sistema es liberado para su operacin a un rea especializada, esta deber tener los elementos necesarios para su manejo.

90

Ingeniera de Software

Integracin de la Documentacin. La idea fundamental para lograr una adecuada y oportuna documentacin del sistema, es traducir los resultados relevantes de las actividades realizadas en cada etapa del ciclo de desarrollo. Por lo que la documentacin del sistema se elabora un paralelo a su construccin, y no al final 8como normalmente sucede). De lograrse lo anterior, en esta etapa se integran bebidamente los elementos de documentacin ms significativos y se elaboran los faltantes. Elementos de Documentacin. Para ofrecer una visin ms clara del contenido de la documentacin de un sistema de informacin, a continuacin se presenta una tabla que indica cuales son los elementos, a quin estn orientados y en que etapa de desarrollo se debern realizar. Asimismo, se anexan los ejemplos de cada formato empleado, en donde la relacin de salidas, entradas y programas; correspondern a los empleados por el sistema en cuestin.

Es importante destacar que el propsito de la documentacin es brindar una descripcin plena, completa y actualizada de la estructura, contenido y elementos del sistema, por lo que resulta importante seleccionar, la cantidad mnima indispensable de informacin a documentar, para que se facilite su elaboracin, actualizacin y manejo sin perder su objetivo. Capacitacin: reas Participantes. Se identifican las personas que intervendrn en la operacin del sistema y que por lo tanto, debern prepararse en su manejo. Elaboracin del Programa de Capacitacin. Se establece el contenido temtico, la forma de exposicin y el material que se emplear. Desarrollo de la Capacitacin. Deber ser terico-prctica, tratando de simular la operacin del sistema.

Control: Presentacin del Sistema. Se elaboran los informes de actividades y se expone la documentacin del sistema. Evolucin. Se revisan los resultados alcanzados y se determinan posibles ajustes al sistema, a efecto de proceder a su Liberacin. Liberacin. El sistema est en condicin de iniciar su operacin regular, por lo que se hacen los procedimientos necesarios para ponerlo a funcionar a partir de la fecha convenida.

6.3 TCNICAS
Como apoyo a la ejecucin de las actividades expuestas, se recomienda el empleo de las siguientes tcnicas: Prueba en Paralelo. Cuando un sistema va a reemplazar a otro, se escoge una muestra de datos para que ambos la procesen, comparando los resultados, tiempo y esfuerzos que emplearon cada uno de ellos. Es de esperar que el nuevo brinde mayores beneficios que el original.

Implantacin y Produccin

91

Sesiones Estructuradas de Revisin. Se establece un grupo con la participacin de las diversas reas involucradas en el proyecto, en donde se nombra a un coordinador que dirige la presentacin, revisin y evaluacin del trabajo realizado por el personal tcnico que ha creado el sistema. Se examina cuidadosamente el trabajo, validando su contenido y registrando los posibles errores, para que al final se proponga su solucin.

6.4 OPERACIN
El objetivo de la operacin de un sistema, es el de realizar adecuadamente los procedimientos de alimentacin y tratamiento de los datos, en la generacin de los resultados esperados. Las acciones que normalmente se realizan en la operacin de un sistema son las siguientes: Planeacin. Se establece el calendario de funcionamiento del sistema conforme a su periodicidad. Alimentacin de informacin: Recopilacin de datos Codificacin de datos en los documentos fuente preestablecidos. Captura de los documentos. Validacin y Correccin de los datos capturados. Actualizacin de archivos. Tratamiento de la Informacin. Se realizan los diversos procesos de seleccin, clasificacin, clculo, etc. necesarios en el manejo de la informacin recibida. Explotacin de la Informacin. Una vez procesada la informacin, se procede a la generacin de los diversos tipos de salidas (reportes, pantallas, archivos magnticos, etc.) conforme a su requisicin. Proteccin del Sistema. Se debern realizar los respaldos necesarios al sistema despus de cada modificacin o actualizacin procurando o conservar el nmero adecuado de versiones. Control. Es necesario tener un control del uso del sistema, documentos que reciben resultados que se han generado, respaldos realizados, etc. Evitar la Degradacin del Equipo. Al operar el sistema se buscar el horario adecuado para que aproveche al mximo los recursos del computador (procesador, memoria y perifricos), reduciendo su comparticin con otros.

6.5 RECOMENDACIONES EN LA OPERACIN


Para un adecuado uso del sistema se hacen las siguientes observaciones: Tener personal capacitado en su operacin. Contar con la documentacin necesaria y debidamente actualizada. Llevar una adecuada programacin y control de la operacin, calendario, recursos, documentos y resultados.

92

Ingeniera de Software

Emplear medidas de seguridad en el acceso al sistema, solamente personal autorizado lo podr manejar. Ejecutar correctamente los procedimientos que integran el sistema, respetando el orden de las operaciones.

6.6 MANTENIMIENTO
El mantenimiento se encarga de corregir las fallas detectadas durante la operacin de un sistema de informacin, as como el de realizar las modificaciones pertinentes a los nuevos requerimientos que se van presentando. Las principales funciones que se realizan en el mantenimiento de un sistema son las siguientes: Planeacin. Consiste en la deteccin (falla) o planteamiento del nuevo requerimiento. Definicin de los Ajustes a realizar. Se hace un anlisis del cambio a efectuar, considerando: Grado de Dificultad. Se estima el esfuerzo, costo y tiempo se llevara la modificacin. Repercusiones. Se vislumbran la consecuencias en la estructura, contenido y funcionamiento del sistema. Factibilidad. En base a los recursos requeridos y los disponibles, se decide la posibilidad de aplicar la modificacin.

Ejecucin de las Modificaciones. Se llevan a cabo las modificaciones necesarias para satisfacer al requerimiento planteado. Pruebas de la Modificaciones. Se prueban exhaustivamente los cambios hechos al sistema, procurando detectar y corregir posibles errores. Liberacin. Se actualiza la documentacin y se procede a informar y adiestrar al personal involucrado en la operacin del sistema.

6.7 RECOMENDACIONES EN EL MANTENIMIENTO


Para lograr un adecuado mantenimiento al sistema, se hacen las siguientes sugerencias: Tener un seguimiento del sistema, a efecto de evaluar la alimentacin de datos, ejecucin de procesos, revisin de resultados y respaldo de la informacin. Evaluar el empleo de recursos y tiempo de respuesta que ocupa el sistema en su operacin, para optimizarla. Analizar detalladamente las fallas detectadas, as como los nuevos requerimientos antes de iniciar cualquier alteracin. Incorporar las experiencias y avances tecnolgicos para la optimizacin del sistema. Respaldar el sistema antes de comenzar los cambios. Durante la modificacin, respetar las normas, estndares y procedimientos que han respaldado la construccin del sistema. Probar detenidamente las modificaciones realizada. Una vez realizado el cambio:

CONCLUSION

CONCLUSION
A medida que se van creando ms aplicaciones en la computadora, se despiertan otras inquietudes, por lo que la capacidad de los recursos disponibles se ve saturada. Por esto es importante hacer un buen uso de ellos, procurando aprovecharlos al mximo mediante la tecnologa ms adecuada que garantice el xito en las tareas emprendidas. La metodologa expuesta est encaminada a brindar una lnea de accin en la definicin y construccin de un sistema de informacin, por lo que a travs de su conocimiento y aplicacin se podrn obtener diversas experiencias, que permitirn al usuario desarrollar cada vez ms y mejores sistemas.

REFERENCIAS

REFERENCIAS
Introduccin al rea de Computacin Gabriel Gmez Centro de Servicios de cmputo UNAM Enfoque de Sistemas Grijalva Limusa, S. A. Sistemas de Informacin Basados en Computadora Robert G. Murdick y Joel E. Ross Diana Sistemas de Informacin para la Gerencia James M. Mckeever Limusa Control del Ciclo de Desarrollo de los Sistemas de Informacin Robert J. Benjamn Limusa Manual de los Sistemas de Informacin Hartman Phillips Structured Systems and System Specification Tom de Marco Pretice Hall Structured Systems Analysis: Tools and Techniques Chris Game y Trish Sarson Pretice Hall Tablas de Decisiones, Teora y Prctica Pollack, Hicks y Harrison Limusa The Anlisis of Information Systems Charles T. Meadow Melville Design and Analysis of Software Systems Alan Daniels y Don Yeates Petrocelli Books Data Processing Systems Analysis and Design

100

Ingeniera de Software

Robert. Condon Reston Publishing Company Introduccin al Diseo de Sistemas Enid Square Diseo de Sistemas de Computacin Laden, Giloersleeve Limusa Structured Design Fundamentals of a Discipline of Computer Program and Systems Design Edwaro Yourdon, Larry Constantine Prentice Hall Programming Laguage Concepts Chezzi Willey Manual de Reglas para el Programador Ledin Diana Sistemas de Informacin Teora y Prctica John Burch, Flix Strater Willey

Impreso en los Talleres Grficos de la Direccin de Publicaciones del Instituto Politcnico Nacional Revillagigedo 83, Centro Histrico, 06070, Mxico, D.F. Enero de 2006. Edicin: 1era. Tiraje: 100 ejemplares Diseo Portada. Alejandro Pea Ayala Fotografa de la Portada: Port Lockroy, Brithsh Post, 65 Sur, Expedicin a la Antrtida, Diciembre 2001

La Ingeniera de Software es la herramienta logstica para la creacin, implementacin y mantenimiento de sistemas de informacin, la cual se compone por una metodologa, procedimientos, tcnicas e instrumentos. Con este acervo de elementos, la Ingeniera de Software se orienta la ejecucin de las actividades y la generacin de productos, que paulatinamente dan vida a un sistema de informacin. La Ingeniera de Software busca encausar los esfuerzos por sistematizar los procesos de informacin dedicados a satisfacer los requerimientos expresados por los usuarios. Quienes reclaman contar con los datos, reportes y formas de consulta asequibles, confiables y oportunos para el ejercicio de su labor cotidiana y toma de decisiones. Al contar con una gua y repertorio de instrumentos, el responsable de construir un sistema de informacin puede desarrollar sus tareas progresivamente al transitar por las etapas que componen la metodologa de Ingeniera de Software. En esta obra, se ofrece al lector un mtodo, tcnicas y formatos dedicados a realizar las ms diversas actividades involucradas en la confeccin de un sistema de informacin. En los captulos se presentan cada una de las etapas que integran el mtodo y se muestran ejemplos de los resultados que generan las actividades. A lo largo del libro, se aprecia la construccin gradual de un sistema. La obra se dedica a los estudiantes, profesionistas y especialistas del mbito de los sistemas, la Informtica y la Computacin, que estn interesados en ampliar sus conocimientos para desarrollar sistemas de informacin basados en un mtodo de la Ingeniera de Software.
ISBN: 970-94797-0-9 # 001

You might also like