Date post: | 30-Jun-2015 |
Category: |
Technology |
Upload: | fsilsca |
View: | 3,815 times |
Download: | 0 times |
Universidad Veracruzana
Fundamentos de Sistemas de Informacioacuten
ME Patricia Arieta Melgarejo
Mayo de 2008
Aacuterboles de decisioacuten
Los aacuterboles de decisiones son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Caracteriacutesticas Es un diagrama que se representa en forma
secuencial decisiones y acciones Muestra la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La secuencia de decisioacuten comienza en la raiacutez del aacuterbol de izquierda a derecha
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones
Beneficios
Describe condiciones y acciones ayudan a identificar de manera formal las decisiones que actualmente deben tomarse
Beneficios
Tener diferentes formas de decir la misma cosa puede crear dificultades de comunicacioacuten durante los estudios de sistemas
Los aacuterboles de decisioacuten son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Elementos
CONDICIONES
Estados posibles de los eventos
Conducen a la seleccioacuten de
ACCIONES
Alternativas pasos actividades o
procedimientos que deben emprenderse cuando se toma una decisioacuten especiacutefica
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Aacuterboles de decisioacuten
Los aacuterboles de decisiones son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Caracteriacutesticas Es un diagrama que se representa en forma
secuencial decisiones y acciones Muestra la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La secuencia de decisioacuten comienza en la raiacutez del aacuterbol de izquierda a derecha
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones
Beneficios
Describe condiciones y acciones ayudan a identificar de manera formal las decisiones que actualmente deben tomarse
Beneficios
Tener diferentes formas de decir la misma cosa puede crear dificultades de comunicacioacuten durante los estudios de sistemas
Los aacuterboles de decisioacuten son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Elementos
CONDICIONES
Estados posibles de los eventos
Conducen a la seleccioacuten de
ACCIONES
Alternativas pasos actividades o
procedimientos que deben emprenderse cuando se toma una decisioacuten especiacutefica
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Los aacuterboles de decisiones son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Caracteriacutesticas Es un diagrama que se representa en forma
secuencial decisiones y acciones Muestra la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La secuencia de decisioacuten comienza en la raiacutez del aacuterbol de izquierda a derecha
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones
Beneficios
Describe condiciones y acciones ayudan a identificar de manera formal las decisiones que actualmente deben tomarse
Beneficios
Tener diferentes formas de decir la misma cosa puede crear dificultades de comunicacioacuten durante los estudios de sistemas
Los aacuterboles de decisioacuten son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Elementos
CONDICIONES
Estados posibles de los eventos
Conducen a la seleccioacuten de
ACCIONES
Alternativas pasos actividades o
procedimientos que deben emprenderse cuando se toma una decisioacuten especiacutefica
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Caracteriacutesticas Es un diagrama que se representa en forma
secuencial decisiones y acciones Muestra la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La secuencia de decisioacuten comienza en la raiacutez del aacuterbol de izquierda a derecha
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones
Beneficios
Describe condiciones y acciones ayudan a identificar de manera formal las decisiones que actualmente deben tomarse
Beneficios
Tener diferentes formas de decir la misma cosa puede crear dificultades de comunicacioacuten durante los estudios de sistemas
Los aacuterboles de decisioacuten son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Elementos
CONDICIONES
Estados posibles de los eventos
Conducen a la seleccioacuten de
ACCIONES
Alternativas pasos actividades o
procedimientos que deben emprenderse cuando se toma una decisioacuten especiacutefica
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Beneficios
Describe condiciones y acciones ayudan a identificar de manera formal las decisiones que actualmente deben tomarse
Beneficios
Tener diferentes formas de decir la misma cosa puede crear dificultades de comunicacioacuten durante los estudios de sistemas
Los aacuterboles de decisioacuten son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Elementos
CONDICIONES
Estados posibles de los eventos
Conducen a la seleccioacuten de
ACCIONES
Alternativas pasos actividades o
procedimientos que deben emprenderse cuando se toma una decisioacuten especiacutefica
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Beneficios
Tener diferentes formas de decir la misma cosa puede crear dificultades de comunicacioacuten durante los estudios de sistemas
Los aacuterboles de decisioacuten son uno de los tres meacutetodos que se emplean para describir decisiones y que evita dificultades en la comunicacioacuten
Elementos
CONDICIONES
Estados posibles de los eventos
Conducen a la seleccioacuten de
ACCIONES
Alternativas pasos actividades o
procedimientos que deben emprenderse cuando se toma una decisioacuten especiacutefica
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Elementos
CONDICIONES
Estados posibles de los eventos
Conducen a la seleccioacuten de
ACCIONES
Alternativas pasos actividades o
procedimientos que deben emprenderse cuando se toma una decisioacuten especiacutefica
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Caracteriacutesticas Diagrama que representa en forma secuencial
condiciones y acciones Muestra queacute condiciones se consideran en primer
lugar cuaacuteles en segundo y asiacute sucesivamente Permite mostrar la relacioacuten que existe entre cada
condicioacuten y el grupo de acciones permisibles asociado con ella
La raiacutez del aacuterbol es el punto donde comienza la secuencia de decisioacuten
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Caracteriacutesticas La rama a seguir depende de las condiciones
existentes y de la decisioacuten que debe tomarse Al avanzar de izquierda a derecha por una rama en
particular se obtiene una serie de toma de decisiones Los nodos del aacuterbol representan condiciones y
sentildealan la necesidad de tomar una determinacioacuten relacionada con la existencia de alguna de eacutestas antes de seleccionar la siguiente trayectoria
La parte que se encuentra a la derecha del aacuterbol indica las acciones que deben realizarse las que a su vez dependen de la secuencia de condiciones que las preceden
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Secuencia de decisiones
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Ejercicio
A menudo la empresa ofrece diferentes descuentos en la venta de mercanciacutea de acuerdo con el volumen del pedido Una compantildeiacutea puede basar el monto de sus descuentos sobre tres valores diferentes de la condicioacuten Volumen de pedido
En la compra de mercanciacutea con maacutes de 10000 doacutelares se ofrece el 3 de desc
Entre 5000 y 10000 el 2 de desc Y menos de 5000 sin ninguacuten descuento
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Representacioacuten
Condicioacuten Accioacuten
Volumen de pedido Maacutes de 10000 Efectuar desc Del 3 sobre el monto de compra
Entre 5000 a 10000 Efectuar desc Del 2 sobre el monto de la compra
Menos de 5000 Pagar el monto total de la factura
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Representacioacuten
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Evitando problemas Los aacuterboles de decisioacuten no siempre son las mejores
herramientas para el anaacutelisis de decisiones El aacuterbol de decisioacuten de un sistema complejo con muchas secuencias de pasos y combinaciones de condiciones puede tener un tamantildeo considerable
El gran nuacutemero de ramas que pertenecen a varias trayectorias constituye maacutes un problema que una ayuda para el anaacutelisis En estos casos los analistas corren el riesgo de no determinar queacute poliacuteticas o estrategias de la empresa son la guiacutea para la toma de decisiones especiacuteficas
Cuando aparecen estos problemas entonces es momento de considerar las tablas de decisioacuten
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Ejercicio para resolver
La compantildeiacutea de vuelos locales e internacionales AEROLINEAS AEREAS SA aplica la siguiente poliacutetica para el servicio de coacutecteles
Si el vuelo estaacute ocupado maacutes de la mitad y el pasaje cuesta maacutes de U$S150- por asiento se sirve coacutectel sin cargo salvo que se trate de un vuelo local
Los coacutecteles se cobran en todos los vuelos locales
Soacutelo en vuelos que estaacuten cubiertos maacutes de la mitad se sirven coacutecteles
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Tablas de decisioacuten
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Especificacioacuten Es un modelo alternativo que muestra la funcioacuten
en forma tabular o matricial
Para ello hay que definir la parte de condicioacuten
formada por un conjunto de condiciones y entradas
de condiciones y la parte de accioacuten formada por un
conjunto de acciones y entradas de accioacuten
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
La tabla de decisioacuten es una matriz de renglones y columnas que indican condiciones y acciones Las reglas de decisiones incluidas en una tabla de decisioacuten establecen el procedimiento a seguir cuando existen ciertas condiciones Este meacutetodo se emplea desde mediados de la deacutecada de los 50 cuando fue desarrollado por General Electric para el anaacutelisis de funciones de la empresa como control de inventarios anaacutelisis de ventas anaacutelisis de creacuteditos y control de transporte y rutas Se utiliza la tabla de decisioacuten cuando existen muchas combinaciones
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Caraacutecteriacutesticas
La tabla de decisioacuten estaacute integrada por cuatro secciones
Identificacioacuten de Condiciones Entradas de Condiciones Identificacioacuten de Acciones Entradas de Acciones
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Caracteriacutesticas La Identificacioacuten de Condiciones sentildeala aquellas
que son relevantes Las Entradas de Condiciones indican que valor
si es que los hay se debe asociar para una determinada condicioacuten
Las entradas de Acciones muestran las acciones especiacuteficas del conjunto que deben emprenderse cuando ciertas condiciones o combinaciones de eacutestas son verdaderas
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Caracteriacutesticas
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Utilidad Permite representar la descripcioacuten de situaciones
decisivas es decir se representan las distintas alternativas estados de la naturaleza y las consecuencias
Nos proporcionan una descripcioacuten completa correcta clara y concisa de una situacioacuten que se resuelve por una decisioacuten tomada en un momento especiacutefico del tiempo
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Construccioacuten Para desarrollar tablas de decisioacuten se deben
emprender los siguientes pasos1 Determinar los factores considerados como maacutes
relevantes en la toma de decisiones Esto permite identificar las condiciones en la decisioacuten Cada condicioacuten seleccionada de detener la caracteriacutestica de ocurrir o no ocurrir en este caso no es posible la ocurrencia parcial
2 Determinar los pasos o actividades maacutes factibles bajo condiciones que cambian (no soacutelo las condiciones actuales) Esto permite identificar las acciones
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Construccioacuten
3 Estudiar las diferentes posibilidades de combinaciones de condiciones Para cualquier nuacutemero N condiciones existen 2n combinaciones a considerar por ejemplo para tres condiciones es necesario examinar ocho posibles combinaciones 23= 8
4 Llenar la tabla con reglas de decisiones
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Construccioacuten
Existen dos formas para hacerloLa primera escenario los renglones de condicioacuten con valores siacute o no para cada combinacioacuten posible de condiciones Esto es llenar la primera mitad del rengloacuten consigo y la otra mitad con no El siguiente rengloacuten se llena alternando con S y N repitieacutendose este proceso hasta llenar la tabla
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Construccioacuten
El otro meacutetodo para llenar la tabla considera una condicioacuten a la vez y por cada condicioacuten adicional la antildeade a la tabla pero sin considerar las combinaciones de condiciones y acciones duplicados
A) Establece la primera condicioacuten y todas las acciones permisibles
B) Antildeadir la segunda condicioacuten duplicando la primera mitad de la matriz y llenando los diferentes valores S y N de las dos mitades de la matriz aumentada con las nuevas condiciones
C) Para cada condicioacuten adicional repite el paso b
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Construccioacuten
5 Marcar las entradas correspondientes a las acciones con una X para indicar que eacutestas se emprenden dejar las celdas vaciacuteas o marcadas con un guioacuten para sentildealar que en ese rengloacuten no emprende ninguna accioacuten
6 Examinar la tabla para detectar reglas redundantes o contradicciones entre estas
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
ConstruccioacutenEstos sencillos lineamientos no soacutelo ahorran tiempo al construir una tabla de decisiones a partir de informacioacuten recopilada durante la investigacioacuten sino que tambieacuten es de ayuda para sentildealar donde falta informacioacuten donde no importan las condiciones en un proceso o donde existen relaciones o resultados importantes que otros no detectaron o consideraron
En otras palabras el empleo de las tablas de decisioacuten produce un anaacutelisis maacutes completo y exacto
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Ejemplo
Un cliente de una entidad bancaria solicita un creacutedito El creacutedito se aprueba cuando no se ha rebasado su liacutemite de endeudamiento si los creacuteditos anteriores se han pagado cumplidamente o se tiene autorizacioacuten directa del gerenteSe supone que solicita un creacutedito y liacutemite de credito se han definido cualitativamente
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Pasos de construccioacuten
La tabla de decisioacuten se construye en la siguiente forma
1 Se determina el nuacutemero de reglas con base en el caacutelculo del producto de las permutaciones Para este caso se tiene
Tiene cupo de creacutedito Dos posibilidades Ha pagado cumplidamente Dos posibilidades Autorizacioacuten directa del gerente Dos posibilidades
Por lo tanto hay 23 = 8 posibles reglas
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Pasos de construccioacuten
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
2 Se listan todas las condiciones y todas las acciones y se dibujan las columnas para cada regla
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Pasos de construccioacuten
3 Se desarrollas todas las posibles combinaciones de condiciones de manera sistemaacutetica El nuacutemero de combinaciones es N= nrDonde
n es el nuacutemero de posibles estadosr es el nuacutemero de filas de condicionesPara este caso N = 83 = 24
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
S N S N S N S N
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Pasos de construccioacuten
4 Una vez se han establecido las entradas de condiciones se indican las acciones apropiadas para cada regla
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S S N N N NS S N N S S N NS N S N S N S N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X X X X X X X X
Figura 28 Tabla de decisioacuten llena
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Pasos de construccioacuten
5 Se reagrupa la tabla de tal manera que las reglas que produzcan acciones similares queden juntas
Reglas
1 2 3 4 5 6 7 8
Tiene cupo de creacuteditoHa pagado cumplidamente
S S S N N N S NS S N S S N N NS N S S N S N N
Autorizacioacuten directa del gerenteConcesioacuten de creacutedito
X X X X X X X XX X X X X X X X
Figura 29 Tabla de decisioacuten final
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Pasos de construccioacuten Se puede observar que las reglas siete y ocho son independientes de la condicioacuten uno por lo cual se puede eliminar de la tabla
Los pasos anteriores producen una tabla de decisioacuten que no tiene ambiguumledades con respecto a las condiciones de procesamiento y sus consecuencias Las tablas de decisioacuten se usan para describir modelos de distintos procesos accioacuten-condicioacuten y para maacutequinas de estado finito
Existen herramientas que traducen las tablas de decisioacuten a coacutedigo fuente de lenguajes de programacioacuten__
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Ejemplo
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Ejercicio
Supongamos la poliacutetica de descuentos que realiza una empresa sobre los pedidos de sus clientes dependiendo del volumen de compras del antildeo anterior Si se trata de clientes con maacutes de 5 antildeos de antiguumledad se le aplica un descuento del 25 si el valor de los pedidos anuales es superior a 5000000 pts Si el montante de los pedidos se encuentra entre los valores 3000000 pts y 5000000 pts el descuento efectuado seraacute del 15 y si no se alcanza la cifra de 3000000 pts se aplicaraacute el 10 Para clientes entre 3 y 5 antildeos de antiguumledad se aplicaraacute el 11 para compras por valor superior a 4000000 pts y el 5 por valor igual o inferior Si tienen menos antildeos de antiguumledad se aplicaraacute el 9 si el valor de compras es superior a 4000000 pts A los clientes clasificados como especiales se les aplicaraacute un descuento de 25 si el
Voluacutemen de compras supera los 5000000 pts o del 20 en caso contrario
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
HIPO
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Siglas
Hierarchical Input-Process-Outputrdquo Es un diagrama jeraacuterquico insumo-
proceso-producto es una teacutecnica diagramaacutetica que utiliza una serie de diagramas para mostrar el insumo producto y las funciones de un sistema
Muestra que hace el sistema pero no como lo hace (Martin amp McClure 1985)
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
La hipoacutetesis en la que HIPO se basa es que es faacutecil perder la pista de la funcioacuten deseada de un sistema o componente de un sistema grande Esta es una razoacuten por la que es difiacutecil comparar los sistemas existentes contra sus especificaciones originales (y por lo tanto porque pueden ocurrir fallas incluso en los sistemas teacutecnicamente bien formulados)
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Desde el punto de vista del usuario una sola funcioacuten puede a menudo extenderse a varios moacutedulos por lo tanto el intereacutes del analista es entender describir y documentar los moacutedulos y su interaccioacuten de forma que se obtenga el detalle suficiente pero que no se pierda de vista el panorama general
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
El diagrama HIPO son descripciones graacuteficas del sistema en vez de prosa o narrativa Ayudan a los analistas a responder tres preguntas guiacutea
1 iquestQueacute hace el sistema o moacutedulo (Se pregunta al disentildear el sistema)
2 iquestCoacutemo lo hace
3 iquestCuaacuteles son las entradas y las salidas Una descripcioacuten de HIPO para un sistema consta de una tabla visual de contenidos y los diagramas funcionales
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Tipos de diagrama
Existen tres clases de diagramas HIPO
Tabla de contenido visual los diagramas generales y Los detallados
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Tabla de Contenido Visual
La tabla de contenido visual es el nivel superior del diagrama de HIPO Es una estructura en forma de aacuterbol que muestra los componentes generales de un sistema No ofrece informacioacuten de control ni describe los datos en el sistema
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Tabla de Contenido Visual
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Diagrama General
En el diagrama general se describen los insumos los procesos y productos de los componentes principales del sistema El propoacutesito es proveer de un conocimiento general de una funcioacuten
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Diagrama General
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Diagrama Detallado
El diagrama detallado provee de la informacioacuten necesaria para entender cuales son los insumos procesos llevados a cabo y el producto de un componente funcional
En el diagrama la parte identificada como Insumo se encuentra a mano derecha y muestra los datos ya sean documentos tablas arreglos archivos y otros que son necesarios para el proceso
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Ambos tipos de diagramas los generales y detallados se parecen en el formato utilizado Este consiste en tres cajas o rectaacutengulos identificados de la siguiente forma Insumo Proceso y Producto
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Jackson
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Jackson
Esta metodologiacutea creada por el ingleacutes Michael Jackson se basa en que la estructura de un programa estaacute en funcioacuten de la estructura de los datos que manipula
Jackson emplea moacutedulos seguacuten su orden jeraacuterquico dentro de los diferentes niveles donde se encuentra Cada moacutedulo es un dato o un conjunto de datos [JOY88]
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Construcciones baacutesicas
Las estructuras baacutesicas en este meacutetodo vienen representadas en la figura 26 y son las siguientes
Secuencial un nuacutemero determinado de moacutedulos se ejecutan una sola vez en el orden jeraacuterquico preestablecido
Repetitiva un moacutedulo se ejecuta desde cero hasta n veces El proceso repetitivo se indica con un asterisco ()
Alternativa Se selecciona para la ejecucioacuten un moacutedulo entre varios posibles El proceso se indica por medio de una letra O
Con estas estructuras baacutesicas se puede obtener cualquier otra que intervenga en el disentildeo del programaEl uso del meacutetodo de Jackson supone lectura arriba-abajo y de izquierda a derecha
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Objetos utilizados
1 Entidad Representa un objeto real o abstracto acerca del cual se almacena informacioacuten por ser relevante para el sistema
2 Evento Acontecimiento que sucede en el mundo real y que como consecuencia causa un cambio en la base de datos
3 Efecto Cambio en una ocurrencia de una entidad causado por un efecto
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Objetos
Entidades de datos Cualquier objeto sobre el que el sistema guarda informacioacuten Las entidades de datos estaacuten caracterizadas por sus atributos
bull Se construiraacute una HVE para cada entidad del sistema Se describe la sucesioacuten de eventos que afectan a dicha entidad y cuyos efectos son en liacuteneas generales
Crear o dar de alta la entidad en el sistema
Modificar cualquier aspecto o caracteriacutestica de la entidad es decir modificar sus atributos
Borrar o dar de baja la entidad del sistema
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Objetos
EventosCualquier suceso que activa un proceso que actualizadatos en el sistemaSe pueden considerar tres tipos de eventos Eventos producidos en el exterior del sistema por
ejemplouna solicitud de alta Eventos perioacutedicos sin estiacutemulo externo por ejemplo
archivar entidades a las que no se haya accedido en cierto tiempo
Eventos reconocidos internamente por ejemplo prerrequisitos que el sistema exige para activar el proceso de actualizacioacuten
bull Los eventos se asocian a las entidades
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Objetos
Efectos Los efectos describen el resultado de la accioacuten de un evento sobre una entidad determinada
bull Un evento puede tener diferentes efectos sobre distintas entidades de datos por ejemplo el evento ldquoSolicitud apertura cuenta bancariardquo tiene los siguientes efectos Crea entidad cliente ( o lo actualiza si el cliente ya
existe) Crea entidad cuenta
bull Un evento puede tener diferentes efectos sobre una misma entidad de datos en diferentes tiempos
bull Principales tipos de efectos I (Insertar) M (Modificar) y B (Borrar)
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Secuencia
Secuencia Salir y continuar
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Seleccioacuten
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Repeticioacuten
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Estructuras Paralelas
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
Ejemplo
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623
COHESION PROCEDIMENTAL Este tipo de cohesioacuten se da cuando el moacutedulo tiene una serie de elementos (funciones) relacionados por un procedimiento efectuado por el coacutedigo (Cuando un moacutedulo contiene un conjunto de funciones o procedimientos que en principio no tienen ninguna
relacioacuten unos con otros Esto provoca que sea muy difiacutecil mantener el
moacutedulo y que sea praacutecticamente imposible la reutilizacioacuten) 1048623