martes, 7 de noviembre de 2023



 

Ingenieros en el software . 

Snippets ( formulacion , diseño ,problemas, restricciones)

Es cierto que "nos dieron una pagina en blanco" ?

El ámbito de este análisis es: una empresa productora de algún bien o servicio

Para el que no recorrió la formación académica de la ingeniería , la siguiente afirmación no le parecerá  verdadera : - la idea de que los sistemas de producción pueden reverse , estudiarse y diseñarse no es muy antigua. Surgió alrededor de 1900 con la "gerencia científica " de Frederick Taylor -. (**ver en el blog)
Desde esos años , los sistemas de producción de empresas comenzaron a ser estudiados y se genero una base de conocimiento que sirvió como base para su creación y mejora.
Y antes .... como se hacia?
Cada "maestrito con su librito" y la selección natural se imponían.
El concepto de "diseño" maduro a mediados de los 70's
Y con estas nuevas ideas , los conceptos de sistemas e información fueron incorporados.
 La computadora fue la herramienta que permitió plasmar en números los datos que hicieron posible analizar los sistemas y sobre todo: la información que circula por ellos.
Una empresa en marcha tiene procesos de información , procesos de transformación de materiales (con su propia ciencia) , reglas de decisión y control de operaciones y de resultados, y un gran etc.
Y como ya saben , la información es una composición de mensajes . Algunos mensajes son intocables o han sido incorporados como un KPI
O sea ...
En realidad "la pagina en blanco ...  tiene mucha letra chiquita"
La información que se genera internamente o  se adquiere desde sistemas externos debe ser la adecuada para los fines de la producción. Alguna de ella y algunos procesos "son restricciones" es decir un aspecto del diseño que no lo podemos alterar y no fue pensado por alguien del lado de la informática.

Para "mejorar un sistema" Gerald Nadler propone que se encuentran 3 caminos
1- Investigación
2-operacion y control
3-Diseño
En los tiempos oscuros de la informática , el camino (1) era el standard
Afortunadamente (aunque muchas veces sin saberlo) en tiempos contemporáneos se impone el camino (3). 
si nos piden diseñar un sistema , hay que comenzar "formulando el problema" (**ver en el blog)
Al formular un problema (formular lo que parece una hoja en blanco pero es en realidad una caja negra), uno de las cosas  que estamos obligados a formular es:
     SI hay varios caminos a recorrer para llegar a una situación mejor que la actual .... 
            -¿cuales son de preferencia para esta empresa? , 
            -¿El equipamiento de proceso es un invariante?
           -¿Hay reglas de negocio que se aplican en la industria?
Quizás en este punto descubramos "letra chiquita" que se denomina restricciones.
Una restricción es una característica que debe ser verdadera para cualquier solución
Una restricción puede ser algo normal en la industria (habitualmente impuesta por el método de trabajo y/o sus herramientas) o bien impuesta por una autoridad que debe ser aceptada 

Una idea clásica es : cuando estamos en posición de diseñar , para formular el problema hay que convertir el espacio desconocido del problema , en algo perceptible.
Un paso importante para descubrir que tan en blanco esta la "pagina en blanco" es identificar las restricciones (formalizar la letra chiquita)

 


martes, 24 de octubre de 2023

 Productos con componentes ,montajes, BOM , despiece ,lista de materiales

Análisis desde la perspectiva de ingeniería (nota 2)

❎ BOM=BILL OF MATERIALS= LISTA DE MATERIALES = DESPIECE DE PRODUCTOS



✅ Entidades que participan en una BOM

-Producto final

-Ensamblados

-Componentes

-Materias primas

Recordar: despiece=explosion=bomp

Estas son las formas de requerir/presentar una BOM

- A un solo nivel seleccionado

- Desmenuzada : desglosa todos los ensambles existentes a todo nivel

- Sumarizada:se muestra todas las partes (con cantidad requerida) para producir un producto final

La practica ha impuesto las siguientes vistas tipicas de una  BOM 

- ✔ BOM para produccion :el interes basico es servir para: analizar la precedencia de fabricacion

- Bom para ingenieria :el interes basico es servir para: analizar la funcionalidad del producto final 

- BOM para planeamiento: el interes basico es servir para: analizar los costos ,aprovechamiento de la capacidad instalada y pronosticos de produccion

- BOM para ventas :el interes basico es servir para: mostrar a los consumidores la estructura final  del producto

- BOM configurable:el interes basico es  :satisfacer consultas especificas no preplaneadas 

- BOM para mantenimiento: el interes basico es servir para:mostrar la estructura final del producto ,los pasos de instalacion y reparacion de sus partes


lunes, 23 de octubre de 2023

 Productos con componentes ,montajes, BOM , despiece ,lista de materiales

Análisis desde la perspectiva de ingeniería (nota 1)


Los productos que se utilizan como referencia en la bibliografía básica de stocks e inventarios son los que conocemos como :"productos planos". Se trata de productos "atómicos" (sin descomposición en partes o montajes) identificados de manera unívoca por un código de alguna naturaleza , que cumple con el requisito de tener rotulo de identificación única en el contexto del sistema  en que se trabaja .
Generalmente (casi siempre) en las empresas centradas en comercialización / ventas esta característica es la norma y mas complejidad no tiene aplicación.
PERO ... en los sistemas de producción (fabricación) es de uso casi habitual el manejo de  productos multinivel por los requisitos de la planificación y control de la producción y sus stocks.
También es de utilidad para empresas que comercializan productos electrónicos configurados a pedido , en empresas de desarrollo de soft. , en empresas dedicadas a la construcción , etc. en Gral. Una empresa que requiera un "catalogo" para ofertar o  analizar sus productos es candidata  beneficiarse con el manejo de listas de materiales
Desde el punto de vista de su estructura , a cualquier producto lo podriamos clasificar como:
-Planos (niveles 0 /1)


-multinivel (niveles > 1)
 
 

Tratar los items de una empresa dedicada a las ventas generalmente se maneja con estructuras de productos nivel=0 o nivel=1
Para empresas de producción , ingeniería o control de la producción o administración de stocks requerirá niveles >1
🔘 Manejo de la informacion:
Para el nivel 1o >1 , una tabla de asociación :  [item(padre)]<-->>[componente]<<-->[item(hijo)]
donde 
componente
    Código item(padre)
    Código item(hijo)
    Cantidad
    Descripcion
    Nivel
Debe agregarse información para hacer efectiva la trazabilidad , ya que las componentes pueden tener variedades o cambiar con el tiempo (clásico de fabricación a pedido) 

Con nivel 1 , se podría responder a las preguntas :
-En cuantos productos participa un item de stock?
-Que cantidad de items de stock se requieren para producir x cantidades de productos finales xxxx ?
-stock de componentes
-Cantidades máximas a  fabricar de  xxx producto final , a partir del stock actual disponible de componentes?
-Balanceo requerido en los puestos de trabajo
-etc





martes, 15 de agosto de 2023

 MODELANDO REQUERIMIENTOS 

CON BUSINESS RULES

y su relacion con los casos de uso ...

                    (Visual modelling technique, D.Tkatch , W.Fang, A.So , IBM)




Este grafico muestra la relacion entre regla de negocio , transacciones informacion y hechos , operaciones de negocio(o procesos) y el usuario
Una regla del negocio es disparada por una transacción . una transacción puede ser iniciada por un usario , un evento o una regla del negocio.
Las transacciones son interacciones formales entre "agentes del negocio" (son aquellos que llevan adelante el trabajo del negocio, otros autores los denominan recursos , facilidades o catalizadores)
Un agente origina una transacción creando un evento de negocios.
LAs transacciones incluyen hechos compuestos de datos.Una transaccion puede considerarse un slot de negocio que tiene slots para hechos. Esos slots pueden ser llenados por uel actor o opor el sistema cuando envia o recibe, y ellos representan el dato intercambiado a traves de la transaccion.
UN  CASO DE USO  es una secuencia de transacciones encastradas para cumplir ciertos objetivos


(Robert Martin: Clean Architecture)

Para integra al ideal de "la empresa computarizada"

-reglas de negocio criticas :existen aunque no esten automatizadas

-Datos de negocio críticos: existirán aunque el sistema no este automatizado.

Son buenos candidatos para un objeto

Una ENTIDAD es un objeto dentro de nuestro sistema computarizado que abarca un pequeño conjunto de reglas criticas operando sobre los datos criticos.

Dicho objeto contiene datos críticos o tiene accesos muy fácil.

La interfaz de la entidad consiste en las funciones que implementan las reglas criticas.

-No se necesita un lenguaje orientado a objetos para crear una entidad, Todo lo que se requiere es 

unir datos críticos con reglas criticas en un único modulo aislado

-Las reglas de negocio que existen para un ambiente automatizado son "casos de uso"

Estos contienen las reglas que especifican cuando y como se invocan a las reglas de negocio criticas (dentro de las entidades)

-los casos de uso no describen como se ve el sistema , solo describen la aplicación de reglas que regulan la interacción entre el usuario y las entidades.

Los casos de uso dependen de las entidades , las entidades no dependen de los casos de uso

La clase  casos de uso acepta estructura de datos para sus entradas y responde estructura de datos como salida. NO dependen de otra cosa.

Esta independencia e critica. el modelo request-response debe ser independiente

Ud se tentara conque dichas estructuras de datos contengan referencias a los objeto "entidad" . Ud pensara que eso tienen sentido porque entidades y el modelo pedido/respuesta comparten tantos datos. PERO ... los propósitos de esos 2 objetos son muy diferentes.

El resultado seria: muchos datos vagabundos y muchas condiciones en su codigo.

CONCLUSION: el código que representa las reglas del negocio  será el corazón del sistema. DEBEN ser el código mas independiente y reusable en el sistema


 LA ESCUELITA DEL SR SPOCK

      What?    

En los textos que he escrito , generalmente hay temas específicos de área de información-sistemas-desarrollo - ingeniería -informática -computación (que simplemente son recordatorios de conocimiento necesario.
Pero .... Como mi tema es sistemas de información en empresas , hay muchos temas que comprenden  ingeniería de la producción  , administración de empresas , gerencia , y otros.
Esencialmente: temas que son necesarios específicamente en el dominio de :sistemas de información en empresas y puede ser     que académicamente sean excluido de algunos currículos  por diversos motivos , quizás en la seguridad que un profesional los estudiara por su cuenta cuando lo necesite
O sea recapitulando , acá expongo temas no habituales pero nnecesarios en la discusión por el desarrollo de software



Business rules

La escuelita del Sr.Spock

(Reglas de Negocios)

➪ Para integrar al ideal de:  "la empresa computarizada"


(Visual modelling technique, D.Tkatch , W.Fang, A.So , IBM)

El Santo Grial de la tecnología de la información es :ser capaz de modelar una corporación.

Se asume implícitamente que: construir un modelo de la empresa  , conduce an mejor entendimiento del negocio y con ello :la habilidad para predecir el comportamiento de la empresa.

Modelar una empresa implica:

 (1) Definir una arquitectura que a su vez este definida por los procesos de la empresa 

 (2)Definir El modelo  de objetos de las soluciones automatizadas del dominio del problema

 (3) Definir El modelo de datos requerido para sostener las soluciones automatizadas

Arquitectura de la industria

Es una descripción de alto nivel de procesos , modelos de objetos y estructura de datos aplicable a todas las empresas de cierto tipo de industria.

Esto es valioso porque puede ser usada para construir , benchmarking , o reingenieria de procesos y sus automatizaciones 

Gestion de la ruta de procesos

Este analisis se restringe a procesos de información

Un proceso es un método particular de hacer algo... en el caso de procesos de negocios: es una colección de actividades que toman una o mas entradas y crean una salida que es de valor para el cliente 

las empresas fueron y todavía son organizadas en estructuras verticales de procesos


 Que son las REGLAS DEL NEGOCIO (business rules) ?

                        Mario saffirio , regla de negocios)

Son las guías que determinan como se lleva el día a dia de las operaciones . sin reglas se estaria en una situación en la que cada decisión se resuelve en el momento , eligiendo alternativas caso a caso o ad-hoc
Una regla de negocio define o limita un aspecto del negocio con el objeto de establecer un estructura o un grado de influencia que condiciona el comportamiento de los actores del negocio.
Las regla de negocio No son Software .Pueden ser implementadas en el software

Reglas de negocio representan la parte de conocimiento que guía el flujo 

(FEWO, 3 enero 2023 ,10 ejemplos de reglas de negocio que hacen trabajar mas eficientemente)

Las reglas de negocio son un conjunto de instrucciones que determinan como se ejecuta un proceso. ellas guian la toma de decisiones estableciendo reglas que todos deben seguir cuando llevan adelante cierta actividad

(Michel eisner 15 feb 2021 ,10 ejemplos de reglas de negocios y logica)

Las reglas de negocios son directivas que define la organización de sus actividades de negocio. Ellas son importantes porque clarifican los objetivos de una organización y detallan como seran ejecutados sus procesos. Pueden ser informales , escritas o automatizadas.

Cuando están automatizadas: se almacenan en un repositorio. un repositorio es una base de datos que recolecta , administra y almacena datos (asi no se embebe reglas en el código de las aplicaciones)



➪ DEFINICION DE UNA  BUSINESS RULE

(the Business Rules Group formerly, known as the GUIDE Business Rules Project , julio 2000)

Una regla de negocio es una declaración que define o restringe algún aspecto del negocio. Es
destinados a afirmar la estructura comercial o controlar o influir en el comportamiento de la empresa. Las reglas de negocio que conciernen al proyecto son atómicas, es decir, no pueden
desglosarse aún más.

➤ CATEGORIAS DE  BUSINESS RULES
Una declaración de una regla de negocio cae en una de cuatro categorías:
Definiciones de términos del negocio
El elemento más básico de una regla de negocio es el lenguaje utilizado para expresarlo. el mismo
La definición de un término es en sí misma una regla comercial que describe cómo la gente piensa y habla.sobre cosas. Así, definir un término es establecer una categoría de regla de negocio.
Los términos se han documentado tradicionalmente en glosarios o como entidades en un
modelo de entidad/relación.
Hechos que relacionan términos entre sí
La naturaleza o estructura operativa de una organización puede describirse en términos de
hechos que relacionan términos entre sí. Decir que un cliente puede hacer un pedido es un
de reglas de negocio. Los hechos se pueden documentar como oraciones en lenguaje natural o como
relaciones, atributos y estructuras de generalización en un modelo gráfico.
Los hechos y los términos se discuten juntos en el Capítulo Cuatro como "Afirmaciones Estructurales".
Restricciones (aquí llamadas 'afirmaciones de acción')
Cada empresa restringe el comportamiento de alguna manera, y esto está estrechamente relacionado con
Restricciones sobre qué datos pueden o no actualizarse. Para evitar que un registro sea
hecho es, en muchos casos, para evitar que se lleve a cabo una acción.
Las restricciones se analizan en el Capítulo cinco como "Afirmaciones de acción".
Derivaciones
Las reglas de negocio (incluyendo las leyes de la naturaleza) definen cómo el conocimiento en una forma puede ser transformado en otro conocimiento, posiblemente en una forma diferente.

 
==================

Generación automática de reglas de negocio

GECONTEC: Revista Internacional de Gestión del Conocimiento y la Tecnología
Universidad Central “Marta Abreu” 

Desde el punto de vista empresarial, una RN es una premisa que guía el comportamiento
de las empresas, en defensa de una política empresarial que fue formulado con respecto a
una oportunidad, una amenaza, una fuerza o una debilidad.
Desde el punto de vista informático, una RN es una declaración que define o restringe un
aspecto de la empresa o, en otras palabras, define la estructura del negocio y controla el
comportamiento de la empresa
Se han llamado reglas de negocio desde la perspectiva de los datos (Castillo, 2014), a las
reglas que están involucradas en las operaciones sobre la base de datos del negocio, y
presenta la siguiente clasificación en forma de patrones de reglas:
· Restricción: Obliga a que se cumplan los requisitos del negocio, contribuyendo a
preservar la integridad del mismo.
· Cómputo: Su objetivo es calcular un valor determinado en el negocio, y su resultado es
numérico. Este patrón comparte grandes semejanzas con el patrón de clasificación
(Ross, 2009).
· Clasificación: Organiza el conocimiento básico del negocio contribuyendo claramente al
significado de conceptos, este patrón es conocido también como una regla de
definición.
· Notificación: Este patrón informa a los usuarios autorizados del negocio sobre algún
conocimiento básico en tiempo real, no restringe estados del negocio, solo lo informa
para que se tomen las medidas pertinentes

Los patrones de las Reglas de Negocio son:
· Patrón de Restricción
<determinante><sujeto>(no puede tener <características>) | (puede tener
<características> solo si <hechos>).
· Patrón de Cómputo
<determinante><resultado> [en <sujeto> [para <atributo>] ] es calculado como
<algoritmo>.
· Patrón de Clasificación
<determinante><sujeto> [no] es definido como <clasificación>
[ ( si | a menos que )<característica>].
· Patrón de Notificación
Notificar <mensaje> si <hecho>.

Donde:
<determinante>: Es el determinante para cada sujeto, por ejemplo: Una, Uno, El, La,
Cada, Todos. Según el mejor sentido en la redacción.
<sujeto>: Es una entidad en la Base de Datos del negocio o una clasificación de la misma.
<hecho>: Hechos relativos al estado o comportamiento de la Base de Datos del negocio,
incluyendo o no al sujeto
<característica>: Describe las características del sujeto en el negocio, tanto internas como
relacionadas con otras entidades. Pueden incluir hechos con el fin de caracterizar al sujeto.
<resultado>: Cualquier valor, no necesariamente numérico, que tiene algún significado en
el negocio. El resultado es usualmente el valor del atributo de un objeto del negocio.
<algoritmo>: Definición de una expresión matemática para obtener el valor de un
resultado; normalmente expresada utilizando combinaciones de términos del negocio junto
a constantes disponibles.
<clasificación>: Definición de un término del negocio. Típicamente define el valor de un
atributo o un subconjunto de objetos en una clase existente.
<mensaje>: Mensaje de información entre comillas para usuarios autorizados del negocio
En los ambientes de negocios ocurren cambios rápidos y constantes con el fin de alcanzar
mejoras en el funcionamiento, por lo que las aplicaciones que les dan soporte requieren
adaptaciones para cumplir con las necesidades reales y cambiantes de los mismos
modificables con facilidad, permitiendo
que los procesos puedan mantenerse prácticamente sin cambios (excepto los derivados de
las mejoras introducidas en su diseño), ya que la mayor parte de los cambios se derivan de
las variaciones del entorno empresarial (mercado, políticas, estrategia, etc.). Con este
enfoque, las modificaciones se introducen en las reglas de negocio, y los procesos quedan
automáticamente adaptados a los cambios de política



➪REQUERIMIENTOS

            (visual modelling technique, D.Tkatch , W.Fang, A.So , IBM)
Especificacion
➤IDENTIFICANDO EL PROPOSITO DE LA APLICACION
Hacer explicito y preciso el proposito de una aplicacion , es una clave para el exito
➤DESCRIBIENDO EL DOMINIO
    El conocimiento acerca del dominio puede ser formulado como un conjunto de hechos y criterios para tomar decisiones.
Los hechos pueden ser estructurados como objetos , cada uno de los cuales representa un concepto del dominio con sus facetas o rasgos descriptos por atributos.
El criterio de decisión esta definido a nivel de empresa  como: reglas del negocio, describiendo patrones deseados del comportamiento de la empresa.
Esas reglas del negocio están mapeadas a nivel de objeto al comportamiento de uno o mas objetos , implementados como métodos procedurales
Desde el punto de vista de la trazabilidad de requerimientos , hacer este mapeo explicito  es extremadamente importante , ya que si sus relaciones no son almacenadas , las reglas del negocio seran difíciles de reconocer.
ESPECIFICARNDO LA INTERFAZ CON EL USUARIO
La interfaz con el usuario es definida por las reglas de negocio que gobiernan cada transaccion de el caso de uso
DEFINIENDO PROCEDIMIENTOS DE PUEBA
el paquete de pruebas deberan definirse basado en las reglas del negocio y deberan ser re-ejecutados cada vez que un cambio es hecho al sistema

LAS REGLAS DEL NEGOCIO SON LOS REALES INVARIANTES A CONSIDERAR CUANDO SE MODELA UN SISTEMA

Clasificación de las reglas del negocio
-Restricciones  , concierne a la integridad del objeto
    .Estáticas :se sostienen en cualquier estado valido del objeto)
    .Transición: las reglas de restricción de transición son expresiones que permiten una transición de estado de objeto válida
Las reglas de  restricción pueden requerir aplicación obligatoria o incorporada como un test
Si es obligatoria: deberá ser siempre verdad
Si es un test , su verdad o falsedad pueden ser usadas para obligar otras reglas
-Derivaciones. Estas definen o modifican componentes derivadas del modelo. También son restricciones
    .Estáticas , no dependen del tiempo
    .Transición , dependen del valor del tiempo para el efecto de su aplicación
-De Acción , invocan transaccione si sus precondiciones están satisfechas

 TRANSACCIONES DE NEGOCIO , CASOS DE USO Y REGLAS

Las transacciones del negocio son interacciones entre el sistema bajo consideracion  y sus usuarios. Transacciones de entrada (estimulo) son inicadas por usuarios y trnasacciones de salida (respuestas) son creadas por el sistema
Los casos de uso han sido definidos como una secuencia de transacciones entre el usuario y el sistema para alcanzar los objetivos de la empresa
Si una transacción de entrada es una transacción valida , entonces , la transacción que se inicia como consecuencia de ella , depende de las decisiones basadas en las políticas del sistema.
Los mecanismos de toma de decisiones pueden explicitarse a través de la formulación
de las reglas del negocio
 ESTRUCTURA DE "REGLAS DE NEGOCIO"
Las reglas de negocio relaciona las trnasacciones con el estado del sistema
Cuando una transaccion de entrada ocurre , reglas del negocio indican que sucedera.
Una transaccion de entrada dispara una o mmas reglas en secuencia.
Las reglas contienen especificaciones de comportamiento que pueden expresarse con expresiones logicas , usando lenguaje natural o cualquier combinacion que asegure que el usuario este conforme con lo que lee.
se sugiere la siguiente sintaxis
- una condicion que define la informacion interrogada por la regla
- una seccion indicando los nombres de otras reglas que se espera satisfacer.
- Un cuerpo principal describiendo las acciones (modificaciones) que seran efectuadas sobre una o mas elementos de informacion
- una lista de transacciones iniciadas por la regla
- Definicion de las traansacciones estableciendo restricciones en la relacion de la primitiva y elementos derivados  afectados por la transaccion.
- un indicador mostrandosi la regla continua o se detiene
Ampliacion:
Tome una condicion y Si se satisface , ejecute la accion correspondiente. 
Si No satisface salte a la siguiente accion y testee su condicion correspondiente. Cuando la condicion  es verdadera , ejecute la accion indicada en el cuerpo de la regla, Cuando la accion esta hecha , testee el indicador para ver si se necesita proceder con la accion siguiente o se debe parar de leer la regla.
Si el indicador es instanciado a: continue se procede con la siguiente accion. si esta instanciado a:stop o si todas las condiciones han sido leidas , la regla ha finalizado



Reglas de negocio en tablas

       (MICROSOFT LEARN , 02/23 .CREATE A BUSINESS RULE FOR A TABLE)
Las reglas de negocios proveen una interfaz simple de implementar y mantener rapidos cambios y reglas comúnmente usadas 
Combinando condiciones y acciones , se puede hacer lo siguiente.
-Setear valores de una columna
-Limpiar valores de una columna
-setear niveles de requerimiento de una columna
- habilitar o deshabilitar columnas
-Mostrar u ocultar columnas
-validar datos y mostrar mensajes de error
-crear recomendaciones

miércoles, 9 de agosto de 2023

 Stock de items con variedades en familia 



(un atributo que diferencia los items de stock

ej: talles, tamaños , calibres , medidas

item: remera  de verano tenis argentino

Familia de talles: S,M,XL,XXL

Para poder manejar un stock hay que clasificar y así estructurar. El caso que analizamos es cuando un mismo item de stock tiene diversas variaciones de algún atributo y se requiere identificar cada posible variedad para control o porque tienen costos y precios diferentes. Otras veces la política de marketing genera ofertas u otros incentivos para alguna variedad en particular (ej: talles grandes).Entonces ... agrupar en base a cada valor posible de un atributi seleccionado (ej.: talle , color , material , medidas,...etc)

Un SKU (stock keeping unit) es un codigo unico para cada item de stock generado y mantenido por el propietaro del stock. Puede ser una tira de caracteres (habitualmente hasta 8) o un entero de hasta 8 digitos. Le podemos llamar por simplicidad: "codigo interno" . Este sku o código interno debe ser único para cada item de stock

En stocks con variaciones se puede optar por un sku a nivel de item o un sku para cada combinación de variedades. 

El imperativo de control apunta inmediatamente hacia un item de stock para cada variedad (o combinación de ellas). 

Es cierto que así podrá controlar a fondo , pero puede hacerse inmanejable si no se espulga el stock para quitar los sku sin uso o el  rol de control es asumido por personal sin capacitación

Atención que la cantidad de items de stocks (si se sigue el segundo criterio) puede aumentar exponencialmente . Ej: en stock tan sencillos como :calzado

Generar las  variaciones puede ser un trabajo ingrato. 

Para facilitar las cosas habrá que almacenarlas en FAMILIAS , (talles europeos, talles americanos, tamaños, estampados deportivos,... etc.) que se utilizan en la generación de las variaciones de cada item , seleccionando solo aquellas que son de utilidad  

Para un stock con algunos items con variaciones (sku para el item); la operaciones del negocio se capturan como entradas o salidas desde una registración de movimientos o procedimientos especializados que generan movimiento (ej: venta) es de utilidad una vista como esta:



Para un stock con algunos items con variaciones (sku para cada variante)
 



En este ultimo caso , cada variante es un item de stock 


miércoles, 26 de julio de 2023

 ESTRATEGIAS DE CONTROL  DE PRODUCTOS ( números de serie)

TRAZABILIDAD:

                     -CONTROL DE STOCKS POR LOTES

                    -👉CONTROL DE STOCKS ARTICULOS INDIVIDUALIZADOS POR NUMERO DE SERIE


Numero de serie:

    -Se utilizan números consecutivos , grupos de números , cadena de textos (con estructura)

    -Puede ser que : por ser productores o por otros motivos de control (ej: garantía, vencimiento ,calidad ,mantenimiento, recuperación de productos ... etc.)  la empresa le asigne un  número de serie generado internamente

El propósito de asignar un  número de serie a un producto es: seguimiento de una unidad individual (diferenciada /individualizada)de un item de stock. O sea para la trazabilidad de una unidad.

➪Un item de stock puede ser: 

Discos rígidos hdmax 1tB, que tienen código hd444bv

➪Una unidad individual:

A cada disco rígido que este en stock :      Se le asigna un  número de serie , o se registra el  número de serie del proveedor del producto

 Si hay 10 hd444bv en stock , habrá registrados:10 números de serie , uno para cada disco          

Cada  número de serie identifica una instancia de hd444bv (una unidad/un individuo)

Que cambia al manejar productos con número de serie asignado?

Básicamente hay que considerar que: cada unidad recibida/ entregada tienen obligatoriamente un  número de serie

Es redundante pero recordar que :en un flujo de trabajo , para cada estado posible de un producto , intervienen distintos números de serie. Los números de serie no se repiten para un item de stock.

Un  número de serie puede ser un  número consecutivo (generalmente una serie secuencial para cada item) o un  número de serie estructurado (esto es mas clásico en fabricas con montajes) que no es mas que una tira de caracteres generados con algún criterio especifico 

ej: 

-fabrica-maquina-puesto-fecha-hr- número secuencial

-código de la serie- númerosecuencial

SIEMPRE la restricción es la misma : para un item de stock no se debe repetir al asignarlo a una unidad

➪ Cuando se crea un item de stock se deberá indicar si utiliza  número de serie

Actividades sobre el dato: número de serie

1-creacion y disponibilidad

    -Cada  número se serie creado es único para un item de stock

    -La creación puede ser una actividad independiente o parte del ingreso al inventario







        Creación independiente: al concluir la registración clásica de ingresos a un inventario, Se revisan todos los items ingresados ; SI un item es "con número de serie" desplegar un formulario con tantas filas como unidades se hayan ingresado

        Creación parte del ingreso: en el formulario de ingresos , despues de ingresada la cantidad SI el item es "con número de serie" desplegar un formulario con tantas filas como unidades se hayan ingresado

2-asignacion/uso en el flujo de trabajos

    Al registrar un movimimiento de un item de stock con " número de serie" , solo se permite cantidad=1 y se busca el numero de serie entre los números de serie disponibles para ese item de stock

    Cuando una unidad con num. de serie  es utilizada (por ejemplo una factura de venta)  su  número de serie no esta mas disponible

3-analisis

    -Trazabilidad por  número de serie

    - informe por item de stock , por actividad

    -por montajes

   - etc

 

lunes, 17 de julio de 2023

ESTRATEGIAS DE CONTROL  DE PRODUCTOS
TRAZABILIDAD:

                     -👉CONTROL DE STOCKS POR LOTES

                    -CONTROL DE STOCKS ARTICULOS INDIVIDUALIZADOS POR NUMERO DE SERIE



Lotes:

En  los productos  que tienen fecha de vencimiento y/o requieren identificación de origen para control de calidad , la trazabilidad se implementa mediante los "números de lote."

Los números de lote  pueden ser  etiquetas internas (caso de ser productor y para control interno)o etiquetas  asignadas por una entidad externa .

Los productos  con un mismo numero de lote tienen propiedades que el fabricante o la entidad controladora considera comunes y de interes

Que cambia al manejar productos con lote asignado?



Cada lote debe ser rastreable a través de los procesos de la empresa

La producción de un lote generalmente es un proceso continuo entre fechas

Un lote generalmente se fabrica para satisfacer un pedido formal

Una adquisición puede incluir varios lotes.

Un lote puede ser parte de mas de una adquisición

Los productos de un lote pueden llegar a deposito en una única tanda o en varias

Los códigos de barra o los códigos qr se utilizan para facilitar la identificación de un lote.

Sera necesario registrar cada estado de los artículos de un lote 

➤Cuando se generan

➤Cuando se reciben para almacenar

➤Cuando se trasladan entre distintos depósitos

➤Cuando se transfieren a un cliente (venta , distribución)


➤un numero de lote es un atributo de una pieza/articulo producto

➤Un lote es una entidad sobre la cual se maneja informacion


Trabajar con productos con "numero de lote" requiere mayor rigurosidad que cuando esto no interviene.

Deberá disponerse de flexibilidad de información y corrección de movimientos de stock .

En las PYMES que manejan productos por lote, se observa mas rigurosidad al momento de la venta ,despacho o distribución que en la recepción en depósitos.

Utilizando Códigos de barra o Qr , se disminuye la probabilidad de error.

PARA TENER EN CUENTA

    Al incorporar numero de lote a un producto (item de stock) conceptualmente el "control de stock" no se altera siempre el stock=existencias +entradas-salidas.

Un item con lote no es un item diferenciado. Es solo un subgrupo del item  que comparten el atributo "numero de lote"

item:'123'

Entran 500 , salen 200 , stock item '123' =300

60 de los recibidos  eran del lote 1A

20 de los entregados eran del lote 1A

👀 El stock sigue igual

Entran 500 , salen 200 , stock  item '123 =300

Pero ... el sistema debera poder responder a las preguntas programadas:

➨ cuanto queda del lota 1A?

➨ cuanto se ingreso del lote 1A?

➨ cuanto se entrego del lote 1A?

➨ Dada una fecha de corte,,, que lotes con stock >0 estaran o estan "vencidos"?

➨ ETC.


stock item '123' lote1A= 60-20=40

Si por algun motivo la informacion era incorrecta y en realidad se entregaron 50 del lote 1A

stock item '123' lote 1A=60-50=10

👀 El stock debe seguir igual

Entran 500 , salen 200 , stock  item '123' =300

Se deben corregir los movimientos , 

Salida lote 1A = 20 se debe corregir a: Salida lote 1A=50

➤stock inicial=  440 - 180 +(60-20)=300

➤stock corregido=440-(180-30)+(60-(20+30)=300

    otra alternativa: 

   stock corregido=440-(180-30)+(60-20+20-50)=300

articulos del item 123 sin lote o 'de otros lotes'

Articulos del item 123 lote 1A

(se explicita los movimientos a registrar en el stock)

Datos de un lote



Movimientos de articulos de un lote







lunes, 26 de junio de 2023

ORDENES DE PAGO

Una funcion fundamental


✅ Los requerimientos de la actividad empresaria se han vuelto cada ves mas complejos. 

Una de las cosas observadas es que desde el punto de vista de la información , ha evolucionado acumulando capas de soluciones (respuestas) y también requiriendo información y datos derivados del conocimiento nuevo generado por las capas anteriores.

Las estructuras concretas de los sistemas para la producción son difíciles hasta de representar esquemáticamente




Pero ... los básicos conceptos siguen firmes y de utilidad para estos complicados requerimientos.

✅ Hace años organizamos muchos de esos conceptos en una "matriz" desde donde resulto mas simple y rápido localizar fundamentos para el trabajo sobre todo de arquitectura


✅ En casi todos los sistema de información diseñados y construidos hubo que resolver la clásica cuestión: compras (Adquisición de insumos y servicios) , control de proveedores , pago a la deuda generada




Las resoluciones adoptadas en diversos casos ,ante las restricciones y requerimientos de cada cliente (múltiples recursos , flujos de control , etc.)  resultaron en eventos y procesos complejos


✅ Para aplicacion presentada , se opto por el control de la deuda por compras, donde el recurso principal es el dinero 



Una empresa adquiere insumos y servicios  comprando lo requerido a sus Proveedores y los pagos se hacen basicamente via Bancos (emitiendo cheques propios , haciendo depositos y/o transferencias) , negociando cheques recibidos de clientes (Cheques de Terceros). 

Para algunos casos se usa efectivo y con algunos  proveedores puede que en el movimiento de cheques de terceros se haya generado un saldo a favor (excedente) y por acuerdos con el proveedor se considere como una forma de pago.

En base a los desarrollos que habíamos hecho y con algún diseño para independizar del entorno (ej: los créditos de las cuentas de proveedores generalmente  son generados en alguna actividad computarizada)

                                                            Diseño





Construccion



  
✅  Finalmente el Programa: Ordenes de Pago




jueves, 22 de junio de 2023

                            LA EMPRESA  COMPUTARIZADA

Un ideal es un concepto de costo 0 , recursos necesario disponibles  %100 

Conceptos antiguos para revisar:

 El termino  "ingeniería de software" se refiere al conjunto de disciplinas utilizadas para especificar , diseñar y programar software. el termino "ingeniería de la información " comprende el conjunto de disciplinas interrelacionadas que son necesarias para construir una empresa computarizada. basada en sistema de datos

James Martin "sistemas de información" 

Una empresa computarizada , es algo muy complejo
Recordemos los ERP , CRM , ETC ....


jueves, 1 de junio de 2023

 INGENIEROS EN EL SOFTWARE

SNIPPETS 

 CONCEPTOS de area general: Proyectos de Inversion



➤Un PROYECTO es un conjunto de actividades de cualquier naturaleza (percibidos como una unidad ) que requiere para su realización :del uso o concurso inmediato o a corto plazo de algún recurso escaso o al menos limitado. Aun sacrificando beneficios actuales y asegurados en la esperanza de obtener en un periodo de tiempo mayor beneficio. Superiores a los que se obtienen con el empleo actual de dichos recursos

➤Otra definición operativa es: Un PROYECTO es el conjunto de antecedentes que permiten estimar ventajas y desventajas económicas que se derivan de asignar ciertos recursos para la producción de determinados bienes o servicios.

➤INVERSION: asignación de de recursos efectuada con la esperanza de obtener ingresos futuros que permitan recuperar los fondos invertidos y lograr un cierto beneficio. Significa: sacrificar ahora para obtener mas adelante

➤ El PROYECTO DE INVERSION , desde su nacimiento hasta su aprobación definitiva, transita por una secuencia de decisiones que se toman analizando ciertos factores característicos de cualquier proyecto

-tiempo

-incertidumbre

-riesgo

-equilibrio entre objetivos multiples  

➤Etapas clasicas de un proyecto de inversion

1- identificacion

2- anteproyecto preliminar

3-anteproyecto definitivo

4-proyecto definitivo

5-ejecucion y puesta en marcha

🔖 La ambición profesional esta mucho mas allá del horizonte de los programas.

Hay muchas oportunidades en el ámbito de una empresa para invertir en su transformación 

Ya sabemos: del principio P-R-S se infiere que cambios en la empresa requieren cambios en sus sistemas de información. Seguramente no alcanza con unos programas .... habrá que preparar proyectos para evaluar alternativas de sistemas

El proyecto sera evaluado con otra "ciencia" , nada que ver con la complejidad o belleza de la computación quizas nos encontremos que hasta existe un formalismo muy lejano al ambito de paradigmas o metodologías (ej.: ISO). Debemos estar en condiciones de generar proyectos ganadores

SNIPPETS -> CONCEPTOS BASICOS: PROYECTOS DE INVERSION

 INGENIEROS EN EL SOFTWARE

SNIPPETS 

 CONCEPTOS de area general: Proyectos de Inversión



➤Costo de un producto: es el valor de los recursos utilizados en convertir entradas en productos utilizables

Clásicamente: material ,mano de obra , gastos generales (amortizaciones , suministros ,salarios no directos , impuestos ,seguros , servicios), costos de administración ,costos financieros , costo de comercialización

➤En el caso de proyectos informáticos , el costo del proyecto es la suma de todos los costos incurridos desde su gestación hasta su retiro de uso (asignar recursos requeridos en cada fase/etapa del ciclo de vida proyectado y estimar su valor) debe incluirse costo de equipamiento y herramientas ,también costo de documentar y prueba/verificación.

➤Para proyectos de corto/mediano plazo de gestación y desarrollo que no generan ingresos en forma directa un criterio de análisis es el costo anual equivalente

➤Para proyectos de mas compleja gestación y desarrollo y horizontes largos de vida, es recomendable el clásico análisis de inversión como flujo de fondos

La inversion como flujo de fondos:  El análisis de la decisión de invertir requiere criterios aplicables a todas las alternativas . El movimiento de efectivo (caja) constituye un hecho concreto claramente definido no susceptible de interpretaciones ni tratamientos discrecionales.

Atención! : no confundir con gastos

Prevalece el criterio de "lo realizado" 

flujo de fondos =flujo de caja=(ingresos-egresos)

Atención con: impuestos , amortizaciones (no se computan) intereses ,capital de trabajo , ajustes por inflación

lunes, 22 de mayo de 2023

 INGENIEROS EN EL SOFTWARE

SNIPPETS 

 CONCEPTOS de area general: Sistemas 


Ecuacion de grado 1,Segun Gaturro (para el dia del ingeniero del 2020) resuelve la pregunta ... 

que hace un ingeniero?


En la ecuacion de gaturro no esta explicito pero todos los "ingenieros" lo tenemos absolutamente presente: trabajamos con objetos concretos y complejos , gralmente tan complejos que para poder hacer nuestro trabajo debemos claudicar genialidad por estandares establecidos ; nuestros productos deben tener evolucion controlada  y ADEMAS incorporar la transdisciplinariedad a nuestro trabajo .
Los objetos producidos (los productos) tienen propiedades concretas , con metricas bien definidas y estandares de calidad y capacidad aceptados por la industria
SISTEMAS ...

Revisemos un marco para proyectos en el ambito que yo me desenvuelvo: sistemas de produccion

Producir estransformar unos insumos en productos utiles que aportan sus propiedades a la civilización

Un sistema de producción es cualquier sistema que transforma entradas en salidas útiles. 

Cuando no referimos a sistemas , es porque productos complejos requieren  que interenga mas de una "parte"  . Es natural pensar en fabricas ,pero... un subsistema de producción que esta presente en toda actividad humana es : un sistema de información. Toda actividad de transformación necesita de información o señales para transformar sus entradas en forma controlada y optima.

"...Un sistema de producción en una organización puede ser de cualquier magnitud. Reciprocamente la unidad organizativa que contiene uno o mas sistemas de produccion tambien puede seer de cualquier magnitud... Esta definición permite aplicar los conceptos referidos al diseño de sistemas de produccion , utilizados en este libro , con prescindencia de la magnitud de los sistemas o la índole de la unidad organizativa ... " (G.Nadler Diseño de sistemas de produccion)

Toda unidad organizativa  es afectada por una ley o principio muy conocido: P-R-S

Propositos-Recursos-Sistemas :se desarrollan en equilibrio balanceado . (El cumplimiento de este principio auspicia la evolucion controlada de los sistemas de información)



Cualquier cambio  en cualquiera de las 3 componentes repercutirá en cambios en las otras para mantener el equilibrio.

Si somos geniales con los sistemas , seguramente necesitaremos recursos diferentes y sera factible alcanzar nuevos propósitos. Del mismo modo la disponibilidad de recursos nuevos aunque sea dentro del área de sistemas de información , inevitablemente repercutirá en los  método de trabajo (sistema) y en los propósitos preexistentes. Finalmente nuevos propósitos , plantearan nuevos requerimientos y se necesitaran cambios en los recursos y en los sistemas.

Pensemos solamente en nuestra area. Si hay cambios de equipamiento para producción estaremos afectados y si hay proyectos por nuevos productos , habrá que cambiar los sistemas de información

los cambios en los propósitos y en los recursos de transformación serán  "propiedad" de otras profesiones (generalmente) . De alli la trasndisciplinariedad ; porque finalmente el proyecto de sistema de información será controlado o aceptado por el sistema concreto que lo requiera ,donde sus propositos y sus recursos impondrán requisitos específicos.

Me imagino que algunos saltaran.. Eso es managment! no es software engeneering !

Ingenieria de software no es solo programacion 

PLEASE RESET YOUR MINDS!    😊


 




lunes, 27 de marzo de 2023




Un nuevo Tao para el software
Si quieres algo que no existe , tendrás que hacerlo
y si no hay nada parecido ,tendrás que investigar cual es el problema que hay que solucionar .
Cada uno elije sus batallas , las mías son los problemas de producción y la administración de sistemas de producción. Entonces el dominio esta bastante claro ... ahora que se requiere?
Investiga , descubre , reconoce , rodea lo desconocido de conceptos conocidos , haz perceptibles los diferentes requisitos!
En estas "batallas" debes salir airoso , debes poder formalizar los requisitos
Entonces estarás listo para un diseño
Conoce a fondo un lenguaje de computación para poder construir esa maquina de soft que te quita el sueño
deberás probar que hiciste algo que sirve. PERO ... debe servir para la solución que eljiste !
Luego llegara el alivio de que tu/s maquinas estén en los dedos de los usuarios , lista/s para funcionar
Grrr. ahora hay que conseguir que se use! , el usuario deberá instituirla como parte de su trabajo
y las maquinas que hiciste ... silenciosa,mente empezaran a llenar el mundo de sus esperados servicios.
Así haremos un mundo mejor
PERO ... el mundo cambia y eso hace que nuestras maquinas deban cambiar
Estarás de cabeza en el viejo garage del mantenimiento
Y finalmente , una vez muy muy lejos , tus maquinas sera sacadas de servicio.
El ciclo se habrá cumplido
Y nosotros estaremos felices de haber colaborado a mejorar la vida de los que se animaron a nuestras maquinitas de soft. Seguro aportamos un granito de arena a la evolucion.
OH y entonces .... que nos ayudara a que todo eso suceda de una forma controlada eficaz , efectiva y eficiente... ?
Dicho brutalmente (como o ya lo dijo antes un tango) : Es la INGENIERÍA  gilito embanderado ! (chan , chan!)



Con conocer de computadoras y su programacion no alcanza
Construir eficientes maquinas de soft no solo implican lo que se estudia en computación
Ser experto o animarse  una herramienta que a partir de la información capturada genere un programa no alcanza
Una herramienta CASE facilita las cosas , un moderno lenguaje orientado a objetos puede ser una causa de una mejor maquina de soft ... pero es es solo una parte


Estudiando ingeniería conocí los sistemas de producción y los seductores problemas de fabricar algo en grandes escala. Conocer los modelos y decisiones que se Debian tomar para conseguir sincronizar hombres , maquinas y materiales me llevaron indefectiblemente a ser un estudioso de la plantificación   . Estudie la estadística necesaria para implementar modelos de plantificación, también la matemática financiera necesaria para la evaluación de proyectos
Y .... esos modelos solo eran posibles con la computadora.



Así comienza el viaje que todavía no termina.
Siempre me fascinaron los sistemas de producción y facilitar al hombre que consiga los resultados deseados. Estudie los sistemas de información que servían de fundamento a las decisiones y a los trabajos... y ya saben eso solo es posible con la computadora
Me atraían los mecanismos... las maquinas.
Y yo quería construir maquinas de software.
Mecanismos que procesen datos y produzcan información para incorporarse en el torrente de las decisiones y en el del trabajo.


El mundo que ves , no es el real. El real se percibe por el entendimiento
Para entender y perfeccionar el mundo real  , mejor dividirlo en capas
En la capa mas baja: el mundo de las 10000 cosas , en la mas alta el mundo ideal de los conceptos que rigen el mundo de las 10000 cosas
En la capa mas baja reside el usuario. que no es mas que un objeto, pero de carbono

La primera paradoja es que para acceder al TAO hay que entender la capa mas baja. Porque allí están las llaves que harán útil lo que se encuentra en las capas mas altas .El Tao nos permitirá navegar entre las capas

Las estructuras creadas para modificar el mundo de las 10000 cosas son como naves en el rio del tao
Lo concreto de las naves es diferente a lo concreto del TAO
Las naves son duras , el mar es blando ...
Los ingenieros construimos maquinas con el objetivo de fluir por el tao con mejor perfección . Lo que hagamos ira a parar al mundo de las 10000 cosas. allí nace , evoluciona y muere (no hay que trabajar para perpetuar la maquina )

No hay porque preocuparse , hay mundos paralelos , por lo menos uno para el que analiza , otro para el que diseña , otro para el que construye , otro para el usuario , otro para el que sin hacer nada se beneficia.

No deben haber conflictos entre todos esos mundos , porque se tocaran y se modificaran  entre ellos (como sera eso...  puede que solo podamos conjeturar lo) pero ... siempre bajo control , caso contrario llega el caos
El caos es el NO TAO , es  la derrota del maestro y sus seguidores. es el fracaso de la concepción de mundos , de las ideas utilizadas

El TAO  no es estático , fluye... y para ayudar a fluir hay que construir aparatos que ayuden a la nave a fluir o sea ... maquinas flexibles (muy blandas)

Quizás el TAO para el software es como un paraíso, allí no hay costos ni demoras ni distancias ni fronteras ....ni protocolos , todo lo que es necesario esta, todo lo que se necesita se tiene . Pero como todo paraíso: es inalcanzable , solo una fuente de inspiración ,perceptible  si utilizamos un  protocolo
Hay que trabajar par entender , porque lo que no se entiende no se ve (y viceversa)
Un mapa no es el camino , un plano no es el edificio , un programa no es la maquina ... lo sera cuando sea parte de la maquinaria del TAO
Para los humanos , también , las maquinas no son el fin ; son parte del camino