Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ent2ProyAulEstDat2015 Up
Ent2ProyAulEstDat2015 Up
EXTRACTO
Descripción General de la propuesta de trabajo para la construcción de producto de
software e identificación de los diferentes requerimientos para su desarrollo. Incluye
una propuesta de GUI. Presentado al tutor del Módulo Ing. Nelsón Orlando Pérez
Echeverri. Politécnico Grancolombiano. Septiembre 14 de 2015.
Segunda Entrega
Proyecto de Aula
Estructuras de datos - 20152
Tabla de contenido
Primera Entrega.................................................................................. 2
Introducción...............................................................................................2
1. Integrantes...........................................................................................3
2. Nombre del proyecto.............................................................................3
3. Objetivos..............................................................................................3
4. Resultados esperados............................................................................3
5. Descripción...........................................................................................4
6. Aplicabilidad de los temas del módulo....................................................5
7. Requerimientos funcionales...................................................................6
INTRODUCCIÓN
De acuerdo a lo solicitado en la primera entrega del “Proyecto de Aula” del módulo de “Estructuras
de Datos” el propósito esperado es la definición de los objetivos y metas del proyecto, estableciendo los
requerimientos funcionales del producto y hacer un análisis del problema; enuncia, para cada funcionalidad,
sus precondiciones y sus pos condiciones junto a una estrategia de solución.
Así mismo, el presente documento define lo que se quiere lograr con el desarrollo del proyecto y si es
viable la implementación del proyecto en las semanas que dura el módulo. Por otra parte, muestra ¿Qué se
tendrá como resultado del proyecto? Liado al relato, en lenguaje natural, de lo que debería hacer el software
a construir. Es decir, una lista de servicios que ofrecerá al usuario el producto final y la interacción con el
usuario a través de una interfaz gráfica. Se describir á́ en forma detallada las interfaces de usuario, de
software y los requerimientos del problema objeto de análisis como de los correspondientes atributos del
sistema.
Antes de esto, el presente trabajo ilustra ¿Cómo se piensa vincular el contenido del módulo con el
desarrollo del proyecto? Para el presente trabajo, se requiere presentar, por parte del grupo de trabajo, 3
informes de progreso. Los informes a entregar son: primer entrega (14 de septiembre): Identificar el
problema y contextualizarlo; segunda entrega (28 de septiembre): describirlo con casos de uso y
pseudocódigos; Informe final (12 de octubre): diseño final de la propuesta y entrega del producto de
software (incluida sustentación).
Con relación a la especificación de requerimientos de software (SRS) del sistema a construir, el
propósito principal es el de contener la información necesaria que ayude, posteriormente, en la fase de
desarrollo del software; que sirva como herramienta para el análisis y comprensión de todos los requisitos y
requerimientos que se esperan obtener en el desarrollo del presente trabajo académico de Estructuras de
datos. Que describa lo que el realmente se desea obtener, y poder lograr tener un documento necesario
cuya información sirva para el desarrollo del software, es decir en la codificación correcta del mismo.
Entrega 1
2. OBJETIVOS.
2.1. Objetivo General
- Desarrollar un sistema de software que permita la gestión de servicio por turnos de
disponibilidad, a través de la utilización de diferentes estructuras de datos que permitan
la manipulación de la información.
Los doctores requieren saber cuántas enfermeras hay en el hospicio, conocer cual
está de turno, indicar cuánto le falta a una enfermera (dado su id) para comenzar su
turno. Ocupar a la enfermera de turno con un paciente (retorna la enfermera de turno
si no está ocupada, o null en caso contrario); la enfermera se libera al terminar la
atención (la enferma de turno que estaba ocupada atendiendo a un paciente queda de
nuevo disponible, salvo que su turno haya terminado en cuyo caso pasa a la última
posición, si no estaba ocupada informa del error).
El sistema debe avanzar turno un minuto, de tal suerte que la enfermera que está de
turno disminuye el tiempo que le falta en 1. Si llega a 0, se inicia el turno de la
siguiente enfermera que no esté ocupada con paciente, pasando la que salió de turno
a ocupar la última posición.
Además, las enfermeras por supuesto entran y salen de trabajar de acuerdo con la
necesidad de la entidad, de tal suerte que al ingresar al trabajo una enfermera se
coloca en la última posición y al salir la enfermera del asilo se retira del sistema
circular.
En resumen, a continuación presentamos la descripción particular que se hace de la misma referencia, con
las correspondientes consideraciones, cambios, o comprensiones que se tienen del ejercicio.
El propósito es construir un sistema para la solicitud, por parte de un doctor, de una
enfermera para la atención de un paciente.
Como podemos observar, tenemos tres sujetos (actores) que intervienen en este concepto: Doctor,
enfermera, paciente; y por tanto debe existir un registro de doctores, de enfermeras y de pacientes. En el
caso de las enfermeras,
cada enfermera se identifica por su nombre y tiene asignado en minutos la duración
de su turno.
Mientras que los pacientes, tienen asociados un pabellón y una habitación. Los doctores un nombre.
Estimamos que el turno de la enfermera dura 8 horas, lo que equivale a 480 minutos en turno y un
descanso de 960 minutos. Ahora, del numero de enfermeras que están de turno,
están organizadas de manera que en todo momento solo haya una disponible y sus
turnos están organizados de manera circular.
Por otra parte, el sistema debe permitir conocer cierta información, tal como:
La enfermera de turno, sabe además el tiempo que le falta para terminar su turno
Los doctores requieren saber cuánto le falta a una enfermera (dado su id) para
comenzar su turno.
Para dicha gestión de estados, el sistema muestra la enfermera disponible, las que están en turno y las que
están de descanso. Para una mejor comprensión del siguiente párrafo,
El doctor hace la solicitud de la enfermera que tiene estado disponible, la cual acepta
el servicio y cambia su estado a “ocupada”. La siguiente enfermera de turno, pasa a
estado “disponible”. Al terminar el servicio, la enfermera que estaba ocupada pasa al
final de la lista de enfermeras de turno hasta que concluya dicho turno. Cuando una
enfermera entra, cambia su estado “de descanso” a “en turno” (ver nota siguiente) y
ocupa el final de la lista de turnos en espera de “disponible”.
Nota: Además, las enfermeras por supuesto entran y salen de trabajar de acuerdo con
la necesidad de la entidad, de tal suerte que al ingresar al trabajo una enfermera se
coloca en la última posición y al salir la enfermera del asilo se retira del sistema
circular
Por otro lado, el sistema gestiona el tiempo, tanto para los turnos como para indicar la hora de acuerdo a los
siguientes criterios:
El sistema debe avanzar turno un minuto, de tal suerte que la enfermera que está de
turno disminuye el tiempo que le falta en 1. Si llega a 0, se inicia el turno de la
siguiente enfermera que no esté ocupada con paciente, pasando la que salió de turno
a ocupar la última posición.
Para este último aspecto, las enfermeras que están “en descanso”, ocupan la posición “en turno” cuando
una enfermera termina su turno y cambia su estado a “en descanso”.
Downtime
Consulta
de Aceptacion
informació Pacientes servicios
n
Mostrar Terminacio
tiempo Doctores n servicios
Se han establecido como actores del sistema los siguientes (el actor paciente no tiene interacción con el
sistema y por tanto no tiene numeración):
Actor System
Casos de Gestionar Turno, Contar Tiempos de turno, Consultar Tiempos y
Uso listar Turno
Tipo Primario
Descripción Sistema externo para el control de los turnos y los tiempos
((métodos CRUD),
Condiciones Sistema Lógico de tratamiento de datos.
especiales
RF02 Solicitar Enfermera Solicitar, por parte del médico, una enfermera para atender un paciente
Asignar una enfermera Como "Disponible" y cambiar estado a "Ocupada" cuando su servicio es
RF03 Asignar Estado
solicitado
Ingresar al sistema los datos de una enfermera, de un paciente o de un medico según el caso y
RF04 Registrar Persona
almacenar dicha información para posteriores consultas
RF06 Contar Tiempos de Turnos Contabiliza los tiempos de los turnos de las enfermeras
Consultar el tiempo que le queda a una enfermera en particular, para terminar su turno o para
RF07 Consultar Tiempos
ingresar al turno
Listar a las enfermeras (TODAS) que hay en el Hospicio, indicando cuales estàn de turno para
RF08 Listar Turno
ser consultadas por los doctores
La siguiente es una propuesta de interfaz gráfica de usuario del sistema en una versión preliminar.
Ventana para la selección del Registro, cuando el doctor se vincula a la función Registrar.
Formulario de Registro de Pacientes. La variación con los formularios de enfermera y doctor, radican
únicamente en los datos que se capturan.
A continuación presentamos una propuesta preliminar del diagrama de Clases (esta estructura junto a los
demás elementos expuestos en esta entrega, serán mejorados respecto a la forma de presentar la
información mediante el estándar UML, ya que la segunda entrega define los casos de uso, junto a otros
aspectos que modifican estas clases, ya que cada vez el trabajo será más específico).
Entrega 2
Luego, tenemos que un Cliente puede Depositar Itemes y un Operador puede cambiar la información
de un Item o bien puede Imprimir un informe:
Además podemos notar que un item puede ser una Botella, un Tarro o una Jaba.
Otro aspecto es la impresión de comprobantes, que puede ser realizada después de depositar algún
item por un cliente o bien puede ser realizada a petición de un operador.
RF0 Solicitar Enfermera Solicitar, por parte del médico, un enfermera para atender un
2 paciente
RF0
Gestionar Turno Permitir el ingreso y liberación de enfermeras de un turno
5
Este algoritmo nos puede ser útil para crear la cola (sistema circular)
procedimiento Crear ( e )
e.TamañoCola := 0;
e.CabezaCola := 1;
e.Final := TamañoMáximo
fin procedimiento
procedimiento Insertar ( x, e )
si e.TamañoCola = TamañoMáximo
entonces
error “la lista está llena”,
sino
e.TamañoCola := e.TamañoCola + 1;
incrementar(e.Final);
e.Arraylist[e.Final] := x;
fin procedimiento