Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IV-22-23] Objetivo 2 #10

Merged
merged 11 commits into from
Oct 23, 2022
15 changes: 15 additions & 0 deletions iv.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
lenguaje: TypeScript

objeto valor:
# No se le aplica la lógica de negocio a una operacion particular, por lo tanto, se trata de un objeto valor
- models/operacion.ts

# Objeto valor intermedio asociando cada modelo con las unidades que deben fabricarse
- models/modelo_fabricacion.ts

entidad:
# Conjunto de operaciones para la fabricación de un modelo, es utilizada en la lógica de negocio para el análisis de posibles cuellos de botella
- models/modelo.ts

# Conjunto de modelos con el número de unidades asociado, se le aplica la lógica de negocio para determinar el cuello de botella
- models/orden_de_fabricacion.ts
26 changes: 26 additions & 0 deletions models/modelo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { Operacion } from "./operacion";

//Conjunto de operaciones necesarias para la fabricación de un modelo concreto
export class Modelo{

//Concepto del modelo
concepto: string;

//Conjunto de operaciones
operaciones: Array<Operacion>;

//Duracion estimada expresada en segundos para la fabricación si solo hay un trabajador
duracionEstimadaLineal: number;

constructor(conceptoParametro:string, operacionesParametro: Array<Operacion>){
this.concepto = conceptoParametro;
this.operaciones = operacionesParametro;
this.duracionEstimadaLineal = 0;

//Sumamos la duracion estimada de todas las operaciones
operacionesParametro.forEach(operacionParametro => {
this.duracionEstimadaLineal += operacionParametro.duracionEstimada;
});
}

}
18 changes: 18 additions & 0 deletions models/modelo_fabricacion.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import {Modelo} from "./modelo"

//Objeto valor intermedio asociando cada modelo con las unidades que deben fabricarse
export class ModeloFabricacion{

//Modelo asociado
modelo: Modelo;

//Cantidad asociado al modelo
cantidad: number;

constructor(modeloParametro:Modelo, cantidadParametro:number){
this.modelo = modeloParametro;
this.cantidad = cantidadParametro;
}


}
15 changes: 15 additions & 0 deletions models/operacion.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//Define las acciones que realizan los operarios
export class Operacion{

//Descripcion de la accion que un operario debe llevar a cabo
accion: string;

//Duracion estimada de la operacion expresada en segundos
duracionEstimada: number;

constructor(accionParametro:string, duracionEstimadaParametro:number){
this.accion = accionParametro;
this.duracionEstimada = duracionEstimadaParametro;
}

}
12 changes: 12 additions & 0 deletions models/orden_de_fabricacion.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { ModeloFabricacion } from "./modelo_fabricacion";

//Contiene uno o más paquetes de modelos y el número de unidades por modelo que deben fabricarse
export class OrdenDeFabricacion{

//Conjunto de modelos con los números de unidades
modelos: Array<ModeloFabricacion>;

constructor(modelosParametro:Array<ModeloFabricacion>){
this.modelos = modelosParametro;
}
}