• No se han encontrado resultados

SGIC. Propuesta para Plan de Telefonía y Perfiles de Consumo

N/A
N/A
Protected

Academic year: 2021

Share "SGIC. Propuesta para Plan de Telefonía y Perfiles de Consumo"

Copied!
6
0
0

Texto completo

(1)

SGIC 

Propuesta para “Plan de Telefonía” y “Perfiles de Consumo” 

A continuación se presenta una propuesta para tratar los planes de telefonía y los perfiles de 

consumo en el SGIC. Las clases naranjas son las más importantes a tratar, y las demás se muestran  igualmente para conocer mejor el contexto de aplicación. 

PlanDeTelefoníaContratado ServiciosDeTelefonía LineaTelefónicaMóvil LineaTelefónica Proveedor DetallePerfilDeConsumo PerfilDeConsumo Cargo SIM AsignacionDeSIMMóvil DispositivoMóvilEspecífico AsignacionDeDispositivoMóvil Empleado PlanDeTelefonía ServiciosPlanTelefonia 11 11 1..* 1..* 11 0..1 0..1 11 11 11 11 11 11 11 11 11 11 0..* 0..* 0..* 0..*   Para empezar diremos que es necesario dividir lo que es “definicional” de lo que es “de uso”. ¿Qué  quiere decir esto? Esto quiere decir que el sistema debe por un lado conservar la definición de los 

planes de telefonía, al mismo tiempo que debe tener en cuenta el plan con las características 

particulares con las que fue contratado. Y esto es muy importante remarcarlo ya que, sin esta  aclaración, se podrían estar usando clases equivocadas para hacer cosas equivocadas, como por  ejemplo asignar directamente a una línea un plan de telefonía, pero de la clase que corresponde a  su definición y no una clase que sea particular de contratación. 

(2)

PlanDeTelefoníaContratado fechaContratado : Datetime numeroContrato : int fechaBajaContrato : Datetime serviciosExtraContratados : ServiciosPlanTelefonia calcularMontoTotal() PlanDeTelefonía denominacionDePlan : String numeroDePlan : int costoBase : double fechaVigencia : Date tipo [TF/TM] : String servicioPlanTel : ServiciosPlanTelefonia proveedor : Proveedor fechaBaja crear() mostrar() conocerServiciosPosibles() listarServiciosIncluidos() esTipo() mostrarDenominacion() conocerProveedor() ServiciosPlanTelefonia servicio : ServiciosDeTelefonía seIncluye : bool cantidad : double costoServicio : double costoExcedente : double crear() mostrar() conocerServicio() ServiciosDeTelefonía denominacion : String descripcion : String tipo [TF/TM] : String unidadDeMedida crear() mostrar() conocerProveedor() Proveedor 11 0..* 0..* 0..* 0..* 11 11   Para arrancar diremos que el sistema modelará los “ServiciosDeTelefonía”, éstos pueden ser:  Minutos para hablar, SMS, Servicio 3G, etc.  Sobre los atributos de ServiciosDeTelefonía, se plantea el siguiente ejemplo:  ‐ Denominación: SMS  ‐ Descripción: Mensajes de Texto  ‐ Tipo: TM (Telefonía Móvil)  ‐ Unidad de Medida: Unidad.  Un Plan de Telefonía tiene un conjunto de servicios que van incluidos con el plan y también un  conjunto de servicios no incluidos pero que se puede activar. El kit de la cuestión es que un “Plan  de Telefonía” tiene servicios incluidos y no incluidos, pero existen ciertos servicios que ni siquiera  se pueden imaginar para un determinado plan, o sea, que ni siquiera “aplicarían” para dicho plan.  Por ej.: para un plan simple de 49 + IVA de Claro es impensable pensar en un servicio de,  supongamos, 3G ya que ese es un servicio que aplica para otros planes. Sin embargo, si podemos  pensar en: minutos para hablar, sms, servicio de correo de voz, entre otros. Volviendo a la  definición de clases, vemos entonces, que un “Plan de Telefonía” tiene UNO O VARIOS “Servicios  Plan Telefonía”, que son justamente el detalle de aquellos servicios disponibles (incluidos o no)  para ese plan. 

(3)

  De cada servicio “Servicio Plan Telefonía”, se consideran los siguientes atributos:  ‐ seIncluye (Booleano): que indica si el servicio determinado se incluye o no en el plan de  telefonía. Si se incluye, entonces está considerado dentro del costoBase del Plan de  Telefonía.  ‐ Cantidad (double): es la cantidad de un servicio determinado que se incluye en el plan de  telefonía. Supongamos que el plan incluye 100 SMS por mes entonces en cantidad va 100.  Se plantea como un “double” porque podrían ser Kilobytes de transferencia (si el servicio  fuera 3G, supongamos) y en dicho caso podrían incluirse 2,5 MB.  ‐ costoDeServicio: es el costo del servicio para dicho plan. Si el servicio esta incluido este  valor podría ser “0”, sin embargo podría suceder que lo que hoy se incluye en un plan  mañana no se incluya más y en dicho caso este valor tendrá un significado por sí mismo.  Entonces, para redondear, costoServicio es el costo del servicio para este plan, que si esta  incluido no se tendrá en cuenta y puede, o no, ser cero.  ‐ costoExcedente: si se pasa en consumo a la cantidad de un servicio incluido, el costo  excedente se deberá calcular en base al costo excedente por unidad. Este costo es  justamente eso, costo por unidad de servicio excedente.    El “Plan de Telefonía” tiene los siguientes atributos que se explicarán mediante un ejemplo:  ‐ denominacionDelPlan: Plan Zero  ‐ numeroDePlan: 0154E (denominación que le da el proveedor)  ‐ costoBase: es el costo del plan, con todos los servicios que incluye el mismo.  ‐ fechaVigencia: 01/09/2009. Indica la fecha en que este plan fue cargado en el sistema,  esto es para ver si se está trabajando con una versión actualizada del plan. Recordemos  que los proveedores pueden cambiar la definición del plan y nosotros quedar trabajando  con una versión desactualizada.  ‐ Tipo [TF/TM]: TM. Es para indicar si el plan corresponde a telefonía fija o móvil.  ‐ servicioPlanTel: el conjunto de servicios que dicho plan incluye. (Un array de  ServiciosPlanTelefonía).  ‐ Proveedor: proveedor del plan. Ej.: Claro.  ‐ fechaBaja: fecha de baja del plan, si es que la empresa no lo considera más entre sus  planes posibles para trabajar actualmente (pero que aún puede estar siendo referenciado  por valores pasados)   

Estas 3 clases modelan los que se refiere a lo definicional del Plan de Telefonía.    Ahora, para modelar el plan “en uso” utilizaremos una nueva clase denominada:  PlanDeTelefoníaContratado.    A saber de sus atributos:  ‐ fechaContratado: fecha cuando se contrato el plan en particular. Ej.: 01/05/2000 

(4)

proveedor.  ‐ fechaBajaContrato: fecha de baja si el plan de telefonía contratado fue dado de baja.  ‐ serviciosExtraContratados: aquí nos detendremos a analizar detalladamente.  Sabemos que un plan de telefonía por definición tiene un conjunto de servicios que se incluyen y  otros que no, pero, ¿Qué hay si quiero contratar algunos de esos servicios extras? Entonces, ESOS  servicios extras serán parte del PLAN que se CONTRATO, y será muy particular por cada plan  contratado. Por ej., dos empelados pueden tener  el mismo plan de telefonía pero diferentes  servicios habilitados de los extras.  Es por ello que está este atributo denominado serviciosExtraContratados que es un array de  ServiciosPlanTelefonía.   Ahora como se sigue la lógica por ejemplo para calcular el monto total de dicho plan, y como se  hace un control de lo que se consume versus lo que estaba definido en el plan?  Por empezar la lógica empieza por determinar que los servicios extras contratados sean  efectivamente servicios que en el plan de telefonía están detallados como no incluidos, o sea, que  son efectivamente servicios extras posibles para dicho plan.  Luego, al adquirir ese servicio yo deberé pagar el costoServicio (costo por adquirir dicho servicio),  y en cantidad se me indica cuanto de dicho servicio se incluye por el precio abonado. Además  tendré igualmente un costo de excedente para futuros controles.  Materialicemos la contabilidad de servicios extra en un ejemplo práctico poniendo en manifiesto  los atributos más importantes: 

Planes  ServiciosPlanTelefonía  ServiciosDeTelefonía 

    PlanDeTelefonía  [Plan Zero]  [costoBase: $49]  Se incluye: True  Cantidad: 100  Precio Servicio: 0  Costo Excedente: 0,15  Denominación: SMS  Unidad de Medida: Unidad  Se incluye: True  Cantidad: 200  Precio Servicio: 0  Costo Excedente: 0,50  Denominación: Minutos Libres  Unidad de Medida: Minuto  Se incluye: False  Cantidad: 0  Precio Servicio: 5  Costo Excedente: 0,30  Denominación: Correo de Voz  Unidad de Medida: Minuto (dentro del sistema)      Denominación: Navegación 3G   Unidad de Medida: Megas (MB)    PlanDeTelefoníaContratado  [Plan Zero Contratado]  [Fecha contrato: 01/09/2009]  [Nro. Contrato: 013365E]  servicioExtraContratado:  Correo de Voz.   

(5)

  Con esto podemos ver que el Plan Zero incluye los servicios de “SMS”, “Minutos Libres”. Además,  tiene la posibilidad de adquirir “Correo de Voz”.  Sin embargo, por más que se quiera, para este  plan no aplica la “Navegación 3G”.  La definición queda plasmada en PlanDeTelefonía. Ahora, en PlanDeTelefoníaContratado tenemos  un plan de telefonía en particular que SI ADQUIRIO el “Correo de Voz”. Como vemos, el correo de  voz cuesta por mes $5 e incluye 0 de la cantidad de dicho servicio. Para entender esto debemos  ver que, en la definición del servicio, el correo de voz esta medido en los minutos que uno está  dentro del sistema navegando el correo de voz. O sea que el costo es sólo del servicio y en este  caso no incluye nada de minutos de navegación, cobrándose cada minuto navegado en el sistema  de correo de voz. El costo excedente es de 0,30 lo que nos define cuanto saldrá el minuto  navegado en el sistema de correo de voz, en este caso, durante todo el tiempo que estemos  dentro del mismo. Distinto sería si la promoción fuera: “El correo de voz cuesta $5 e incluye 30  minutos de navegación en el sistema”. En dicho caso aplicaría mejor lo de “excedente”, sin  embargo es válido para este caso, aunque cualquier consumo excede de cero, no? ☺  Finalmente el cálculo final del monto del plan contratado que es el que nos interesa será igual al  costoBase del plan más el de los servicios extras, en este caso $49 + $5 = $54.       

(6)

Cargo Empleado PerfilDeConsumo nombre : String fechaVigencia : Datetime detallePerfil : DetallePerfilDeConsumo crear() mostrar() calcularMejorPlanTelefonia() conocerDetallePerfilConsumo() DetallePerfilDeConsumo servicio cantMaxNecesaria conocerServicio() ServiciosDeTelefonía denominacion : String descripcion : String tipo [TF/TM] : String unidadDeMedida crear() mostrar() conocerProveedor() 11 11 11 1..* 1..* 11     El perfil de consumo define, la relación entre “Servicio de Telefonía” y la cantidad máxima que se  necesita de ese servicio. Todo CARGO tiene por defecto un PerfilDeConsumo que se presume  genérico para dicho cargo. Al comienzo, a un empleado se le asigna el perfil de consumo que  corresponde a su CARGO, sin embargo, con el paso del tiempo, los comportamientos de consumo  nos pueden indicar que es necesario cambiar su perfil para ajustarlo mejor a sus necesidades  actuales. Este cambio del perfil de consumo se hará en base al análisis de si se está utilizando de  más o de menos lo que en este perfil se establece. Lo indicado en el perfil de consumo es la  “regla” que dicho empleado debe cumplir en término de consumos. Sabemos que puede haber  excesos, y puede haber desaprovechamientos. Estos eventos extraordinarios deberán analizarse a  lo largo del tiempo para determinar si no corresponde cambiar el perfil.  En base a la definición del perfil de consumo es posible establecer  el mejor plan de telefonía para  dicho perfil, ya que ambos de alguna manera incluyen “servicios de telefonía” y una “determinada  cantidad”. Cabe aclarara que el mejor plan se calculará según el “menor precio posible que cumpla  con lo que necesita dicho perfil”.   

Referencias

Documento similar