Por colaboradores de Mundo Ingenio
Actualmente, la evolución y desarrollo de diferentes áreas en la que se desempeñan muchos individuos y corporaciones están íntimamente ligados a la tecnología. Ciertamente, la tecnología abarca muchas áreas, desde las redes y telecomunicaciones hasta el desarrollo de sistemas y enseñanza de las mismas, pero en todos los casos es preciso el uso de programas, mismos que requieren y cuenta con funcionalidades específicas, cada una diseñada y estructurada para ejecutar procesos. Es entonces que nace la necesidad de documentar y plantear un proceso controlado y fundamentado para al final de una desarrollo de programación obtener una ejecución óptima.
Es significativo comentar que para el correcto entendimiento de la indagación uno de los temas que se mencionan es “caso de uso”, el cual según el autor Campderrich Falgueras (2013) significa lo siguiente: “Un caso de uso representa una interacción entre el software y un actor o más. Dicha interacción tiene que ser, en principio, una función autónoma dentro del software.” (pág. 85). Otro concepto importante es “UML” que por sus siglas en inglés significa ‘“Unified Modeling Language” cuyo propósito es, según el autor mencionado antes, modelar una construcción de un “software” orientado a objetos.
En la presente investigación se pretende de manera general mostrar algunas características con las que debe cumplir el desarrollo y análisis de un sistema o programa; entre estos parámetros fundamentales es relevante mencionar que uno de los cimientos de este proceso tiene como nombre “los casos de uso”, en donde se puede visualizar e identificar funcionalidades y quienes son sus actores, incluso el acceso limitado o no, entre otras características propias.
De manera específica se pretende poner en práctica mediante el caso propuesto en el presente curso con nombre “Oc2021” algunas acciones a través de ejercicios planteados a continuación. Por otra parte, y de forma específica también, se exponen la identificación de escenarios por medio de técnicas apropiadas para dicho caso. Además, poner en la práctica la correcta redacción de un caso de uso. Por último, incorporar una funcionalidad nueva en el caso ya mencionado, y la manera adecuada de vincularlo con otra función ya establecida.
La presente indagación y práctica de ejercicios obtiene múltiples resultados favorables para el adecuado uso de las herramientas y técnicas que brinda la apropiada función del proceso de desarrollo de un sistema.
Desarrollo
1. Elabore el diagrama de casos de uso. Para lograrlo debe basarse en la literatura del curso y utilizar correctamente el formato de dicho diagrama en el que se expresa cada elemento según la notación UML. Este diagrama será parcial, es decir, solo incluirá un subconjunto de los casos de uso del sistema. Los actores y funcionalidades para usar serán:
a. Guardianes, los cuales podrán crear su cuenta, iniciar sesión en la aplicación y registrar denuncias.
b. Oficiales, con la capacidad de crear cuenta, iniciar sesión y crear propuestas de solución.
c. Jueces, con la capacidad de crear cuenta, iniciar sesión, aprobar propuesta de solución y rechazar propuesta de solución.
A continuación se presenta un diagrama de casos de uso según la notación UML. Se muestra en forma de imagen (Imagen 1) para una visualización entendible. La imagen es de autoría propia, creadas con el sistema en línea de “Miro” en su sitio web con dominio: “miro.com”. Se plantea el diagrama con base en los fundamentos y ejemplos de las lecturas de los autores Campderrich Falgueras (2013) y Bruegge y Dutoit (2002).
Imagen 1.
Diagrama “Casos de uso UML”
Autor: propio
Es preciso mencionar que existen o pueden existir relaciones entre casos de uso, siendo estas dependencias unas de otras, las cuales se representan mediante las palabras en inglés “extend” e “include”, cuyo propósito es especificar a detalle dichas relaciones y mostrar un diagrama mucho más minucioso. En la Imagen 1, no se pretende extender mucho más estas relaciones, para visualizar de mejor manera el comportamiento del sistema externo, ya que existen otros diagramas donde se especifica a profundidad este tipo de proceder, por ejemplo: diagramas de interacción, secuencia, colaboración y otros.
2. Una de las actividades que se realizan de previo para poder identificar un caso de uso es la identificación de escenarios. Para esto deberá investigar la literatura del curso y atender los siguientes requisitos:
a. Defina en qué consiste esta técnica y explique al menos 3 posibles usos que podrían dárseles.
Como parte fundamental del desarrollo de un sistema informático, existen una serie de parámetros que se deben tomar en cuenta para un proceso completo y eficiente. Uno de estos elementos del proceso es identifica do como la “identificación de escenarios”, misma que los autores Bruegge y Dutoit (2002) conceptualizan de la siguiente forma: “es una descripción concreta, enfoca e informal de una sola característica del sistema desde el punto de vista de un solo actor.” (pág. 108). Este proceso se plante por un usuario cuando realiza acciones en un sistema informático, es por esta razón que es sumamente significativo decir que es un componente que no debe omitirse dentro del desarrollo de un programa o aplicación informática.
El mismo autor menciona más adelante una técnica utilizada frecuentemente para dar lugar a la identificación de un escenario; el planteamiento de preguntas primordiales. Estas preguntas se listan a continuación:
- ¿Cuáles son las tareas que el actor quiere que realice el sistema?
- ¿Qué información consulta el actor? ¿Quién crea esos datos? ¿Se les puede modificar o eliminar? ¿Quién lo hace?
- ¿Qué cambios externos necesita informar el actor al sistema? ¿Con cuánta frecuencia? ¿Cuándo?
- ¿Cuáles eventos necesita el actor que le informa el sistema? ¿Con cuenta latencia?
Con el resultado de las respuestas obtenidas el programador o equipo de desarrollo obtienen datos que en conjunto resuelven varias incógnitas, como por ejemplo los requerimientos, que en principio son ambiguas y se necesitan concretar sin errores.
Entre algunos de los usos que se pueden implementar con este tipo de técnica se encuentran: según el autor mencionado con anterioridad, en primer lugar, uno de los usos es identificar los requerimientos del sistema. En segundo lugar, comprender el dominio de la aplicación y marcar una ruta en concreto de desarrollo. Y en tercer lugar, identificar el tipo de escenario correcto para el desarrollo, puede ser: “tal como son” que describen una situación actual; “visionarios” que detallan un sistema en el futuro; “evaluación” donde se explican las tareas contra las que va a evaluar el sistema; y “entrenamiento” donde a través de cursos se entrena al usuario para que administre el sistema.
b. Realice la redacción del escenario de registro de denuncia, la cual debe incluir el nombre, los actores y el flujo de eventos.
Seguidamente se muestra un ejercicio de redacción de un escenario en forma de tabla (Tabla 1), con la información respectiva para la funcionalidad del caso de uso “0c2021” con nombre “registro de denuncia”. La siguiente tabla se basa en la lectura de los autores Bruegge, B. y Dutoit, A. (2002).
Tabla 1.
Nombre del escenario | Denuncia |
Instancias actoras | nombreGuardian: GuardiánnombreOficial: OficialnombreJuez: Juez |
Flujo de eventos | Guardián pueden denunciar un problema ambiental. Para cada denuncia se agregan datos correspondientes. El usuario debe agregar información del reporte. Ingresados los datos del reporte, la denuncia se crea en el sistema con el estado “Registrado” y se envía notificación a todos los jueces. Guardián debe guardar evidencia de las notificaciones. El Guardián tienen una opción para consultar las denuncias. Pueden ingresar para modificar sus datos o eliminarla.Los jueces reciben notificación y tienen una opción para consultar todas las denuncias y tienen opciones: Denegar: estado de la denuncia “Denegado”. Confirmar: estado de la denuncia a “En Proceso”. Si la denuncia es confirmada: se envía notificación a guardianes. Guardián deben guardar evidencia de la notificación.Oficial puede consultar denuncias. Seleccionada la denuncia, el oficial expone una propuesta de solución con información correspondiente. Oficial genera reporte, denuncia para a estado “Atendida” y se envía notificación a la Juez.Los jueces notificados del reporte de solución, tienen opciones: Rechazar: estado de la propuesta pasa a “En Proceso”. Juez debe justificar el estado.Confirmar: estado de la propuesta pasa a “Finalizado”. |
Tabla: “Escenario: Registro de Denuncia”
Autor: propio
Fuente: Universidad Estatal a Distancia. (2021). Instrumentos y Rubricas – Caso Práctico: “0c2021”
3. Basado en el análisis realizado en el punto anterior, redacte el caso de uso “Registrar denuncia”, describiendo completa y detalladamente la secuencia de pasos a llevar a cabo por el usuario. Debe utilizar un formato recomendado en la literatura del curso y completar correctamente cada una de las secciones de este.
A continuación, se muestra la redacción del caso de uso “Registrar denuncia”, donde se detallan los pasos que deben seguir los usuarios. Igualmente, con los datos correspondientes del caso de uso “0c2021”. El formato para presentar la información según el autor mencionado con anterioridad es tabla (Tabla 2).
Tabla 2.
Ubicación – Actor | Descripción del caso de uso |
Oficinas Guardianes | El Guardián recibe información detallada del problema (título corto, descripción detallada, N hashtags al reporte y fotografía evidencia) por parte del usuario.El Guardián ingresa la información correspondiente de la denuncia (provincia, cantón, distrito, detalle, latitud y longitud exactos).El Guardián crea la denuncia en el sistema con estado “Registrado” y envía notificación a los jueces del mismo cantón.El Guardián debe guardar evidencia de la notificación (fecha y estado: enviado exitoso y/o fallido).El Guardián tiene la opción de consultar la denuncia y puede modificar o eliminar información. |
Oficinas Oficiales | El Oficial puede consultar lista de denuncias (fecha, título y dirección de las denuncias) confirmadas por los jueces.Si el Oficial selecciona una denuncia puede: crear una propuesta de solución a la denuncia con información (título corto, una descripción del trabajo realizado, una fotografía de evidencia y finalmente uno o más hashtags).El oficial genera un reporte de la denuncia con estado “Atendida” con solución y envía una notificación al Juez que confirmo la denuncia. |
Despacho Jueces | El Juez puede consultar denuncias reportadas (título corto, la fecha en que se realizó y la dirección) en su provincia.El Juez puede seleccionar la denuncia y ver información.Si el Juez selecciona una denuncia tiene dos opciones: Denegar (cuando determina que la denuncia es falsa o no aplica, y el estado es “Denegado”) o Confirmar (considera que la denuncia es real y se debe trabajar para corregirla y el estado es “En Proceso”).Si la denuncia es Confirmar: el Juez debe clasificarla (leve, regular o grave), luego, debe enviar notificación a los Guardianes registrados en el mismo distrito.El Juez debe guardar la evidencia de la notificación.El Juez puede consultar propuestas de solución pendientes emitidas por oficiales.El Juez puede Confirmar o Rechazar la Propuesta de solución. Si Juez Confirma: el estado de la denuncia es “Finalizada”.Si el Juez Rechaza: el estado de la denuncia es “En proceso”, el Juez debe registrar el tipo de rechazo (“solución falsa”, “falta trabajo”, “solución incorrecta”, “daños adicionales para solventar”). |
Tabla: “Descripción refinada del caso de uso: Registrar denuncia”
Autor: propio
Fuente: Universidad Estatal a Distancia. (2021). Instrumentos y Rubricas – Caso Práctico: “0c2021”
4. Suponga que se ha decidido incluir una nueva característica llamada “aclaraciones” la cual, al ser activada muestra descripciones informativas al lado de cada campo de texto, con lo cual se espera que el usuario comprenda bien qué datos debe indicar en cada campo. Modifique el caso de uso “Registrar denuncia” para incorporar la funcionalidad de aclaraciones. Basado en la teoría del curso ¿Cuál relación deberá usarse para vincular ambos casos de uso? Justifique su respuesta.
A continuación, se muestra la redacción del caso de uso “Registrar denuncia”, en esta sección se modifica el caso de uso original, y se agrega un parámetro nuevo con nombre “aclaraciones”. Igualmente, con los datos correspondientes del caso de uso “0c2021”. El formato para presentar la información según el autor mencionado con anterioridad es tabla (Tabla 3).
Tabla 3.
Ubicación – Actor | Descripción del caso de uso |
Oficinas Guardianes | El Guardián recibe información detallada del problema (título corto, descripción detallada, N hashtags al reporte y fotografía evidencia) por parte del usuario.El Guardián ingresa la información correspondiente de la denuncia (provincia, cantón, distrito, detalle, latitud y longitud exactos).Descripción informativa en campos de texto que clarifica los datos necesariosEl Guardián crea la denuncia en el sistema con estado “Registrado” y envía notificación a los jueces del mismo cantón.El Guardián debe guardar evidencia de la notificación (fecha y estado: enviado exitoso y/o fallido).El Guardián tiene la opción de consultar la denuncia y puede modificar o eliminar información.Descripción informativa en campos de texto que clarifica los datos necesarios |
Oficinas Oficiales | El Oficial puede consultar lista de denuncias (fecha, título y dirección de las denuncias) confirmadas por los jueces.Si el Oficial selecciona una denuncia puede: crear una propuesta de solución a la denuncia con información (título corto, una descripción del trabajo realizado, una fotografía de evidencia y finalmente uno o más hashtags).Descripción informativa en campos de texto que clarifica los datos necesariosEl oficial genera un reporte de la denuncia con estado “Atendida” con solución y envía una notificación al Juez que confirmo la denuncia. |
Despacho Jueces | El Juez puede consultar denuncias reportadas (título corto, la fecha en que se realizó y la dirección) en su provincia.El Juez puede seleccionar la denuncia y ver información.Si el Juez selecciona una denuncia tiene dos opciones: Denegar (cuando determina que la denuncia es falsa o no aplica, y el estado es “Denegado”) o Confirmar (considera que la denuncia es real y se debe trabajar para corregirla y el estado es “En Proceso”).Descripción informativa en campos de texto que clarifica los datos necesariosSi la denuncia es Confirmar: el Juez debe clasificarla (leve, regular o grave), luego, debe enviar notificación a los Guardianes registrados en el mismo distrito.Descripción informativa en campos de texto que clarifica los datos necesariosEl Juez debe guardar la evidencia de la notificación.El Juez puede consultar propuestas de solución pendientes emitidas por oficiales.El Juez puede Confirmar o Rechazar la Propuesta de solución.Descripción informativa en campos de texto que clarifica los datos necesarios Si Juez Confirma: el estado de la denuncia es “Finalizada”.Descripción informativa en campos de texto que clarifica los datos necesariosSi el Juez Rechaza: el estado de la denuncia es “En proceso”, el Juez debe registrar el tipo de rechazo (“solución falsa”, “falta trabajo”, “solución incorrecta”, “daños adicionales para solventar”).Descripción informativa en campos de texto que clarifica los datos necesarios |
Tabla: “Descripción refinada del caso de uso: Registrar denuncia (agregada una característica nueva “aclaraciones”)”
Autor: propio
Fuente: Universidad Estatal a Distancia. (2021). Instrumentos y Rubricas – Caso Práctico: “0c2021”
Ciertamente la funcionalidad “aclaraciones” permite al usuario identificar de mejor manera la información que va a introducir al sistema, también evita la generación de texto o datos erróneos que eventualmente el usuario debe corregir, lo que produce consumo inapropiado de los recursos del sistema e incluso el tiempo del usuario. Por otra parte, según los autores Bruegge, B. y Dutoit, A. (2002), recomienda utilizar las relaciones extendidas para casos donde haya “comportamientos excepcionales, opcionales o que rara vez suceden.” (pág. 115). Además, menciona que este tipo de relación produce una descripción más modular. En este caso, la funcionalidad “aclaraciones” solo va a modificar el caso de usos “Registrar denuncia” para un mejor entendimiento del usuario final.
Conclusiones
Seguidamente se hace un breve descripción de las conclusiones del actual proyecto. En primer lugar, se logra indicar con efectividad algunos parámetros, los cuales son utilizados en el análisis y desarrollo de un sistema, en este caso en particular “los casos de uso” donde se determinan competencias de la aplicación y sus accionantes, entre otras características dentro de su proceso.
Por otra parte, se clarifica extensamente el proceder óptimo de la práctica propuesta en la investigación, desde las mejores técnicas para el reconocimiento escenarios, hasta la forma correcta de redactar un caso de usos e integración de una función nueva y su apropiada fusión con otra competencia dentro del sistema.
También, el conocimiento adquirido en la práctica es fundamental para el correcto proceso de desarrollo de un sistema o programa; la propiedad “casos de usos” funciona como una herramienta significativa dentro de los descubrimientos de requisitos y planteamiento de las funcionalidades de un sistema antes de comenzar una iteración nueva dentro del análisis y desarrollos de “softwares” o aplicaciones.
Referencias Bibliográficas
Bruegge, B. y Dutoit, A. (2002). Ingeniería de software orientado a objetos. Pearson
Educación. Recuperado de https://elibro-net.cidreb.uned.ac.cr/es/ereader/uned/74078?page=1
Campderrich Falgueras, B. (2013). Ingeniería del software. Editorial UOC. Recuperado de
https://elibro-net.cidreb.uned.ac.cr/es/ereader/uned/56294?page=1
Universidad Estatal a Distancia. (2021). Instrumentos y Rubricas – Caso Práctico: “0c2021”. [archivo PDF]. Recuperado de https://aprende.uned.ac.cr/course/view.php?id=14396