================================================ Fase 1 - Definición del Contexto de un Sistema ================================================ Introducción ============== El *contexto de un sistema software* es el entorno donde se enmarca dicho sistema software. Sin una consideración adecuada del contexto resulta imposible desarrollar de forma correcta un sistema software, ya que dicho contexto influye directamente sobre dicho sistema. Es decir, no se puede considerar un sistema de forma aislada a su contexto. Por ejemplo, una empresa que desarrolle un sistema informático para una administración pública podría decidir que es interesante que se puedan exportar informes de resultados como documentos Excel, conocida hoja de cálculo muy utilizada por los equipos directivos para innumerables tareas. No obstante, dicha administración pública podría haber decretado que todo el software utilizado dentro de dicha administración debe ser, en la medida de lo posible, software libre. Ejemplos de dichas administraciones podrían ser la Junta de Extremadura o la Junta de Andalucía. En estas circunstancias, la funcionalidad del sistema relativa a la posibilidad de exportar informes a documentos Excel debe ser revisada. El programa Excel no es en absoluto software libre, por lo que entraría en conflicto con las normas reguladoras del contexto donde se enmarca dicho sistema. Por tanto, algo que se añade como una funcionalidad extra para beneficio del usuario, puede acabar siendo fuente de innumerables problemas por una inadecuada consideración del contexto. El objetivo general de esta práctica es que el alumno se familiarice con el concepto de contexto de un sistema software, aprendiendo a definirlo de manera correcta. A continuación, describimos los objetivos, actividades y criterios de evaluación que conforman esta segunda fase del proyecto. Objetivos =========== Los objetivos de esta práctica son: #. Ser capaz de elaborar y ejecutar planes para la definición del contexto de un sistema sw. #. Ser capaz de identificar los elementos que pertenecen a cada una de las vistas del contexto de un sistema sw. #. Ser capaz de definir los elementos estructurales que conforman la vista de dominio del contexto de un sistema sw, así como sus relaciones y restricciones. #. Ser capaz de definir las leyes y normativas que podrían influir en el desarrollo y funcionamiento de un sistema sw, sabiendo, además, identificar la vista concreta a la cual pertenecen dichas leyes, normativas o regulaciones. #. Ser capaz de identificar los actores que forman parte del contexto de un sistema software. #. Ser capaz de elaborar perfiles de actores que formen parte del contexto de un sistema software. #. Ser capaz de describir la infraestructura tecnológica existente en el entorno donde se desplegará un sistema software. #. Ser capaz de describir todos los elementos existentes en el entorno donde se desplegará un sistema software que podrían condicionar los procesos y técnicas a utilizar para el desarrollo de dicho sistema software. #. Ser capaz a definir la frontera de un sistema sw, el contexto de un sistema software y la frontera del contexto de un sistema sw. #. Ser capaz de definir un glosario que permita entender la terminología propia del contexto donde se desplegará un determinado sistema software. Actividades ============ Para definir el contexto de un sistema sw, cada grupo deberá realizar las siguientes actividades: #. Planificar una serie de actividades cuyo objetivo final sea la definición del contexto del sistema. Para ello, se aconseja considerar cada vista del sistema de manera individual y realizar, al menos, una dinámica de grupo por cada vista del contexto a definir. #. Ejecutar las actividades definidas anteriormente con objeto de definir cada una de las cuatro vistas propuestas para la definición del contexto: dominio, utilización, tecnología y desarrollo. #. Documentar los resultados obtenidos utilizando para ello la plantilla proporcionada más abajo. #. Generar un glosario de términos relacionados con el contexto del sistema. Para definir la *vista de dominio* del sistema se deberá crear algún tipo de diagrama o modelo que recoja las entidades existentes en el contexto del sistema, así como las relaciones y restricciones existentes entre dichas entidades. Para ello, se aconseja crear un mapa mental, pero representaciones alternativas como un diagrama entidad-relación o una ontología también serían aceptables. La vista de dominio debe recoger, además, las normativas, regulaciones y leyes que puedan tener algún tipo de relación con las entidades identificadas. Finalmente, para completar la vista de dominio, se deberán crear listas dentro/fuera que determinen qué elementos se estima que pertenecerán al sistema, cuáles al contexto, cuáles son simplemente irrelevantes y cuáles están en las fronteras entre sistema y contexto o entre contexto y la irrelevancia. Para definir la *vista de utilización* se deberá, en primer lugar, identificar tantos actores existentes en el contexto del sistema como sea posible. A continuación, se deberá priorizar y ordenar los actores identificados según su relevancia o importancia con respecto al sistema a desarrollar. Dicha lista de actores, ordenada de mayor a menor relevancia, debe incluirse en el documento que defina el contexto del sistema. A continuación, se especificarán sólo los perfiles de los actores de mayor relevancia. Se especificarán tantos perfiles de actores como miembros tenga cada grupo, de manera que exista una especificación del perfil de un actor por alumno. La especificación del perfil de cada actor se realizará de manera individual por un único alumno. Para definir la *vista de tecnología* se deberá identificar la infraestructura tecnológica, si la hubiere, del entorno donde se desplegará el sistema. Dicha infraestructura deberá describirme por medio del algún diagrama o modelo, como por ejemplo, un diagrama de despliegue o un esquema de topología de red. Dicho diagrama deberá contener todos los detalles del contexto que se consideren relevantes para el sistema y puede complementarse con todo el texto escrito que se considere necesario. Para definir la *vista de desarrollo* se describirá mediante texto simple todas aquellos elementos y cuestiones existente en el contexto del sistema que se considere que puedan tener influencia en las métodos de trabajo, técnicas y herramientas utilizadas para el desarrollo del sistema. Para la elaboración del glosario, cada alumno deberá incluir en el mismo un número de definiciones especificado en los elementos a entregar (más abajo). Para elaborar el contexto del sistema sw se proporciona: #. :download:`La plantilla para la definición del contexto ` #. :download:`La plantilla para la definición del glosario ` #. :download:`Ejemplo de Definición del Contexto de un Sistema Sw ` Elementos a Entregar y Aclaraciones ======================================= Se deberán entregar para su evaluación los siguientes elementos: #. El plan con las actividades a desarrollar para la definición del contexto del sistema. #. Las actas de las dinámicas de grupo realizadas. #. El documento con la definición del contexto del sistema. #. El glosario con la definición de los términos del contexto del sistema, el cual deberá contener al menos la definición de un término por cada alumno del grupo. Estos documentos se entregarán a través de la plataforma Moodle, siguiendo las instrucciones en ella proporcionadas y dentro de las fechas establecidas. La entrega de dichos documentos fuera de dichas fechas o un formato diferente al solicitado supondrá una calificación de cero. Cada documento se evaluará y calificará conforme a los criterios especificados en la siguiente sección. Criterios de Evaluación ========================= Los criterios de evaluación para la planificación de actividades y la elaboración de actas se proporcionan en las secciones que describen estos elementos transversales. La calificación de dichos elementos computará en su correspondiente apartado. La calificación de la fase de definición del contexto del sistema vendrá determinada por la calificación de los siguientes apartados: #. Definición del Contexto del Sistema Sw (9 puntos). #. Glosario de Términos del Contexto del Sistema Sw (1 punto). Cada uno de estos apartados se calificará mediante el procedimiento y los criterios descritos a continuación. Definición del Contexto del Sistema Sw ---------------------------------------- La calificación de la *Definición del Contexto del Sistema Sw* vendrá determinada por la calificación de los siguientes elementos: #. Vista de Dominio – Objetos (2.5 puntos). #. Vista de Dominio – Listas/Dentro Fuera (1 punto). #. Vista de Dominio – Leyes y Normativas (1 punto). #. Vista de Utilización - Identificación de Actores (1 punto). #. Vista de Utilización - Descripción de Actores (1 punto). #. Vista de Tecnología (1 punto). #. Vista de Desarrollo (1 punto). #. Ortografía, Gramática y Maquetación (1 punto). La calificación de cada uno de estos ítems será común a todo el grupo, a excepción del apartado de la *Vista de Utilización - Descripción de Actores*, que será individual para cada alumno. *Ortografía, Gramática y Maquetación* se evaluará conforme a los criterios establecidos para ello en el correspondiente apartado de la sección de elementos transversales. El resto de elementos se evaluará conforme a los criterios descritos a continuación. Vista de Dominio – Objetos ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Para evaluar la identificación de objetos pertenecientes a la vista de dominio del contexto de un sistema, se analizará el grado de cumplimiento de los siguientes elementos: #. El tipo de modelo elegido para representar los elementos del dominio del sistema permita visualizar dichos elementos de forma clara y fácilmente entendible. #. La vista recoge todos aquellos elementos cuya pertenencia al contexto del sistema es obvia. #. Las relaciones entre elementos del sistema que se hayan especificado son correctas. #. El modelo de la vista del dominio es fácilmente legible, está limpio y ordenado. Vista de Dominio – Listas/Dentro Fuera ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Para evaluar la elaboración de listas dentro/fuera, se analizará el grado de cumplimiento de los siguientes elementos: #. Las reglas para excluir elementos del dominio de las lista dentro/fuera son claras. #. Todos los objetos identificados como pertenecientes al dominio del sistema o están considerados dentro de una lista dentro/fuera, o están excluidos de las mismas como consecuencia de la aplicación de alguna regla claramente definida. #. La pertenencia de un objeto al sistema, al contexto o a la parte externa al contexto, así como a cualquiera de las zonas grises, no es claramente rebatible. Vista de Dominio – Leyes y Normativas ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Para evaluar la identificación de leyes y normativas existentes dentro del dominio de un sistema, se verificará que estén recogidas todas las leyes y normativas cuya relación con el contexto del sistema sea obvia. Además, se valorará que se haya aclarado de algún modo la relación o influencia de cada ley o norma con el sistema a desarrollar. Vista de Utilización - Identificación de Actores ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Al igual que en el apartado anterior, para evaluar la identificación de actores existentes en el dominio de un sistema, se verificará que estén recogidos como actores todas aquellas personas y agentes con una clara relación con el contexto del sistema. Además, se valorará que cada persona o agente identificado como actor relacionado con el contexto del sistema realmente lo sea. Por ejemplo, los programadores de un sistema, en su rol de programadores, casi nunca son actores del sistema que programan. Vista de Utilización - Descripción de Actores ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Para evaluar la descripción de los actores, se valorará el grado de satisfacción de los siguientes elementos: #. El nombre de cada actor es significativo con respecto al rol que representa. #. Si dentro de un tipo de rol existiesen varios subroles, y cada subrol puede tener un modo de utilización diferente de nuestro sistema, dicho rol se encuentra dividido en cada uno de sus subroles. #. La identificación de cada actor como primario, secundario o terciario es correcta. #. En el caso de los actores que no sean últimos, se indica claramente quién actuaría como actor último. #. El rango de edad de cada actor no es fácilmente rebatible. #. Los objetivos de cada actor son suficientemente amplios, no existiendo limitaciones al sistema innecesarias. #. Los objetivos de cada actor no contienen funcionalidades simples que representen operaciones concretas, de escasa importancia, que se ejecuten dentro del contexto del sistema. #. Las formas de operación describen el entorno y los elementos utilizados por los actores para ejecutar las operaciones que realizan dentro del contexto, de acuerdo con sus rutinas y modo de vida habituales. #. La descripción de la frecuencia indica con qué frecuencia y en qué días y horas realizaría el actor las operaciones en el contexto, de acuerdo con sus rutinas y modo de vida habituales. #. La descripción de la frecuencia indica cuántos usuarios podrían realizar operaciones de manera concurrente en el contexto del sistema, de acuerdo con sus rutinas y modo de vida actuales, destacando casos medio y peor. #. La descripción de la frecuencia no contiene afirmaciones claramente discutibles o rebatibles. #. La forma de contacto describe un procedimiento concreto para ponerse en contacto con uno o más actores concretos que desempeñen el rol descrito, de manera que si hiciese falta conseguir un actor con el rol descrito en posteriores fases del procesos de Ingeniería de Requisitos, sepamos cómo hacerlo. #. En el caso de grupos de actores amplios, como ejemplos de actor no se pueden utilizar datos de contacto de personas concretas, sino que hay que describir formas de acceder a un conjunto significativo de dicho tipo de actor. Por ejemplo, si el actor es *estudiante de Bellas Artes*, debería proporcionarse algún modo de acceder, por ejemplo, a un curso completo de estudiantes de Bellas Artes. Vista de Tecnología ^^^^^^^^^^^^^^^^^^^^ Para evaluar la vista de tecnología, se verificará que estén correctamente identificados todos aquellos elementos relacionados con cuestiones de infraestructura que se encuentren presentes en el contexto del sistema. Además, se valorará que las relaciones entre elementos identificados sea correcta y que la descripción de cada elemento sea lo suficientemente completa. Vista de Desarrollo ^^^^^^^^^^^^^^^^^^^^ Para evaluar la vista de desarrollo, se verificará que estén correctamente identificados todos aquellos elementos que se encuentren presentes en el contexto del sistema que podrían afectar a los procesos de trabajo a seguir durante el desarrollo del sistema que pretendemos crear. Además, se valorará que las relaciones entre elementos identificados sea correcta y que la descripción de cada elemento sea lo suficientemente completa. Glosario de Términos del Contexto del Sistema Sw -------------------------------------------------- La calificación del *Glosario de Términos del Contexto del Sistema Sw* vendrá determinada por la calificación de los siguientes elementos: #. Definición de Términos (9 puntos). #. Ortografía, Gramática y Maquetación (1 punto). *Ortografía, Gramática y Maquetación* se evaluará conforme a los criterios establecidos para ello en el correspondiente apartado de la sección de elementos transversales. Para calificar la definición de los términos se valorará que las definiciones sean correctas, precisas y concisas. La calificación de este ítem será común al grupo, salvo que el grupo opte por solicitar una evaluación individual.