PROYECTO AVICOLANDIA

JOHAN ESTIVEN ALZATE PARRA 905504 CARLOS WILLIAM RAMIREZ CASTRILLON 905542

MATERIA: INGENIERÍA DE SOFTWARE I DOCENTE: ADRIANA MARÍA GIRALDO OSORIO

UNIVERSIDAD NACIONAL DE COLOMBIA MANIZALES 2011

1. Introducción. La empresa avícola Avicolandia con sede en la ciudad de Manizales fue fundada en 2009 y desde entonces se ha demostrado su viabilidad y rentabilidad. La empresa es aún pequeña pero año tras año ha ido creciendo y en los últimos meses sus dueños empezaron a notar la necesidad de sistematizar sus procesos operativos y administrativos. La empresa trabaja con huevos de tamaño A, AA y AAA; cada día la empresa produce un total de alrededor de 3000 huevos en todas sus presentaciones (aprox. 1000 de cada una), además se venden en cajas de a 30 unidades llamadas cubetas. A razón de esto deciden implementar un sistema de información acorde con sus necesidades y acorde al tipo de maquinaria que usan. La empresa cuenta con un gerente, un director de operaciones y 5 empleados. En cuanto a maquinaria hay sólo tres máquinas que se encargan del proceso productivo. En primer lugar una máquina recolectora y clasificadora (T200), que luego envía los huevos a la segunda máquina que lava los huevos (T300) y los envía a la tercera máquina, la T400, que los empaca y etiqueta, a partir de ahí las cajas o cubetas son movidas con un montacargas a una bodega contigua donde se almacenan por unas pocas horas y después son llevados a los distribuidores. Las tres máquinas tienen sensores y pueden enviar diferentes tipos de información a un sistema central y además recibir información y órdenes de éste. Los dueños de la empresa requieren de un sistema centralizado que controle la información del personal que labora en la empresa. Además debe controlar las tres máquinas, tanto monitoreando y almacenando la información que éstas envían, como también permitiendo a los operadores enviarles señales para que aumenten o disminuyan su velocidad de operación, también debe permitir iniciar o detener su funcionamiento; más específicamente, obtener información de producción de la máquina T200 y T400, y más importante aún, recibir las señales de alarma de la máquina T400 y notificar al jefe de operaciones sobre dicha alarma. Los dueños de la planta desean garantizar su funcionamiento constante, así que las instalaciones de la avícola requieren tener redes eléctricas redundantes, generadores eléctricos a gasolina o diesel, debe tener medios alternativos de conexión a internet en caso de que las conexiones principales fallen. También han hecho énfasis en la enorme importancia que para ellos tiene la información y para ellos es indispensable tener respaldada toda la información, y que existan al menos tres niveles o mecanismos distintos e independientes que provean redundancia y que garanticen una probabilidad de casi cero, de que se pierda la información y una máxima velocidad a la hora de restaurar el sistema si ocurren fallas graves.

El sistema debe generar reportes de producción consolidados con los datos de todas las máquinas, además de información de los empleados, turnos, mantenimientos de las máquinas, producción total y alarmas durante la producción. Se espera que en poco tiempo toda la planta esté sistematizada y que los procesos y la información provista por el sistema, ayude en la toma de decisiones para que haya una reducción de costos de operación, mayor control, eficiencia y eficacia en las operaciones diarias de la empresa que finalmente se traducirán en mayores beneficios para los empleados y los propietarios.

2. Requerimientos no funcionales • Se requieren manuales en línea e impresos del sistema, además de video tutoriales para disminuir el tiempo de aprendizaje. • El sistema manejador de base de datos será SQL Server 2008 R2 Standard, ya que los propietarios anteriormente habían adquirido licencias para su uso, y desean aprovechar este recurso. La seguridad la brindará la propia base de datos. • El sistema será desarrollado para la plataforma .Net lo que garantiza en parte su calidad y eficiencia. Será escrito en Visual Basic .Net, utilizando la herramienta de desarrollo Visual Studio 2010. VB.Net es un lenguaje con plenas características de orientación a objetos. Además la plataforma .net ofrece servicios en tiempo de ejecución como control de memoria no utilizada (Garbage Collector), supervisión de ejecución de código, funciones de seguridad entre otros. Además de usar las clases base de la plataforma, se usará también componentes desarrollados por terceros, como controles especiales o herramientas para exportar o importar información a diferentes formatos. Para acceso a datos se utilizará el Ado.Net Entity Framework. Que es un subconjunto de la plataforma .Net que permite generar un conjunto de clases que representan a manera de entidad cada tabla de la base de datos. A través de estas clases y de los servicios que ofrece Entity Framework es posible consultar, manipular y eliminar información de la base de datos fácilmente. Para la interfaz gráfica se utilizarán los controles y formularios estándar de la plataforma, los llamados Windows Forms. Se requiere que dicha interfaz sea amigable, con accesos directos y ubicación de los menús oportuna e intuitiva, los colores y el diseño gráfico usado deben ser sobrios, generando una imagen suave y que no fatigue la vista. El tiempo disponible para el desarrollo del sistema son 18 meses. Los requerimientos mínimos de los PCs serán 100 GB de Disco duro, 1 GB de RAM, sistema operativo Windows XP en adelante ya que la plataforma .net solo funciona en Windows (o al menos eso sucede con los compiladores que se usarán), procesador de 1,5 GHz. La empresa ya cuenta con un servidor de buena capacidad. Las máquinas se conectan al sistema central mediante puertos seriales y la comunicación con el sistema central se hará a través de los protocolos y tipos de señales que se encuentran en los manuales de las máquinas. Se requieren tres niveles o formas distintas e independientes de respaldar la información: El primer nivel consiste en hacer backups en el mismo servidor donde funcionará la BD pero en una unidad distinta a la que alberga la BD, dicha unidad tendrá configuración RAID1, con dos discos en espejo. Al usar una unidad distinta y que además tenga un espejo, se reduce enormemente la posibilidad de pérdida de información, ya que es muy poco probable que dos discos fallen al mismo tiempo. El segundo nivel consiste en extraer copias de dichos backups en Discos externos de gran capacidad que se almacenarán (luego de copiar en ellos los backups) en distintos lugares seguros fuera de las instalaciones de la planta. El tercer nivel es una base de datos espejo en línea, hospedada en algún Data center de alta seguridad, que obviamente provea redundancia en distintos lugares

• •

• •

• • • •

del mundo (como es habitual para éstas instalaciones), de esta forma si ocurre algo verdaderamente grave con la planta y los discos externos también llegaran a perderse, habría una base de datos actualizada y reflejada en lugares remotos y ubicados alrededor del mundo. El sistema debe ser capaz de exportar información en diferentes formatos, entre ellos pdf, Excel, html5, entre otros. Entre más amplia la oferta de formatos mejor. El sistema debe garantizar privacidad y protección de acceso a los datos, también se deberá proteger el servidor de posibles ataques y de intentos de dañar o robar la información. Se requieren que los contratos de licenciamiento y mantenimiento cumplan con las características legales contractuales que ordene la ley y otras que los propietarios de la empresa desean agregar. Se requiere un servidor con al menos 16 GB de RAM, 3 unidades lógicas con configuración RAID1, con dos discos en espejo para cada una, es decir 6 discos duros físicos, cada uno de 300 GB SAS 10K RPM, y un procesador estándar de 6 núcleos y al menos 2.4 GHz. 4 discos externos de 1 TB para las copias de seguridad. Se aclara que la empresa ya posee un servidor de buena capacidad con características similares a la ya nombradas El sistema deberá mantener máxima simpleza y sencillez en su interfaz gráfica y en su interacción con el usuario. Los íconos deben ser claros y representativos de los procesos que representan, los colores no deben generar contrastes fuertes y las intensidades y tonos no deben fatigar la vista. Se requiere que el sistema sea fácilmente distribuible y actualizable, para ello se utilizará la tecnología de implementación ClickOnce que permite éstas dos características.

3. Funcionales 3.1 Descripción de actores

Gerente: Es la persona con el máximo cargo administrativo dentro de la empresa, sus únicos superiores son los dueños de la empresa. Se encarga de coordinar el resto del personal, y de lidiar con asuntos financieros, logísticos y legales de la empresa. En el sistema realiza ingreso de datos de la empresa, además de consultar reportes de producción, de empleados y alarmas. Empleado: Este actor, los obreros que se encargan de supervisar y controlar la producción en todas sus fases, tienen interacción directa con las máquinas. En el sistema, ingresan instrucciones que afectan de manera directa e inmediata aspectos de las máquinas, como la velocidad o incluso pueden apagarlas o encenderlas. Los empleado consultan informes basados en datos ingresados por el jefe operativo y que ayudan a manejar mejor las máquinas y es el encargado de crear los usuarios del sistema, también es su deber consultar los programas de mantenimiento que ingresa el jefe operativo Jefe Operativo: Es el superior inmediato de los empleados, y está bajo órdenes del gerente, se encarga de labores técnicas superiores, de supervisar las labores de los empleados y de hacer análisis y diagnósticos a las máquinas. En el sistema, ingresa datos de empleados, horarios, y como es el supervisor de las máquinas, ingresa las velocidades idóneas a las que éstas deben funcionar en un momento dado. Cuando se produce una alarma de la máquina T400 éste es notificado por el sistema vía mail. También programa los mantenimientos de las máquinas, y consulta informes de producción y de empleados. Máquinas: Representa las tres máquinas que llevan a cabo todo el proceso productivo. Envían información al sistema acerca de la producción que cada una maneja, además una de ellas (T400) es capaz de generar una alarma si hay flujo anormal de huevos. Todas las máquinas reciben órdenes de encendido, apagado y cambio de velocidad además la T400 obtiene información que usa para imprimir las etiquetas de los huevos.

3.2Diagrama de casos de uso de alto nivel y descripción

Descripción: • Nombre: 1. Manejo de datos base Tipo: Primario Actores: Gerente, Empleado, Jefe Operativo Descripción: Este caso de uso permite capturar información de la empresa, los empleados, horarios, usuarios, máquinas, además de editar o eliminar datos referentes a lo anteriormente nombrado. • Nombre: 2. Manejo de máquinas Tipo: Primario Actores: Empleado, Jefe Operativo, Máquinas Descripción: Este caso de uso permite capturar información sobre el funcionamiento en tiempo real de las máquinas, además de permitir enviar órdenes de encendido/apagado o cambio de velocidad de funcionamiento de las mismas. Además suministra información vital para la impresión de etiquetas que realiza la máquina T400. En este caso de uso el empleado programa los mantenimientos y los el jefe operativo ingresa las velocidades idóneas de funcionamiento, y puede cambiar los parámetros para la impresión de etiquetas que hace la T400. Tanto el jefe operativo como los empleados utilizan los monitores de recepción de información provenientes de las máquinas • Nombre: 3. Generación de reportes Tipo: Primario Actores: Gerente, Empleado, Jefe Operativo

Descripción: Este caso de uso permite generar todo tipo de reportes en el sistema, lo que incluye reportes de producción, de alarmas de la máquina T400, reportes de empleados, de mantenimientos, de velocidades de las máquinas, etc.

4. Análisis 4.1Diagrama de casos de uso detallados Sección principal:

Niveles

4.2 Casos de uso detallados • Nombre: 1. Manejo datos base Tipo: Primario Actores: Ver punto anterior Descripción: Ver punto anterior • Nombre: 1.1 Manejo empleados Tipo: Primario Actores: Jefe operativo Descripción: Este caso de uso permite efectuar varias operaciones sobre los datos de los empleados • Nombre: 1.1.1. Agregar nuevo empleado Tipo: Primario Actores: Jefe operativo Descripción: Permite ingresar la información de un nuevo empleado. • Nombre: 1.1.2. Modificar empleado Tipo: Primario Actores: Jefe operativo Descripción: Permite buscar y modificar los datos de un empleado • Nombre: 1.1.3. Desactivar empleado Tipo: Primario Actores: Jefe operativo Descripción: Como los empleados no se pueden eliminar ya que hay todo un historial de datos y operaciones asociados a ellos, entonces cuando un empleado se marcha de la empresa, en vez de eliminarlo, se marca como inactivo • Nombre: 1.2. Manejo horarios Tipo: Primario Actores: Jefe Operativo Descripción: Permite realizar operaciones sobe los datos de horario de los empleados • Nombre: 1.2.1. Agregar horario a empleado Tipo: Primario Actores: Jefe Operativo Descripción: Permite asignar un nuevo horario a algún empleado • Nombre: 1.2.2. Modificar horarios Tipo: Primario Actores: Jefe Operativo Descripción: Permite modificar el horario de algún empleado • Nombre: 1.2.3. Buscar y eliminar solapes en los horarios Tipo: Primario Actores: Jefe Operativo

Descripción: Permite buscar y eliminar solapes en los horarios de los empleados, es decir, si hay algún horario para alguna actividad que se realizará en las mismas horas de otra actividad para un mismo empleado. Además da la opción de eliminar uno de los dos horarios para eliminar el “cruce” de tiempo. • Nombre: 1.2.4. Eliminar horario de empleado Tipo: Primario Actores: Jefe Operativo Descripción: Permite eliminar un horario específico de un usuario • Nombre: 1.3. Manejo datos empresa Tipo: Primario Actores: Gerente Descripción: Permite realizar operaciones sobre los datos base de la empresa. • Nombre: 1.3.1. Restablecer valores por defecto Tipo: Primario Actores: Gerente Descripción: Cuando se implanta y se instala el sistema, se crea una tabla que contiene un único registro, llamada empresa, allí se guarda toda la información general de la empresa, como su nit, nombre, etc. Pero además de estos datos hay otros que tienen que ver con configuraciones y parámetros que se usan en diversos procesos, por defecto se establecen una serie de valores que se pueden rescatar o restablecer usando esta opción luego de que hayan sido cambiados por los usuarios. • Nombre: 1.3.2. Modificar datos de empresa Tipo: Primario Actores: Gerente Descripción: Permite cambiar los datos base de la empresa. • Nombre: 1.4. Manejo usuarios Tipo: Primario Actores: Empleado Descripción: Permite realizar operaciones sobre los usuarios • Nombre: 1.4.1. Crear nuevo usuario Tipo: Primario Actores: Empleado Descripción: Permite crear un nuevo usuario. • Nombre: 1.4.2. Desactivar usuario Tipo: Primario Actores: Empleado Descripción: Al igual que los empleados, los usuarios quedan asociados a diversas operaciones que se realizan en el sistema, ésta opción permite desactivarlo, ya que por lo anterior no es posible o no es recomendable borrarlo.

• Nombre: 2. Manejo de máquinas Tipo: Primario Actores: Empleado, Jefe Operativo, Máquinas Descripción: Ver punto anterior • Nombre: 2.1. Administrar información de máquinas Tipo: Primario Actores: Empleado Descripción: Permite realizar operaciones sobre los datos de las máquinas • Nombre: 2.1.1. Ingresar información de nueva máquina Tipo: Primario Actores: Empleado Descripción: Permite crear y configurar una nueva máquina en el sistema. • Nombre: 2.1.2. Modificar información de máquina Tipo: Primario Actores: Empleado Descripción: Permite cambiar datos o configuraciones de una determinada máquina • Nombre: 2.1.3. Establecer máquina como inactiva Tipo: Primario Actores: Empleado Descripción: Permite determinar que una máquina está inactiva. Esto sucede para máquinas dañadas o que ya no se usarán más, pero para las cuales no es conveniente eliminar sus datos, sino q más bien se marcan como inactivas. • Nombre: 2.1.4. Eliminar máquina Tipo: Primario Actores: Empleado Descripción: Permite eliminar los datos de una máquina determinada • Nombre: 2.2. Manejo de mantenimientos Tipo: Primario Actores: Empleado Descripción: Permite realizar operaciones sobre los mantenimientos • Nombre: 2.2.1 Agregar nuevo mantenimiento Tipo: Primario Actores: Empleado Descripción: Permite programar un nuevo mantenimiento que quedará en estado pendiente, hasta que sea confirmado o cancelado. • Nombre: 2.2.2 Cancelar mantenimiento Tipo: Primario Actores: Empleado

Descripción: Permite cancelar un mantenimiento, siempre y cuando esté en estado pendiente. Se deben incluir las respectivas observaciones • Nombre: 2.2.3 Confirmar ejecución de mantenimiento Tipo: Primario Actores: Empleado Descripción: Cuando un mantenimiento se lleva a cabo, se debe confirmar y hacer las respectivas observaciones. • Nombre: 2.3. Manejo señales para máquinas Tipo: Primario Actores: Empleado Descripción: Permite comunicarse con las máquinas y darles órdenes. • Nombre: 2.3.1 Enviar señale de apagado a una máquina Tipo: Primario Actores: Empleado Descripción: Permite enviar una señal a una máquina, que le ordena que se apague de manera inmediata. • Nombre: 2.3.2 Enviar señal de aumento o disminución de velocidad de funcionamiento. Tipo: Primario Actores: Empleado Descripción: Permite enviar una señal a una máquina, que le ordena que aumente o disminuya su velocidad de funcionamiento de inmediato. • Nombre: 2.4. Manejo de Información de impresión Tipo: Primario Actores: Jefe Operativo Descripción: Permite hacer operaciones sobre los parámetros o configuraciones para la impresión de etiquetas que lleva a cabo la máquina T400 • Nombre: 2.4.1 Editar parámetros de impresión Tipo: Primario Actores: Jefe Operativo Descripción: Permite modificar los parámetros de impresión, que afectarán el funcionamiento de la máquina T400 • Nombre: 2.4.2 Restablecer parámetros por defecto Tipo: Primario Actores: Jefe Operativo Descripción: Deja la configuración de impresión tal cual estaba al momento de la implantación del sistema. • Nombre: 2.4.3 Suministrar info a máquina Tipo: Primario Actores: Máquina Descripción: La máquina T400 utiliza este caso de uso, que le permite obtener información sobre la impresión de etiquetas que ésta lleva a cabo.

• Nombre: 2.5. Manejo recepción de información Tipo: Primario Actores: Jefe operativo, empleado Descripción: Da acceso a los dos monitores de recepción de información que proviene de las cajas. • Nombre: 2.5.1 Monitor de recepción información de producción Tipo: Primario Actores: Jefe operativo, empleado Descripción: Da acceso a un componente del sistema que permite observar en tiempo real la información de producción que están enviando las máquinas, además ofrece la posibilidad de ver un historial de la actividad y la información recibida recientemente. • Nombre: 2.5.2. Monitor de recepción de alarmas de la máquina T400 Tipo: Primario Actores: Jefe operativo, empleado Descripción: Da acceso a un componente del sistema que permite observar en tiempo real las alarmas que genera la máquina T400, además de un historial de las alarmas recientes. • Nombre: 3. Generación de reportes Tipo: Primario Actores: Gerente Descripción: x • Nombre: 3.1. Reportes de producción Tipo: Primario Actores: Gerente, Jefe Operativo Descripción: Reportes de producción de las tres máquinas • Nombre: 3.1.1 Reporte de producción x tamaños Tipo: Primario Actores: Gerente, Jefe Operativo Descripción: Este reporte refleja la producción final, que es medida por la máquina T400 que es la que finalmente empaca y etiqueta los huevos. • Nombre: 3.1.2 Reporte de producción de máquinas Tipo: Primario Actores: Gerente, Jefe Operativo Descripción: Este reporte refleja la producción de las máquinas T200 y T300, es decir, cuantos huevo entraron y salieron de cada una de ellas, este informe es útil para detectar si hay pérdida de huevos o cosas similares. • Nombre: 3.2. Reportes de máquinas Tipo: Primario

Actores: Gerente, Empleado, Jefe Operativo Descripción: Contiene los diferentes reportes que tienen que ver con las tres máquinas principales de la planta. • Nombre: 3.2.1. Reporte de alarmas Tipo: Primario Actores: Gerente, Jefe Operativo Descripción: Muestra el historial de todas las alarmas y sus respectivos datos asociados, que ha emitido la máquina T400 • Nombre: 3.2.2. Reporte de mantenimientos Tipo: Primario Actores: Jefe Operativo Descripción: Permite generar informes sobre los mantenimientos de las máquinas de la planta. • Nombre: 3.2.2.1. Reporte de mantenimientos pendientes Tipo: Primario Actores: Jefe Operativo Descripción: Permite observar los mantenimientos que aún no se han efectuado, las fechas y horas para las que están programados, y demás características. • Nombre: 3.2.2.2. Reporte de mantenimientos cancelados Tipo: Primario Actores: Jefe Operativo Descripción: Permite observar un historial con todos los mantenimientos cancelados, su información y los motivos u observaciones que se hicieron al momento de cancelarlos. • Nombre: 3.2.2.3. Reporte de mantenimientos finalizados Tipo: Primario Actores: Jefe Operativo Descripción: Permite observar un historial con todos los mantenimientos que se ejecutaron y sus respectivas observaciones. • Nombre: 3.2.3. Reporte de velocidades idóneas de funcionamiento Tipo: Primario Actores: Empleado Descripción: Este informe se basa en los datos que ingresa el jefe operativo de “velocidades de funcionamiento idóneas para las máquinas” y le permite a los empleados hacer un análisis y elegir la mejor velocidad de funcionamiento para cada máquina y a continuación enviar la orden la máquina en cuestión. • Nombre: 3.3. Reportes empleados Tipo: Primario Actores: Gerente, Jefe Operativo Descripción: Informes generales de empleados. • Nombre: 3.3.1. Reporte "Hoja de vida" empleado Tipo: Primario

Actores: Gerente, Jefe Operativo Descripción: Permite ver toda la información de manera detallada de uno o más empleados, esto incluye información personal, académica, laboral y legal de dicha persona. • Nombre: 3.3.2. Reporte de horario de empleado Tipo: Primario Actores: Gerente, Jefe Operativo Descripción: Permite observar fácilmente el horario de uno o más empleados. CURSOS NORMALES DE 10 CASOS DE USO:
CURSO NORMAL: 1.1.1. Agregar nuevo empleado ACTOR SISTEMA Se requiere agregar un nuevo empleado 1) Se pregunta el número de de cédula del nuevo empleado Se ingresa el número de cédula 3) Se verifica que no exista otro empleado con la misma cédula 4) Si no existe, se solicita ingresar el resto de datos, incluída información sobre el contrato de trabajo y el cargo que ocupará Se digitan los datos 6) Se validan los demás datos. 7) Si los datos son correctos se pide confirmar la grabación del empleado Se confirma la operación

0) 2)

5)

8)

9)

Si se confirma, empleado.

se

guarda

el

nuevo

0)
2)

5)

CURSO NORMAL: 3.1.1 Reporte de producción x tamaños ACTOR SISTEMA 1) Se pregunta el rango de fechas del que Se solicita el reporte de producción por desea obtener el informe tamaños Se ingresa el rango de fechas 3) Se verifica que la fecha 1 sea válida e inferior a la fecha 2 que de la que también se evalúa si validez. 4) Si son válidas, se procede a solicitar un filtro para determinar si se desea que el informe solo contenga información de un tamaño de huevos en especial (A, AA, AAA) Se ingresa el tipo de filtro deseado 6) Se valida que el filtro sea válido 7) Si es válido, se carga el informe CURSO NORMAL: 2.2.1 Agregar nuevo mantenimiento ACTOR SISTEMA Se solicita agregar un nuevo mantenimiento 1) El sistema solicita una fecha para el mantenimiento 3) Se verifica que sea una fecha válida. Se ingresa la fecha 4) Si es correcta se solicita la máquina para la cual se va a hacer el mantenimiento Se verifica que la máquina sea válida para hacer mantenimientos, es decir que no tenga otro mantenimiento programado en la misma fecha Si es correcto se guarda los datos del nuevo mantenimiento

0)

2) 5)

Se indica a cuál máquina se va a hacer mantenimiento

6)

7)

CURSO NORMAL: 2.2.2 Cancelar mantenimiento ACTOR SISTEMA

0) 2)

Se requiere cancelar el mantenimiento de una máquina Se ingresan los datos

1) 3)

Se preguntan los datos del mantenimiento a cancelar Se verifica si existe un mantenimiento que coincida con los datos ingresados Si existe un mantenimiento, se solicita el motivo de la cancelación (observaciones) Se pregunta si está seguro de cancelar el mantenimiento Si la respuesta es afirmativa se procede a cancelar el mantenimiento y se almacenan las observaciones

4)
5) 7) Se ingresa el motivo Se ingresa la respuesta 6) 8)

0)
2)

CURSO NORMAL: 2.2.3 Confirmar ejecución de mantenimiento ACTOR SISTEMA 1) Se preguntan los datos del mantenimiento a Se requiere confirmar la ejecución de un confirmar mantenimiento Se ingresan los datos

9) 3)

Se verifica si existe un mantenimiento de acuerdo a los datos ingresados Si existe un mantenimiento que coincida, se solicitan las observaciones. Si las observaciones son válidas, se almacenan y se marca el documento como confirmado.

4)

Se digitan las observaciones

5)

0)
2)

5)

CURSO NORMAL: 2.3.1 Enviar señale de apagado a una máquina ACTOR SISTEMA 1) El sistema solicita cual es la máquina que se Se apagar una máquina desea apagar Se ingresa la máquina a apagar 3) El sistema valida que la máquina si exista y sea válida para realizar dicha operación 4) Si es válida, el sistema pregunta si está seguro de apagar dicha máquina. Se ingresa la respuesta 6) Si es afirmativa, se procede a enviar la señal de apagado a la máquina

CURSO NORMAL: 2.3.2 Enviar señal de aumento o disminución de velocidad de funcionamiento ACTOR SISTEMA 0) Se requiere aumentar la velocidad de una 1) El sistema pregunta cuál es la máquina a la máquina cual se desea a aumentar su velocidad de funcionamiento 2) Se ingresa la máquina a afectar 3) Se verifica si existe y si es válida para efectuar esta operación. 4) Si existe y es válida se pregunta cuál es la nueva velocidad. 5) Se ingresa la nueva velocidad 6) Se verifica que la nueva velocidad sea válida

7)
8) 9) La máquina recibe el dato de la nueva velocidad y verifica si está en capacidad de cambiar la velocidad la ordenada. Si está en capacidad de cambiar la velocidad, la máquina altera su velocidad de funcionamiento progresivamente hasta llegar a la que se le ordenó.

Si es válida se envía la señal para que la máquina cambie su velocidad de funcionamiento

0)

CURSO NORMAL: 3.3.1. Reporte "Hoja de vida" empleado ACTOR SISTEMA 1) Se pregunta el ID del empleado Se requiere consultar la hoja de vida de un solo empleado

2)

Se digita el ID del empleado

3) 4)

Se verifica que el empleado si exista Si el empleado existe, se consulta toda su información y se muestra en el reporte

0)

CURSO NORMAL: 1.1.3. Desactivar empleado ACTOR SISTEMA Se necesita desactivar un empleado 1) Se pregunta el ID del empleado Se digita el ID del empleado 3) Se valida que el empleado exista y que esté activo Si cumple con las validaciones, se pide ingresar el motivo de la desactivación. Se valida el motivo. Si es válido, se desactiva el empleado y se almacena el motivo de desactivación

2)

4) 5)
Se ingresa el motivo 6) 7)

0) 2)

5) 6)

CURSO NORMAL: 2.4.3 Suministrar info a máquina ACTOR SISTEMA La máquina T400 requiere información para 1) El sistema ofrece distintos tipos de variables imprimir y datos que la máquina puede tomar, y pregunta cual es el deseado. La máquina indica cuál debe usar para este 3) Se verifica que el dato requerido sea válido punto del proceso de impresión (aunque al ser algo automatizado no es tan necesario) 4) Si es válido, se transmite a la máquina dicho dato. La máquina lo recibe y verifica que el dato sea correcto. Si es correcto la máquina procede a hacer las impresiones o a continuar con el proceso que esté haciendo

4.3 Identificación y descripción de clases, 4.5 Diccionario de datos. Empleado: Ésta clase representa cada empleado legalmente vinculado a la empresa, almacena información vital e información contractual esencial para distintos procesos.
Nombre empCodigo empCedula empNombre empFechaNacimient o empDireccion empTelefono empEmail empFoto Descripción Código que identifica al empleado Cédula del empleado Nombre del empleado Fecha de nacimiento Dirección del empleado Teléfono del empleado Correo electrónico del empleado Foto del empleado Tipo/long C10 C13 C50 Date C15 C26 C30 image Validación Llave primaria. Obligatorio, único Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio

Operaciones: ObtenerHorario, ObtenerHistorialDeAlarmas, DeterminarSiEsJefeOper. ObtenerHojaDeVida..

DeterminarSiEsGerente,

Máquina: Ésta clase representa cada una de las máquinas que opera dentro de la empresa. Amacena todos los datos relevantes para su manejo dentro del sistema.
Nombre maqCodigo maqDescripcion maqSerial maqPeso maqMarca maqCosto maqVidautil maqFoto Descripción Código que identifica cada máquina Nombre o descripción de la máquina Serial de la máquina Peso de la máquina Marca de la máquina Costo de la máquina Vida útil de la máquina Foto de la máquina Tipo/long C10 C13 C50 Date C15 C26 C30 image Validación Llave primaria. Obligatorio, único Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio

Operaciones: ObtenerProducciones, ObtenerInfoHuevos, DesactivarMáquina, ObtenerMantenimientosRalizados. Apagar, Encender, AumentarDisminuirVelocidad. Usuario: Es uno de los componentes tecnológicos fundamentales en la arquitectura del sistema de información, toda operación debe hacerse usando un usuario como responsable de la acción. Los usuario se podrán crear usando la seguridad de la BD SqlServer ó implementando un mecanismo de seguridad similar basado en usuarios.
Nombre usuNombre usuFechacreacion Descripción Nombre del usuario, que al ser único, también sirve como llave primaria de la tabla Fecha de creación del usuario Tipo/long C20 Date Validación llave primaria Obligatorio

Operaciones: ObtenerHistorialMantenimientos, y HistorialOrdenEncendidoYapagado , ObtenerHistorialDeOrdenesDeVelocidad, DesactivarUsuario Empresa: Esta clase representa la información general y parámetros globales de la organización demás de información básica como nit, representante legal, firmas, logos, etc. Este registro es único para toda la BD, implicando que hay una unicidad (irrepetibilidad de información) para todas las tareas de la BD. La tabla y el único registro de empresa
Nombre emNit emDigver emNombre emNombreComercial emTelefono emDireccion emEmail emPaginaWeb emRegsanitario empCodigoGerente empCodigoJefeOP Descripción Nit de la empresa Dígito de verificación del nit Nombre en cámara y comercio de la empresa Nombre comercial de la empresa Teléfono principal de la empresa Dirección principal de la empresa Email oficial de la empresa Dirección de la página web de la empresa Registro sanitario invima Código del empleado asignado como gerente Código del empleado asignado como jefe OP Tipo/long C9 C C30 C30 C15 C20 C20 C50 C20 Validación Llave primaria obligatorio, caracter numérico Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio

Operaciones: ObtenerJefeOperativo, ObtenerGerente., ResetearDatos. Horario: Representa una actividad llevada acabo en un momento bien definido (fecha y hora)
Nombre horCodigo horDia horHoraini horHorafin Descripción Código horario, éste campo no es visible ni es usado directamente por el usuario. Día de la semana Hora inicio Hora fin Tipo/long Int C2 Time Time Validación Llave primaria Obligatorio, Dominio {‘lu’, ‘ma’, ‘mi’, ‘ju’, ‘vi’, ‘sa’, ‘do’} Obligatorio Obligatorio

horActividad empCodigo

Actividad a realizar en el lapso de tiempo

Memo

Obligatorio Obligatorio

Operaciones: CrearNuevoHorarioParaEmpleado. Info_huevo
Nombre infCodigo

ObtenerHorarioDeEmpleadoEspecífico,

infFechahora infMaquina infCantidad infObservacion maqCodigo

Descripción Código que identifica el registro de información de los huevos, éste código no es visible ni directamente manipulado por los usuario. Fecha y hora del registro de la producción Máquina que realizó el conteo. Cantidad de huevos que registró la máquina T200 o T300 Observación de ésta producción Máquina que generó la información de huevos

Tipo/long Int

Validación Llave primaria

DateTime C4 int memo

Obligatorio, único Obligatorio, Dominio{‘T200’,‘T300’}Obligatorio

Obligatorio

Operaciones: Al igual que la clase producción, ésta clase no contiene operaciones relevantes que aplique al contexto del objeto, es útil al analizar muchos objetos de ésta clase, que permitan obtener estadísticas sobre el funcionamiento de las máquinas (info_huevos) Producción: Representa principalmente la cantidad de huevos que se produjeron en un determinado momento
Nombre proCodigo proFechahora proCantidadA proCantidadAA proCantidadAAA proLote proObservación maqCodigo Descripción Código que identifica el registro de producción, éste código no es visible ni directamente manipulado por el usuario. Fecha y hora del registro de producción Cantidad de huevos producidos de tamaño A Cantidad de huevos producidos de tamaño AA Cantidad de huevos producidos de tamaño AAA Lote al que pertenecen los huevos producidos Observación de la producción Máquina que generó los datos de producción Tipo/long Int datetime Int Int Int int Memo Validación Llave primaria Obligatorio, único Obligatorio Obligatorio Obligatorio Obligatorio Obligatorio

Operaciones: Al igual que info_Huevos, ésta clase almacena información transaccional que es útil si se analiza en grandes cantidades, mas es duro hallar operaciones en el ámbito del objeto para ésta clase que realmente sean relevantes. Alarma: Representa una alarma emitida por la Maquina T400, almacena información de las posibles causas que generaron la alarma y además almacena el tipo, fecha y hora.
Nombre alaCodigo alaFechahora alaTipo empCodigo Descripción Código alarma Fecha y hora alarma Tipo de alarma, es decir, si es por saturación o por ausencia de huevos. Empleado al que se notificó la alarma Tipo/long Int datetime C Validación Llave primaria Obligatorio, Dominio {‘S’, ‘A’} Obligatorio

Operaciones: ObtenerAlarmasEmitidasParaUnaMaquina. Mantenimiento: Representa una operación de mantenimiento de alguna máquina, esto implica almacenar datos temporales y una determinada Máquina a la que se le hará mantenimiento.

Nombre manCodigo manFechahora manMaquina manObservacion maqCodigo usuNombre

Descripción Código de mantenimiento Fecha y hora para en que se realizará el mantenimiento Máquina a la que se realizará el mantenimiento Observaciones a cerca de dicho mantenimiento Máquina a la cual se le realizará el mantenimiento Usuario que registró el mantenimiento

Tipo/long int datetime C4 Memo

Validación Llave primaria Obligatorio Obligatorio, Dominio {‘T200’, ‘T300’, ‘T400’} Obligatorio Obligatorio

Operaciones: ObtenerMantenimientosAplicadosAMaquinas, CancelarMantenimiento, ConfirmarMantenimiento. ObtenerMantenimientosProgramadosPorXusuarios. Velocidad_maquina: Representa una orden de aumento o disminución de la velocidad de funcionamiento de una máquina, almacena datos sobre fecha, hora, intensidad y observaciones sobre dicho cambio de velocidad.
Nombre velCodigo velFechahora velObservacion velVelocidad Descripción Código para la solicitud de velocidad, éste código no es visible ni directamente manipulable por el usuario Fecha y hora para la que se solicita que se aplique la velocidad Observaciones a cerca de la asignación de dicha velocidad Velocidad solicitada, que comprende el dominio [0100] siendo 0 un indicador de parada (Stop) y siendo 100 la máxima velocidad a la que puede operar la máquina. Tipo de velocidad, que puede ser idónea o real Máquina a la que se quiere afectar Usuario que registró la solicitud de velocidad Tipo/lo ng int datetim e Memo int Validación Llave primaria Obligatorio, único

Obligatorio, Dominio {0-100} Obligatorio, Dominio {‘I’, ‘R’} Obligatorio, Dominio {‘T200’, ‘T300’, ‘T400’} Obligatorio

velTipo velMaquina usuNombre

C C4

Operaciones: EnviarSeñalDeCambioVelodicad. Orden_ae: Representa una orden de encendido ó apagado para una de las máquinas, almacena información de tiempo, la máquina a la cual se enviará la orden y el usuario que realiza la operación.
Nombre ordCodigo Descripción Código para la solicitud de apagado ó encendido, éste código no es visible ni directamente manipulable por el usuario Fecha y hora para la que se solicita que se apague o encienda la máquina Observaciones de la solicitud Orden de encendido o apagado, Puede ser ‘A’ para apagar o ‘E’ para encender. Tipo/long int Validación Llave primaria

ordFechahora ordObservacion ordAE

datetime memo C

Obligatorio, único Obligatorio Obligatorio, Dominio {‘A’, ’E’}

maqCodigo
usuNombre

Máquina a la cual se enviará una señal de encendido o apagado.
Usuario que registró la solicitud.

Obligatorio
Obligatorio

Operaciones: EnviarOrdenAMáquina, ObtenerOrdenesApagado.

ObtenerOrdenesDeEncendido,

Nota: Cuando se especifica que un código no es visible ni directamente manipulable por el usuario, significa que dicho dato no es de relevancia para el usuario y por lo tanto no

necesita conocer ni manipular su valor, pero el sistema si lo usa para hacer las operaciones insert, update y delete, es el sistema quien asigna su valor y quién lo utiliza.

4.4 Descripción de relaciones y diagrama de clases:

maquina -> producción : Relación 1 a muchos. o Una máquina genera muchos datos de producción (*). Esto ocurre con el paso del tiempo a medida que la máquina funciona en la planta maquina -> Info_huevo: Relación 1 a muchos. o Una máquina genera muchos datos de info_huevos (*). Esto ocurre con el paso del tiempo a medida que la máquina funciona en la planta maquina -> velocidad_maquina: Relación 1 a muchos. o Una máquina es afectada por muchas órdenes velocidad_máquina que obligan a que cambie dicha velocidad. • de

maquina -> orden_ae: Relación 1 a muchos. o Una máquina puede tener muchas órdenes de encendido y apagado enviadas hacia ella.

• •

maquina -> mantenimiento: Relación 1 a muchos. o Una máquina puede tener muchos mantenimientos asignados Velocidad_maquina -> usuario: Relación 1 a muchos. o Un usuario puede ingresar varias velocidades para máquina

• • •

orden_ae -> usuario: Relación 1 a muchos. o Un usuario puede solicitar varias órdenes de apagado. mantenimiento -> usuario: Relación 1 a muchos. o Un usuario puede programar varios mantenimientos. empleadoGerente -> empresa: Relación 1 a 0-1. o La empresa puede tener en un determinado momento máximo un gerente empleadoJefeop -> empresa: Relación 1 a 0-1. o La empresa puede tener en un determinado momento máximo un jefe operativo empleado -> alarma: Relación 1 a muchos. o Un empleado puede ser notificado en muchas alarmas empleado -> horario: Relación 1 a muchos. o Un empleado puede tener muchos horarios

• •

4.5 Diccionario de datos *El diccionario de datos es prácticamente a las plantillas que se hicieron para las clases. Pensamos que era demasiando redundante volver a incluir todo el conjunto de tablas, que eran prácticamente iguales.