El documento resume las características principales de un Documento de Requerimientos. Explica que este documento sirve para comunicar los requerimientos de un software de manera precisa y para servir como base para la planificación, desarrollo y validación de un proyecto. También contrasta este documento con los modelos de requerimientos, y resalta algunas técnicas y limitaciones comunes en la documentación de requerimientos.
Este documento describe los conceptos clave relacionados con la estimación de costos de proyectos de software, incluida la definición de proyecto de software, los objetivos de la planificación, los cuatro pasos clave de la gestión de proyectos, los modelos de estimación como COCOMO, y las métricas para medir la productividad y calidad del software.
El documento describe conceptos y herramientas clave para el diseño de sistemas, incluyendo diagramas de estructura, tablas de interfaz, estrategias de diseño como la transformación y transacción, y metodologías como el modelo de Jackson y la metodología de Warnier. Explica cómo los diagramas de estructura representan la organización modular de un sistema y la comunicación entre módulos, y cómo las tablas de interfaz especifican los parámetros de cada módulo.
Este documento presenta información sobre pruebas de sistemas y pruebas de aceptación. Explica que las pruebas de sistemas buscan discrepancias entre el programa y los requerimientos, enfocándose en errores durante la transición al diseño. También describe objetivos, tipos y la implementación de pruebas de sistemas. Luego, explica que las pruebas de aceptación verifican que el producto cumpla los estándares y satisfaga a los usuarios según los requerimientos iniciales. Finalmente, detalla la implementación de ambos
El documento describe la Metodología Microsoft Solution Framework (MSF), una metodología flexible para la gestión de proyectos tecnológicos. MSF se compone de varios modelos para planificar diferentes aspectos de un proyecto, como el modelo de proceso, equipo, arquitectura, gestión de riesgos y diseño. Los proyectos se dividen en cinco fases: visión y alcances, planificación, desarrollo, estabilización e implantación. Se proporciona un ejemplo de cómo aplicar MSF a un proyecto de migración
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
La aplicación móvil permitirá a los profesores crear plantillas de preguntas múltiples con respuestas prediseñadas y reconocerá el código QR de los estudiantes. Los estudiantes podrán escanear las respuestas de las preguntas con la cámara de su teléfono y la aplicación determinará si son correctas o incorrectas, mostrando los resultados. Los profesores podrán administrar los resultados de los estudiantes a través de la aplicación de escritorio. La aplicación se desarrollará para sistemas Android y Windows Phone y
Este documento presenta una propuesta para el diseño e instalación de una red LAN en una universidad. Incluye un mapa físico y lógico de la red, una cotización de los accesorios de hardware y software requeridos, y un cronograma y presupuesto para el proyecto. La red conectará 8 puestos de trabajo, un servidor y tendrá acceso a Internet a través de un router.
Una metodología de Desarrollo es como una receta de cocina, hay se visualizan los requerimientos, las herramientas y técnicas a utilizar para crear el platillo (software). De su buen eso depende el éxito del proyecto.
Este documento describe los conceptos clave relacionados con la estimación de costos de proyectos de software, incluida la definición de proyecto de software, los objetivos de la planificación, los cuatro pasos clave de la gestión de proyectos, los modelos de estimación como COCOMO, y las métricas para medir la productividad y calidad del software.
El documento describe conceptos y herramientas clave para el diseño de sistemas, incluyendo diagramas de estructura, tablas de interfaz, estrategias de diseño como la transformación y transacción, y metodologías como el modelo de Jackson y la metodología de Warnier. Explica cómo los diagramas de estructura representan la organización modular de un sistema y la comunicación entre módulos, y cómo las tablas de interfaz especifican los parámetros de cada módulo.
Este documento presenta información sobre pruebas de sistemas y pruebas de aceptación. Explica que las pruebas de sistemas buscan discrepancias entre el programa y los requerimientos, enfocándose en errores durante la transición al diseño. También describe objetivos, tipos y la implementación de pruebas de sistemas. Luego, explica que las pruebas de aceptación verifican que el producto cumpla los estándares y satisfaga a los usuarios según los requerimientos iniciales. Finalmente, detalla la implementación de ambos
El documento describe la Metodología Microsoft Solution Framework (MSF), una metodología flexible para la gestión de proyectos tecnológicos. MSF se compone de varios modelos para planificar diferentes aspectos de un proyecto, como el modelo de proceso, equipo, arquitectura, gestión de riesgos y diseño. Los proyectos se dividen en cinco fases: visión y alcances, planificación, desarrollo, estabilización e implantación. Se proporciona un ejemplo de cómo aplicar MSF a un proyecto de migración
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
La aplicación móvil permitirá a los profesores crear plantillas de preguntas múltiples con respuestas prediseñadas y reconocerá el código QR de los estudiantes. Los estudiantes podrán escanear las respuestas de las preguntas con la cámara de su teléfono y la aplicación determinará si son correctas o incorrectas, mostrando los resultados. Los profesores podrán administrar los resultados de los estudiantes a través de la aplicación de escritorio. La aplicación se desarrollará para sistemas Android y Windows Phone y
Este documento presenta una propuesta para el diseño e instalación de una red LAN en una universidad. Incluye un mapa físico y lógico de la red, una cotización de los accesorios de hardware y software requeridos, y un cronograma y presupuesto para el proyecto. La red conectará 8 puestos de trabajo, un servidor y tendrá acceso a Internet a través de un router.
Una metodología de Desarrollo es como una receta de cocina, hay se visualizan los requerimientos, las herramientas y técnicas a utilizar para crear el platillo (software). De su buen eso depende el éxito del proyecto.
Este documento presenta un resumen de 3 oraciones o menos del prototipo de un sistema de información para el proceso de matrícula e inscripción de asignaturas del Programa de Modalidad Especial de la Facultad de Ciencias y Sistemas de la Universidad Nacional de Ingeniería. El documento describe la problemática actual de los procesos manuales, los objetivos de desarrollar un prototipo de sistema para automatizar los procesos, y el marco teórico sobre los modelos de desarrollo de software utilizados.
COCOMO II es un modelo que permite estimar el costo, esfuerzo y tiempo de proyectos de desarrollo de software en función del tamaño del proyecto y factores técnicos, ambientales y de escala. Posee tres modelos para estimaciones iniciales, de diseño y post-arquitectura adaptados a distintas etapas del ciclo de vida del software.
Este documento presenta una propuesta de desarrollo de software para la empresa "nombre de la empresa". Describe el propósito, alcance y objetivos del proyecto, así como la organización del equipo de desarrollo. Incluye estimaciones de costos, el plan de proyecto con fases e hitos, y define los módulos funcionales del sistema de información como ventas, almacén, servicios y reportes. El objetivo general es automatizar los procesos de la empresa para facilitar el flujo de información requerido.
Este documento describe y compara varias metodologías orientadas a objetos como OMT, Booch, RUP, OOram y Fusión. Explica los conceptos clave de cada metodología como los modelos de objetos, dinámico y funcional en OMT, los diagramas de clases, objetos y otros en Booch, el énfasis en casos de uso y arquitectura en RUP, el uso de modelos de roles en OOram y las fases de análisis, diseño e implementación en Fusión. También destaca elementos comunes como el énf
Este documento presenta un modelo de contrato marco para el desarrollo ágil de software mediante iteraciones incrementales. El contrato establece que el desarrollo se realizará en ciclos sucesivos, con entregas parciales al final de cada uno. También especifica que cada iteración se definirá en un contrato anexo con los requisitos, plazos y precios de esa fase. Además, regula aspectos como la validación de las entregas parciales, la propiedad intelectual del software, la garantía y las causas de resol
Este documento describe el proceso de diseño de interfaces de usuario. Explica que consiste en crear una comunicación efectiva entre el usuario y la computadora siguiendo principios como dar control al usuario, reducir la carga de memoria y lograr consistencia. También describe los pasos del proceso como analizar al usuario, la tarea y el entorno, diseñar la interfaz, implementarla y validarla para asegurar que cumple con los requisitos.
Integridad Y Seguridad En Las Bases De DatosDrakonis11
La seguridad de los datos en una base de datos implica tres aspectos principales: 1) autenticación de usuarios a través de códigos de acceso, contraseñas u otros mecanismos; 2) autorización de acceso a datos según el perfil de cada usuario; y 3) uso de técnicas como cifrado para proteger los datos, especialmente en entornos distribuidos o de acceso remoto.
El documento describe los requerimientos para un sistema de torneos de fútbol. El sistema permitirá 1) registrar equipos y jugadores, 2) planificar partidos de forma aleatoria o manual, y 3) generar tablas de posición automáticamente. Además, el sistema 4) identificará al mejor goleador y 5) publicará información del torneo en la web. El sistema tendrá una interfaz intuitiva y solo el organizador podrá realizar actualizaciones.
El documento describe las redes inalámbricas, incluyendo el ancho de banda, ondas electromagnéticas y tipos de redes como WLAN, WWAN y WPAN. Explica conceptos como el espectro electromagnético, tipos de tecnologías inalámbricas como 802.11b/g/n, y topologías como ad-hoc e infraestructura. También cubre seguridad inalámbrica y el modelo OSI en relación con redes inalámbricas.
Este documento describe una arquitectura basada en el patrón de tuberías y filtros. Los filtros se conectan entre sí mediante tuberías que transmiten datos de un filtro al siguiente de forma independiente. Cada paso del proceso se encapsula en un filtro y los datos fluyen a través de las tuberías entre filtros adyacentes.
Este documento presenta una especificación de requisitos para un sistema de información web para gestionar procesos administrativos y académicos en un centro de formación. Se describen los requisitos funcionales y no funcionales, incluyendo la autenticación y registro de usuarios, consultar información sobre cursos e inventario, y gestionar un aula virtual. El sistema se desarrollará siguiendo estándares como IEEE 830 para especificaciones de requisitos de software.
Fase de implementación de sistemas de informaciónNAHAMA19
El documento describe la fase de implementación de sistemas de información, la cual es la más costosa y que consume más tiempo. Explica que durante esta fase se instala y prueba el nuevo sistema, y se capacita a los usuarios para que puedan utilizarlo. Además, detalla cuatro métodos de implementación (directo, paralelo, piloto y en fases), señalando que los métodos piloto y en fases suelen ser los más comunes debido a que tienen menor riesgo. Finalmente, resalta la importancia de realizar pruebas de sistemas
El documento describe la evolución de los sistemas distribuidos y sus características clave, como la distribución física de recursos en máquinas interconectadas y la facilitación del acceso a recursos remotos de manera transparente al usuario. También discute conceptos como la concurrencia, la escalabilidad, la tolerancia a fallos y la transparencia.
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
Este documento presenta los requisitos para el desarrollo de un sistema de compra y venta para una ferretería. El sistema permitirá llevar un control de inventario, realizar ventas, generar reportes y mantener actualizada la información de productos. Se describen los objetivos, actores, módulos funcionales requeridos y especificaciones no funcionales como tiempos de respuesta y compatibilidad con sistemas operativos. El proceso de desarrollo seguirá la metodología RUP enfocada en la calidad y adaptación a las necesidades
Estos documentos proporcionan información sobre diferentes aplicaciones de software, incluyendo procesadores de texto, hojas de cálculo, presentaciones, editores de video, mensajería instantánea y más. Se describen las funciones, desarrolladores, tamaños, versiones y enlaces de descarga de cada aplicación.
Este documento introduce los conceptos básicos sobre el desarrollo de aplicaciones para dispositivos móviles. Explica que un dispositivo móvil es un hardware portátil con características similares a una computadora de escritorio. Describe algunos tipos comunes de dispositivos móviles como celulares, PDAs y tabletas, y sus usos. También cubre sistemas operativos móviles, métodos de desarrollo, y lenguajes de programación populares como Java, C++ y Python.
El documento describe el desarrollo de un sistema de ventas por un grupo de estudiantes de la Universidad Nacional de Trujillo. Explica las etapas del desarrollo de software, incluyendo la especificación de requisitos, diseño, implementación, integración, validación y mantenimiento. También describe las funciones del sistema de ventas como registrar clientes, productos, ventas y facturas, y generar informes de ventas. El resumen concluye que el sistema cumple con los objetivos de proporcionar un control efectivo de las ventas dentro de una empresa
Este documento presenta el diseño de un sistema de información automatizado para el control del registro académico en el Centro Escolar Autónomo Naciones Unidas. Actualmente el registro académico se realiza de forma manual, lo que causa errores e ineficiencias. El sistema propuesto utilizará metodología de desarrollo orientada a objetos y permitirá automatizar procesos como matrícula, registro de notas, expedientes y reportes. Se analizaron los requerimientos técnicos y factibilidad del proyecto, concluyendo que el sistema mejor
El documento resume la historia de la arquitectura de software desde sus orígenes en la década de 1960 hasta la actualidad. Algunos hitos importantes incluyen la propuesta de Edsger Dijkstra en 1968 de establecer una estructura correcta antes de codificar, el ensayo de David Parnas en 1972 sobre modularidad y ocultamiento de información, y las definiciones de Fred Brooks Jr. y Ken Iverson de "arquitectura" en la década de 1970. La arquitectura de software comenzó a aparecer como disciplina en la literatura a fines
Este documento describe cómo documentar los requisitos y requerimientos de un sistema. Explica que se debe definir la visión general del sistema, su propósito, objetivos, involucrados y restricciones. También habla sobre definir el alcance del proyecto y producto, y documentar los requisitos utilizando plantillas como Volere que incluyen campos como descripción, justificación, criterios de aceptación y prioridad. Finalmente, discute formas de gestionar los cambios en los requisitos a lo largo del proyecto.
El documento habla sobre la importancia del análisis de requerimientos en el desarrollo de software. Explica que los requerimientos definen qué funcionalidades debe tener el sistema, mientras que el diseño define cómo se implementarán. También clasifica los requerimientos y describe los documentos de requerimientos y sus características. Resalta que entender claramente los requerimientos desde el inicio es clave para el éxito de un proyecto de software.
Este documento presenta un resumen de 3 oraciones o menos del prototipo de un sistema de información para el proceso de matrícula e inscripción de asignaturas del Programa de Modalidad Especial de la Facultad de Ciencias y Sistemas de la Universidad Nacional de Ingeniería. El documento describe la problemática actual de los procesos manuales, los objetivos de desarrollar un prototipo de sistema para automatizar los procesos, y el marco teórico sobre los modelos de desarrollo de software utilizados.
COCOMO II es un modelo que permite estimar el costo, esfuerzo y tiempo de proyectos de desarrollo de software en función del tamaño del proyecto y factores técnicos, ambientales y de escala. Posee tres modelos para estimaciones iniciales, de diseño y post-arquitectura adaptados a distintas etapas del ciclo de vida del software.
Este documento presenta una propuesta de desarrollo de software para la empresa "nombre de la empresa". Describe el propósito, alcance y objetivos del proyecto, así como la organización del equipo de desarrollo. Incluye estimaciones de costos, el plan de proyecto con fases e hitos, y define los módulos funcionales del sistema de información como ventas, almacén, servicios y reportes. El objetivo general es automatizar los procesos de la empresa para facilitar el flujo de información requerido.
Este documento describe y compara varias metodologías orientadas a objetos como OMT, Booch, RUP, OOram y Fusión. Explica los conceptos clave de cada metodología como los modelos de objetos, dinámico y funcional en OMT, los diagramas de clases, objetos y otros en Booch, el énfasis en casos de uso y arquitectura en RUP, el uso de modelos de roles en OOram y las fases de análisis, diseño e implementación en Fusión. También destaca elementos comunes como el énf
Este documento presenta un modelo de contrato marco para el desarrollo ágil de software mediante iteraciones incrementales. El contrato establece que el desarrollo se realizará en ciclos sucesivos, con entregas parciales al final de cada uno. También especifica que cada iteración se definirá en un contrato anexo con los requisitos, plazos y precios de esa fase. Además, regula aspectos como la validación de las entregas parciales, la propiedad intelectual del software, la garantía y las causas de resol
Este documento describe el proceso de diseño de interfaces de usuario. Explica que consiste en crear una comunicación efectiva entre el usuario y la computadora siguiendo principios como dar control al usuario, reducir la carga de memoria y lograr consistencia. También describe los pasos del proceso como analizar al usuario, la tarea y el entorno, diseñar la interfaz, implementarla y validarla para asegurar que cumple con los requisitos.
Integridad Y Seguridad En Las Bases De DatosDrakonis11
La seguridad de los datos en una base de datos implica tres aspectos principales: 1) autenticación de usuarios a través de códigos de acceso, contraseñas u otros mecanismos; 2) autorización de acceso a datos según el perfil de cada usuario; y 3) uso de técnicas como cifrado para proteger los datos, especialmente en entornos distribuidos o de acceso remoto.
El documento describe los requerimientos para un sistema de torneos de fútbol. El sistema permitirá 1) registrar equipos y jugadores, 2) planificar partidos de forma aleatoria o manual, y 3) generar tablas de posición automáticamente. Además, el sistema 4) identificará al mejor goleador y 5) publicará información del torneo en la web. El sistema tendrá una interfaz intuitiva y solo el organizador podrá realizar actualizaciones.
El documento describe las redes inalámbricas, incluyendo el ancho de banda, ondas electromagnéticas y tipos de redes como WLAN, WWAN y WPAN. Explica conceptos como el espectro electromagnético, tipos de tecnologías inalámbricas como 802.11b/g/n, y topologías como ad-hoc e infraestructura. También cubre seguridad inalámbrica y el modelo OSI en relación con redes inalámbricas.
Este documento describe una arquitectura basada en el patrón de tuberías y filtros. Los filtros se conectan entre sí mediante tuberías que transmiten datos de un filtro al siguiente de forma independiente. Cada paso del proceso se encapsula en un filtro y los datos fluyen a través de las tuberías entre filtros adyacentes.
Este documento presenta una especificación de requisitos para un sistema de información web para gestionar procesos administrativos y académicos en un centro de formación. Se describen los requisitos funcionales y no funcionales, incluyendo la autenticación y registro de usuarios, consultar información sobre cursos e inventario, y gestionar un aula virtual. El sistema se desarrollará siguiendo estándares como IEEE 830 para especificaciones de requisitos de software.
Fase de implementación de sistemas de informaciónNAHAMA19
El documento describe la fase de implementación de sistemas de información, la cual es la más costosa y que consume más tiempo. Explica que durante esta fase se instala y prueba el nuevo sistema, y se capacita a los usuarios para que puedan utilizarlo. Además, detalla cuatro métodos de implementación (directo, paralelo, piloto y en fases), señalando que los métodos piloto y en fases suelen ser los más comunes debido a que tienen menor riesgo. Finalmente, resalta la importancia de realizar pruebas de sistemas
El documento describe la evolución de los sistemas distribuidos y sus características clave, como la distribución física de recursos en máquinas interconectadas y la facilitación del acceso a recursos remotos de manera transparente al usuario. También discute conceptos como la concurrencia, la escalabilidad, la tolerancia a fallos y la transparencia.
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
Este documento presenta los requisitos para el desarrollo de un sistema de compra y venta para una ferretería. El sistema permitirá llevar un control de inventario, realizar ventas, generar reportes y mantener actualizada la información de productos. Se describen los objetivos, actores, módulos funcionales requeridos y especificaciones no funcionales como tiempos de respuesta y compatibilidad con sistemas operativos. El proceso de desarrollo seguirá la metodología RUP enfocada en la calidad y adaptación a las necesidades
Estos documentos proporcionan información sobre diferentes aplicaciones de software, incluyendo procesadores de texto, hojas de cálculo, presentaciones, editores de video, mensajería instantánea y más. Se describen las funciones, desarrolladores, tamaños, versiones y enlaces de descarga de cada aplicación.
Este documento introduce los conceptos básicos sobre el desarrollo de aplicaciones para dispositivos móviles. Explica que un dispositivo móvil es un hardware portátil con características similares a una computadora de escritorio. Describe algunos tipos comunes de dispositivos móviles como celulares, PDAs y tabletas, y sus usos. También cubre sistemas operativos móviles, métodos de desarrollo, y lenguajes de programación populares como Java, C++ y Python.
El documento describe el desarrollo de un sistema de ventas por un grupo de estudiantes de la Universidad Nacional de Trujillo. Explica las etapas del desarrollo de software, incluyendo la especificación de requisitos, diseño, implementación, integración, validación y mantenimiento. También describe las funciones del sistema de ventas como registrar clientes, productos, ventas y facturas, y generar informes de ventas. El resumen concluye que el sistema cumple con los objetivos de proporcionar un control efectivo de las ventas dentro de una empresa
Este documento presenta el diseño de un sistema de información automatizado para el control del registro académico en el Centro Escolar Autónomo Naciones Unidas. Actualmente el registro académico se realiza de forma manual, lo que causa errores e ineficiencias. El sistema propuesto utilizará metodología de desarrollo orientada a objetos y permitirá automatizar procesos como matrícula, registro de notas, expedientes y reportes. Se analizaron los requerimientos técnicos y factibilidad del proyecto, concluyendo que el sistema mejor
El documento resume la historia de la arquitectura de software desde sus orígenes en la década de 1960 hasta la actualidad. Algunos hitos importantes incluyen la propuesta de Edsger Dijkstra en 1968 de establecer una estructura correcta antes de codificar, el ensayo de David Parnas en 1972 sobre modularidad y ocultamiento de información, y las definiciones de Fred Brooks Jr. y Ken Iverson de "arquitectura" en la década de 1970. La arquitectura de software comenzó a aparecer como disciplina en la literatura a fines
Este documento describe cómo documentar los requisitos y requerimientos de un sistema. Explica que se debe definir la visión general del sistema, su propósito, objetivos, involucrados y restricciones. También habla sobre definir el alcance del proyecto y producto, y documentar los requisitos utilizando plantillas como Volere que incluyen campos como descripción, justificación, criterios de aceptación y prioridad. Finalmente, discute formas de gestionar los cambios en los requisitos a lo largo del proyecto.
El documento habla sobre la importancia del análisis de requerimientos en el desarrollo de software. Explica que los requerimientos definen qué funcionalidades debe tener el sistema, mientras que el diseño define cómo se implementarán. También clasifica los requerimientos y describe los documentos de requerimientos y sus características. Resalta que entender claramente los requerimientos desde el inicio es clave para el éxito de un proyecto de software.
Resumen del capitulo 2 del libro Guide to the Software Engineering Body of Knowledge o llamado tambien como SWEBOK, el resumen es sobre los Requerimientos del Software
Un documento de requerimientos declara lo que los desarrolladores deben implementar en un sistema de software. Debe incluir requerimientos funcionales y no funcionales para los usuarios y especificaciones técnicas. Un documento de requerimientos organiza los requerimientos para que puedan ser usados por clientes y desarrolladores, y determina lo que el sistema debe hacer y sus restricciones. Los elementos clave de un documento de requerimientos incluyen introducción, descripción general y requerimientos específicos.
El documento explica los diferentes tipos de requerimientos para el desarrollo de software, incluyendo requerimientos de usuario, de sistema, funcionales y no funcionales. También describe los beneficios de una buena administración de requerimientos y los posibles problemas. Finalmente, resume la estructura recomendada para un documento de requerimientos de software.
La validación de requisitos consiste en detectar y corregir cualquier requisito innecesario o incorrecto para evitar una mala implementación. Involucra seleccionar técnicas de validación apropiadas, asegurar la participación adecuada de los usuarios para revisar la documentación, y validar un subconjunto de requisitos al inicio del desarrollo.
Las máquinas herramientas de control numérico (MHCN) tienen ejes principales de movimiento como X, Y y Z. Estos ejes, junto con sistemas de transmisión que convierten el movimiento rotativo en traslacional, permiten que las partes móviles de la máquina se desplacen y realicen mecanizado complejo. Los sistemas de sujeción como platos, mandriles y pinzas aseguran que las piezas se mantengan en posición durante el proceso.
El documento describe los requerimientos funcionales y no funcionales para un sistema de almacén. Entre las funciones funcionales se incluyen el registro de productos, ubicaciones y tipos de productos, así como la entrada y salida de productos. Los requerimientos no funcionales cubren la seguridad, calidad, soporte técnico y requerimientos de hardware y software.
Empresa Citrix-Empresa desarrolladora de softwareVirgCSan
Citrix es una corporación multinacional fundada en 1989 que suministra tecnologías de virtualización, conexión en red y software como servicio. Atiende a unas 230.000 organizaciones en todo el mundo y ofrece productos como XenApp, XenDesktop y NetScaler. Su misión es crear soluciones de espacios de trabajo móviles que proporcionan acceso seguro y coherente a aplicaciones y servicios desde cualquier dispositivo.
El documento presenta el código de ética de Banrural. Establece normas de conducta para empleados, directores y proveedores. Divide el código en secciones sobre valores, deberes, conflictos de interés, confidencialidad, medio ambiente y derechos humanos. Busca fomentar la integridad y profesionalismo entre el personal de Banrural.
Este documento presenta el Código de Ética y Conducta del Banco de Desarrollo Rural de Guatemala (BANRURAL). El código establece las reglas y valores que rigen las interacciones entre los empleados de BANRURAL y con los clientes. El código cubre temas como el cumplimiento de las leyes, el respeto a los derechos humanos, las operaciones ilegales, las relaciones laborales, la presentación personal, las actividades políticas y religiosas, y la protección del medio ambiente.
El documento describe el estándar IEEE 830 para la especificación de requisitos de software (SRS). El estándar proporciona una plantilla para documentar los requisitos funcionales y no funcionales de un sistema de software, incluyendo la introducción, descripción general, requisitos específicos y apéndices. El propósito del SRS es definir claramente las necesidades del cliente y las especificaciones del software antes del desarrollo.
El documento describe los requisitos funcionales y no funcionales para una base de datos que se utilizará en una pequeña empresa de ventas. Incluye tres requisitos de interfaz, dos requisitos funcionales y seis requisitos no funcionales relacionados con el rendimiento, la seguridad, la fiabilidad, la disponibilidad, la mantenibilidad y la portabilidad. La base de datos tendrá una interfaz sencilla para el usuario, se conectará a MySQL y no tendrá comunicación con otros sistemas. Generará reportes diarios en PDF y tend
Este documento analiza los requerimientos y define qué son. Explica que un requerimiento es una capacidad necesaria del software identificada por el usuario para resolver un problema o alcanzar un objetivo. También define los requerimientos como las capacidades que debe poseer un sistema o componente para cumplir con una especificación formal. Finalmente, describe que los requerimientos representan los resultados esperados del sistema y todo lo que este debe hacer junto con sus restricciones funcionales.
El documento describe el proceso de análisis de requisitos, el cual tiene como objetivos obtener requisitos de calidad y detalle, permitir que los gerentes realicen estimaciones de proyecto realistas, y que el personal técnico pueda proceder con el diseño. El análisis produce modelos de requisitos que representan las necesidades de los usuarios y permite priorizar dichos requisitos. El ciclo de análisis involucra la modelación del negocio, definición del alcance, creación de modelos detallados de requisitos de
El documento presenta los requerimientos para un sistema que permita simular, administrar y analizar situaciones relacionadas al control de bodega, planilla y producción para una cooperativa. El sistema permitirá el registro y análisis de datos requeridos y contará con funcionalidades como control de inventario, pagos, reportes y facturación. El sistema usará una interfaz amigable para el usuario y contará con medidas de seguridad y usabilidad.
Este documento habla sobre la ingeniería de requisitos y el análisis de requerimientos para el desarrollo de software. Explica la diferencia entre requisitos e requerimientos, y define la ingeniería de requisitos como el proceso de determinar las necesidades y condiciones para un proyecto de software. Describe los tipos de requisitos, las fases de la ingeniería de requisitos, y los elementos clave de un documento de requisitos como la introducción, descripción general y requisitos específicos.
La ingeniería de requisitos comprende todas las tareas relacionadas con determinar las necesidades y condiciones para un software nuevo o modificado. El propósito es documentar requisitos funcionales y no funcionales para alcanzar un estado óptimo antes del diseño. Esto implica identificar, analizar, documentar y validar requisitos a través de actividades como la elicitación de usuarios, el análisis de requisitos y la especificación.
El documento describe diferentes roles profesionales relacionados con la tecnología de la información. Entre ellos se encuentran el gerente de proyectos, ingeniero de software, gerente de tecnología, especialista en seguridad informática, analista de procesos, arquitecto de datos y especialista en gobierno de TI. Para cada rol se brindan detalles sobre sus responsabilidades y habilidades clave.
Este documento presenta una introducción a la ingeniería de requisitos. Define qué son los requisitos y los diferentes tipos de requisitos. Explica que la ingeniería de requisitos comprende todas las tareas relacionadas con identificar las condiciones que debe cumplir un software. Detalla las actividades clave de la ingeniería de requisitos como definir requisitos, gestionar cambios y mantener la trazabilidad. Finalmente, destaca la importancia de la ingeniería de requisitos para mejorar la calidad, comunicación y predecibilidad de los pro
en este trabajo se agrupan conceptos de la ingeniería de requerimientos la cual comprende todas las tareas relacionadas
Con las condiciones a satisfacer para un software nuevo o modificado tomado en cuenta lo diferentes requisitos de las partes relacionadas, si propósito es hacer que los requisitos o requerimientos alcancen un estado óptimo antes de alcanzar la fase de diseño en el proyecto.
Taller en clases requisitos inge jerez, evan, catalina,lesly esleiderSergio Ramos
Este documento presenta una introducción a la ingeniería de requerimientos. Define qué son los requerimientos y explica los diferentes tipos de requerimientos como los requerimientos de usuario, de sistema, funcionales, no funcionales y de dominio. También describe las principales actividades de la ingeniería de requerimientos como la definición, gestión y validación de requerimientos. Finalmente, destaca la importancia de la ingeniería de requerimientos para mejorar la calidad del software y la comunicación entre equipos.
El documento trata sobre la ingeniería de requisitos en el desarrollo de software. La ingeniería de requisitos identifica el propósito y contexto de uso de un sistema de software y actúa como puente entre las necesidades de los clientes y el sistema. Identificar los requisitos correctamente es crucial ya que cuanto más tarde se detectan los errores, más cuesta corregirlos.
Este documento trata sobre ingeniería de requisitos. Explica que la ingeniería de requisitos es una disciplina importante en el desarrollo de software que se encarga de identificar el propósito de un sistema de software y el contexto en el que será usado. También describe algunas de las actividades clave de la ingeniería de requisitos como la elicitación, el modelado, el análisis, la gestión y la evolución de los requisitos a través del tiempo. Finalmente, enfatiza la importancia de involucrar a las partes interesadas y realizar
Este documento trata sobre ingeniería de requisitos. Explica que la ingeniería de requisitos es una disciplina importante en el desarrollo de software que se encarga de identificar el propósito de un sistema de software y el contexto en el que será usado. También describe que los requisitos son fundamentales para el éxito de un proyecto de software ya que sirven como base para el diseño y desarrollo del sistema. Finalmente, resalta que los errores en los requisitos son comunes y costosos de corregir, por lo que es crucial realizar un pro
Este documento trata sobre ingeniería de requisitos. Explica que la ingeniería de requisitos es una disciplina importante en el desarrollo de software que se encarga de identificar el propósito de un sistema de software y el contexto en el que será usado. También describe que los requisitos son fundamentales para el éxito de un proyecto de software ya que sirven como base para el diseño y ayudan a minimizar errores. Finalmente, resalta la importancia de documentar claramente los requisitos funcionales y no funcionales en un documento de requisitos
Este documento trata sobre ingeniería de requisitos. Explica que la ingeniería de requisitos es una disciplina importante en el desarrollo de software que se encarga de identificar el propósito de un sistema de software y el contexto en el que será usado. También describe algunas de las actividades clave de la ingeniería de requisitos como la elicitación, el modelado, el análisis, la gestión y la evolución de los requisitos a través del tiempo. Finalmente, enfatiza la importancia de involucrar a las partes interesadas y realizar
Este documento trata sobre ingeniería de requisitos. Explica que la ingeniería de requisitos es una disciplina importante en el desarrollo de software ya que los errores en los requisitos son una de las principales causas de fallas de software. También define conceptos clave como requisitos funcionales, no funcionales, stakeholders y el proceso de ingeniería de requisitos que incluye actividades como elicitación, modelado, análisis y gestión de requisitos.
Este documento presenta información sobre ingeniería de requisitos y su importancia. Explica conceptos como requisitos funcionales y no funcionales, y las actividades clave de la ingeniería de requisitos como extracción, análisis, especificación y validación. También describe las personas involucradas en el proceso, como usuarios finales, líderes de usuario, analistas y programadores. Finalmente, discute herramientas para la gestión de requisitos como Requisitos Racionales, DOORS y Calibren, y sus características principales.
El documento discute la importancia de la especificación y administración de requerimientos en proyectos de software. Indica que la mayoría de proyectos fallan o exceden el presupuesto debido a problemas con los requerimientos. Una buena especificación de requerimientos mejora la calidad del software y reduce costos. Errores en los requerimientos son muy costosos de corregir.
Este documento describe los conceptos clave de la ingeniería de requerimientos. Explica que entender los requerimientos de un proyecto es una de las tareas más difíciles para los ingenieros de software. Detalla los pasos del proceso de ingeniería de requerimientos, incluyendo la indagación, elaboración, negociación y especificación de requerimientos. También destaca la importancia de identificar a los participantes y considerar múltiples puntos de vista para desarrollar requerimientos completos y consistentes.
Este documento presenta información sobre requerimientos y la ingeniería de requerimientos. Define qué son los requerimientos y menciona los tipos principales de requerimientos. También describe las actividades clave de la ingeniería de requerimientos como la extracción, análisis, especificación y validación de requerimientos. Finalmente, destaca la importancia de la ingeniería de requerimientos para mejorar la calidad del software y la comunicación entre los equipos de desarrollo.
Este documento presenta un curso sobre análisis de requerimientos para sistemas de software. Explica conceptos clave como requerimientos, análisis de requerimientos y tipos de requerimientos. Contiene 7 capítulos que cubren temas como procesos de ingeniería de requerimientos, especificación y validación de requerimientos, relación con modelos de ciclo de vida, herramientas de modelado y métodos de comunicación. Incluye 4 apéndices con ejemplos de especificaciones de requerimientos para
Este documento describe los conceptos clave de la ingeniería de requerimientos, incluida la indagación, elaboración, negociación y especificación de requerimientos. Explica que entender los requerimientos de un cliente es difícil debido a problemas de alcance, entendimiento y volatilidad. También destaca la importancia de identificar a los múltiples participantes de un proyecto y recopilar requerimientos desde sus diversos puntos de vista.
Analisis de requerimientos, Ingenieria de SoftwareMarvin Romero
El documento analiza los requerimientos para proyectos de software. Explica que más del 30% de los proyectos de software son cancelados y más del 70% fallan en entregar las características esperadas. Además, un proyecto promedio excede el presupuesto en un 189% y los plazos en un 222%. Luego, identifica factores clave para el éxito como involucrar usuarios, definir claramente los requerimientos y tener expectativas realistas. Finalmente, enfatiza la importancia de una buena administración de requerimientos para
Este documento introduce el concepto de ingeniería de requisitos y explica que se refiere al proceso de descubrir, analizar, documentar y verificar las descripciones de lo que el sistema debe hacer. Luego define los requisitos, tipos de requisitos (funcionales y no funcionales), y describe algunas técnicas comunes para elicitación y documentación de requisitos como entrevistas, cuestionarios y prototipos. Finalmente, resalta la importancia de documentar los requisitos acordados con el cliente de manera precisa.
La ingeniería de requerimientos es importante para entender claramente lo que necesita el cliente antes de desarrollar el software. Incluye tareas como concepción, indagación, elaboración, negociación, especificación, validación y administración de requerimientos. El objetivo es identificar las necesidades del cliente, analizar la factibilidad y especificar la solución de manera no ambigua a través de la colaboración entre ingenieros, clientes y usuarios.
Este documento presenta una introducción a la ingeniería de requisitos para el desarrollo de software. Explica que los requisitos son objetivos que muestran la funcionalidad necesaria para el cliente y define diferentes tipos de requisitos como funcionales, no funcionales y de dominio. También describe el proceso de ingeniería de requisitos e identifica a las personas involucradas. Finalmente, discute herramientas comunes para la gestión de requisitos.
Similar a 3. dercas -_el_documento_de_requerimientos (20)
1. El Documento de Requerimientos
¿De qué trata el Documento de Requerimientos?
¿Para qué sirve?
¿Qué diferencia tiene este documento con un modelo?
¿Qué técnicas de documentación pueden usarse?
¿Cuáles son sus limitaciones?
Unidad 3
LaFHIS - Uchitel 2
elicitación
y modelado
especificación
stakeholders
documentos
sistemas
existentes
análisis
y validación
Modelos de Requerimientos
Documento de
Requerimientos
negociación y
priorización
Documento de Requerimientos
En la práctica es común describir los requerimientos en un documento
llamado Especificación de Requerimientos del Software (SRS -
Software Requirements Specification)
2. LaFHIS - Uchitel 3
¿Para qué sirve un SRS?
• Comunicar de manera precisa los requerimientos, objetivos y
presunciones del dominio
• Contrato
– legal, documento interno o a modo de memorando
• Base para estimación (tamaño, costo, tiempo) y planificación de
proyecto
• Base para evaluación de producto final
– verificación y validación
– Debería tener suficiente información para decidir si el producto final es aceptable
(satisface los requerimientos)
• Base para el control de cambios
– Requerimientos cambian, software evoluciona, el entorno evoluciona
LaFHIS - Uchitel 4
Lectores de un SRS
• Clientes y Usuarios
– Interesados en validar objetivos del sistema y descripción de alto nivel de la
funcionalidad
– Generalmente no interesados en los requerimientos detallados del sistema.
• Analistas (de sistemas, de requerimientos),
– Escribirán especificaciones de otros sistemas que interactúan con este.
– El SRS sirve mas allá de la puesta en producción!
• Desarrolladores (ej. arquitectos, diseñadores,
programadores, ...)
– Deben implementar los requerimientos
• Testers (V&V’ers)
– Deben determinar la satisfacción de los requerimientos
• Gerentes
– Medir y controlar el proceso desarrollo
3. LaFHIS - Uchitel 5
Más lectores de un SRS
• Equipo de Operaciones
– Deberán dimensionar equipos y procedimientos de rutina.
• Equipo de soporte de usuario
– Desarrollo de plan de capacitación
– Generación de manuales de usuario
– Procedimientos de soporte online
• Legales
– Los que firman los contratos
• Subcontratistas
• Entes reguladores
• ...
¿Cómo se escribe un documento que le
sirva a una audiencia tan variada?
LaFHIS - Uchitel 6
¿Qué es un SRS apropiado?
• Consideremos dos proyectos:
A) Proyecto chico, 1 programador, 6 meses de trabajo
programador habla con el cliente y escribe un memo de 5 hojas
B) Proyecto grande, 50 programadores, 2 años de trabajo
Un equipo de analistas modelan los requerimientos y luego los
documentan en un SRS de 500 paginas
4. LaFHIS - Uchitel 7
Adaptado de IEEE-STD-830
Contenido de un SRS
• Un SRS deberá abarcar:
– Funcionalidad. Que es lo que el software hace?
– Interfases externas. Como debe interactuar con gente, con el
hardware del sistema, con demás hardware y con demás
software?
– Atributos de Calidad.
• Disponibilidad, tiempo de respuesta, tiempo de recuperación
después de fallas, etc..
• Consideraciones de portabilidad, correctitud, precisión,
mantenibilidad, seguridad y mas...
– Restricciones de diseño. Existen estándares a cumplir,
lenguaje de programación, recursos, sistemas operativos,
etc...?
LaFHIS - Uchitel 8
1 Introduction
Purpose
Scope
Definitions, acronyms,
abbreviations
Reference documents
Overview
2 Overall Description
Product perspective
Product functions
User characteristics
Constraints
Assumptions and Dependencies
3 Specific Requirements
Appendices
Index
Standard de IEEE para un SRS
1 Introduction
Purpose
Scope
Definitions, acronyms,
abbreviations
Reference documents
Overview
2 Overall Description
Product perspective
Product functions
User characteristics
Constraints
Assumptions and Dependencies
3 Specific Requirements
Appendices
Index
Identifica el producto y
el dominio de la aplicación
Define el contenido y estructura
del resto del documento
Describe todas las interfaces externas:
sistema, usuario, hardware, software
Resumen de funciones
principales
Cualquier cosa que limitará las
opciones del desarrollador (ej.
regulaciones, limitaciones de
hardware, etc)
La parte principal del documento. IEEE
STD provee 8 esqueletos diferentes
para esta sección
Adaptado de IEEE-STD-830
5. LaFHIS - Uchitel 9
IEEE STD Sección 3 (ejemplo)
3.1 External Interface
Requirements
3.1.1 User Interfaces
3.1.2 Hardware Interfaces
3.1.3 Software Interfaces
3.1.4 Communication Interfaces
3.2 Functional Requirements
this section organized by mode, user
class, feature, etc. For example:
3.2.1 User Class 1
3.2.1.1 Functional Requirement 1.1
…
3.2.2 User Class 2
3.2.1.1 Functional Requirement 1.1
…
...
3.3 Performance
Requirements
3.4 Design Constraints
3.4.1 Standards compliance
3.4.2 Hardware limitations
etc.
3.5 Software System
Attributes
3.5.1 Reliability
3.5.2 Availability
3.5.3 Security
3.5.4 Maintainability
3.5.5 Portability
3.6 Other Requirements
LaFHIS - Uchitel 10
Ejemplos de Organización de Requerimientos Funcionales
- Sección 3.2. -
• …Estímulo o estado del mundo externo
– ej. Soporte de aterrizaje de aviones: viento, poca nafta, pista corta,...
• …Funcionalidad de alto nivel (top-down)
– ej. llamado en espera, desvío de llamado, llamado en conferencia,
contestador...
• …Output del sistema
– ej. generar recibos de sueldo, reportes de costo, estado de cuentas...
• …Objeto externo
– ej. para una biblioteca, organizar por tipo de libro
• …Tipo de usuario
– ej. Sistema de admin. de proyectos: gerente, técnicos, admines, ...
• …Modo de operación
– ej. un procesador de palabras: page layout, outline, normal, ...
• …Subsistema
– ej. Auto: control, manejo de datos, comunicaciones, entretenimientos, ...
6. LaFHIS - Uchitel 11
Cualidades de un SRS (1)
• Completitud
– con respecto a los objetivos (ver Jackson):
• Req, Dom |= G
• Correspondencia entre el mundo real y G,
• Correspondencia entre el mundo real y Dom
• Completitud de G con respecto al mundo real
– con respecto a inputs: el comportamiento requerido del
software ha sido especificado para todos los inputs posibles.
– con respecto a estructura: no hay secciones rotuladas: “A
completar...”
LaFHIS - Uchitel 12
Cualidades de un SRS (2)
• Pertinencia
– Cada requerimiento y presunción se necesita para la
satisfacción de objetivo
– El SRS no contiene elementos que no están relacionados con
la definición de requerimientos (ej. decisiones de diseño o
implementación)
• Consistencia
– No hay contradicciones en la formulación de objetivos,
requerimientos y presunciones
• “Medibilidad”
– Los requerimientos han sido formulados de manera tal que su
satisfacción pueda ser evaluada de manera no ambigua
7. LaFHIS - Uchitel 13
Cualidades de un SRS (3)
• Precisión (No ambiguo)
– No hay vocabulario ambiguo: cada término está definido y es
usado consistentemente.
– No hay aserciones ambiguas: Objetivos, requerimientos y
presunciones deben estar escritos de manera tal que no
permiten interpretaciones distintas
– No hay responsabilidades ambiguas: la separación de
responsabilidades entre el mundo y el software debe estar
indicado claramente.
• Factibilidad
– Los objetivos y requerimientos deberían ser realizables
dentro del presupuesto y cronogramas dispuestos
LaFHIS - Uchitel 14
Cualidades de un SRS (4)
• “Entendibilidad”
– debe ser entendible por todos los lectores potenciales.
• Trazabilidad
– debe identificar las fuentes de los objetivos, requerimientos, y
presunciones
– debe relacionar requerimientos y presunciones con los objetivos
– debe facilitar referenciar de requerimientos en documentación
futura (diseño, test, casos de test)
• Buena Estructura
– Ítems definidos antes de ser usados, índices, formateo, etc...
• Modificabilidad
– Debe ser fácil de adaptar, extender, o achicar con modificaciones
locales.
– Impacto de modificar un ítem debería ser fácil de estimar
8. LaFHIS - Uchitel 15
Contraejemplos (1)
• Omisión de objetivos y requerimientos faltantes
– No hay un requerimiento sobre estado de las puertas en caso
de emergencia
• Omisión de una reacción a un input
– Qué pasa si la alarma de emergencia es activada mientras las
puertas se cierran
• Requerimientos inadecuados
– “Si un libro no es devuelto a la semana del tercer aviso de
devolución, el usuario negligente será notificado y deberá
pagar una multa de x$”
vs.
– “Si un libro no es devuelto a la semana del tercer aviso de
devolución, x$ serán descontados a modo de multa de la cuenta
corriente del usuario.”
LaFHIS - Uchitel 16
Contraejemplos (2)
• Ruido
– “Cada vagón estará equipado con un panel de información
controlado vía software y con carteles de prohibido fumar en
cada ventana”
• Relleno
– Contenido sin información relevante. Ej. contenido con el
objeto de cumplir estándares.
• Mala Estructura
– Mezclar proceso de compra y préstamo de libros
– Referencias hacia adelante: Múltiples usos de “participante”
para luego introducir la definición de participante.
– Definiciones incidentales: “El sistema enviará minutas a los
participantes (aquellos que asistieron aunque sea parcialmente)
de la reunión.
9. LaFHIS - Uchitel 17
Contraejemplos (3)
• Poca Modificabilidad
– Uso de literales para valores cuantificables.
• Opacidad
– Un requerimiento como:
“el comando de velocidad del tren deberá ser siempre al menos
12kph por encima de la velocidad real del tren”
sin información contextual de por qué, la fuente y el impacto
sobre otros requerimientos.
• No medibilidad
– Los paneles de información serán proveerán información de
manera clara y precisa
LaFHIS - Uchitel 18
Una complicación: Contratación
• Un ‘SRS’ puede ser escrito por...
– …el contratante:
• el SRS sirve para llamar a licitación
• Debe ser suficientemente general para lograr suficientes pliegos…
• … y suficientemente específico para obviar pliegos no razonables.
– …los proveedores potenciales:
• Representa una propuesta para implementar un sistema que satisfaga algún
llamado a propuestas.
• Debe ser suficientemente especifico para demostrar factibilidad y
competencia técnica...
• …pero suficientemente general para no comprometerse demasiado.
– …el desarrollador seleccionado:
• refleja el entendimiento que tiene el desarrollador de las necesidades del
cliente.
• forma la base de una evaluación contractual de la performance del
desarrollador.
– …o por un con consultor independiente en IR.
10. LaFHIS - Uchitel 19
Una complicación: Contratación
• ¿Cuándo licitar/contratar?
– Temprano (etapa conceptual)
• sólo se pueden evaluar las propuestas sobre la aparente
competencia técnica
– Tarde (etapa de especificación de requerimientos
detallados)
• mas trabajo para el contratante; experiencia en IR no
necesariamente existe dentro de la organización
– IEEE recomienda que el SRS sea desarrollado
conjuntamente por el contratante y el desarrollador
LaFHIS - Uchitel 20
Algunas Observaciones
• El SRS será imperfecto
– contendrá inconsistencias y imprecisiones
– omitirá información, hará simplificaciones
• Mejorar la especificación tal vez no sea efectivo (costo
vs. beneficio)
– Análisis de requerimientos tiene un costo
– Para diferentes proyectos, el costo-beneficio es diferente.
• Análisis reduce el riesgo de que las imperfecciones
causen problema serios.
• Estas son muchas veces malas excusas para no invertir
en Ingeniería de Requerimientos
11. LaFHIS - Uchitel 21
Resumen
• Documento de Especificación de
Requerimientos
– Propósitos y audiencias
– Cualidades esperadas, errores y falencias
– Dificultades inherentes a la construcción de un SRS
de calidad
– Concepciones erróneas sobre el SRS
– Contratación
LaFHIS - Uchitel 22
Una Observación Importante
• Siendo el SRS el entregable más importante,
suele tomar un protagonismo desproporcionado
– El SRS no es el fin último de un proceso de IR
• Entendimiento del dominio de aplicación, identificación los
problemas reales existentes, elaboración los sistemas que
los resuelven, etc..
– El SRS no es el único soporte físico a producir
• También los modelos juegan un rol
– El SRS no se comienza a escribir el primer día.
• Hay muchas actividades previas a la generación de la primer
versión de un SRS
– El SRS no es el elemento central para hacer análisis
• Más bien es un documento de referencia, enciclopédico.
12. LaFHIS - Uchitel 23
¿Qué es un Modelo?
• Una descripción (de un problema o solución)...
– precisa
– abstracta
– manipulable formalmente
– interpretable en el mundo real
• Una descripción cuyo fin es lograr mayor
entendimiento
• Una entidad que puedo
– observar desde múltiples ángulos
– Hacerle preguntas (y obtener respuestas)
El Documento de Requerimientos
¿De qué trata el Documento de Requerimientos?
¿Para qué sirve?
¿Qué diferencia tiene este documento con un modelo?
¿Qué técnicas de documentación pueden usarse?
¿Cuáles son sus limitaciones?
Unidad 3
13. LaFHIS - Uchitel 25
Lenguaje Natural
• La técnica más popular
• Ventajas
– No hay límite en cuanto a poder expresivo
– No hay una barrera evidente de comunicación.
– Ningún entrenamiento especial es necesario
• Limitaciones:
– Falta de estructura favorece ruido, referencias futuras,
opacidad, definiciones incidentales, ...
– Información específica puede ser difícil de encontrar
– Ambigüedad : ”Frenado total será activado por cualquier tren
que recibe un comando de aceleración o que entra al sector de
estación a mas de X kmh y cuando el tren que lo precede está a
menos de Y metros”
– Análisis automatizado es imposible
– Provee poco soporte metodológico
LaFHIS - Uchitel 26
Algunas Recomendaciones Generales
• Existen muchas recomendaciones generales orientadas a mejorar
la calidad de una especificación en lenguaje natural. Ejemplos:
– Oraciones cortas
– No incluir en una oración mas de un requerimiento o presunción
– Evitar acrónimos
– Usar ecuaciones para relacionar información cuantitativa
– Usar ejemplos para clarificar aserciones abstractas
– Introducir un glosario/diccionario de datos para tener referencias e
interpretaciones únicas y concisas, además de precisión técnica
– Evitar combinaciones complejas de condiciones (ej. anidamiento y
asociatividad ambigua)
– Introducir figuras para proveer pantallazos
– Ayudar texto con diagramas
• No proveen una forma rigurosa de atacar los problemas de fondo
14. LaFHIS - Uchitel 27
Lenguaje Natural Controlado
• Restricciones gramaticales y de presentación
que buscan forzar el uso de texto simple con el
objeto de
– aumentar entendibilidad
– reducir ambigüedad
– permitir algunos análisis simples de manera
automática
– reducir el uso inconsistente de términos
LaFHIS - Uchitel 28
Ejemplo: Indentación
• El sistema proveerá información comparativa que es oportuna,
itemizada en suficiente detalle como para que variaciones
individuales de importancia no se pierdan entre otras variaciones,
identificación de la fuente de cada variación sea posible, y sea
identificable el área de investigación que maximizará los
beneficios globales
vs.
• El sistema proveerá información comparativa
– La información comparativa será oportuna,
– La información comparativa será itemizada en suficiente detalle como
para que
• Variaciones individuales de importancia no se pierdan entre otras
variaciones,
• Identificación de la fuente de cada variación sea posible
• Sea identificable el área de investigación que maximizará los beneficios
globales
15. LaFHIS - Uchitel 29
Ejemplo: Estructura Gramatical
• Especificación de requerimientos debe tener la
siguiente estructura:
– Localización
– Actor
– Acción
– Objeto/Dueño
– Restricción.
• Ejemplo: Cuando tres o más seguidores de estrellas
pierden su estrella de referencia, la nave
inmediatamente alineará su eje principal con el eje sol-
tierra salvo que la tapa de los instrumentos ópticos no
se encuentre abierta
LaFHIS - Uchitel 30
Ejemplo: Templates/Plantillas
• Cada aserción deberá ser estructurada con los
siguientes campos:
– Identificador
– Categoría
– Especificación
– Criterio de aceptación
– Fuente
– Justificación
– Interacción (positiva/negativa) con otras aserciones
– Prioridad
– ...
16. LaFHIS - Uchitel 31
Tablas de Decisión
“El sistema reportará al operador todas las fallas que se originan
en funciones críticas o que ocurren durante la ejecución de una
secuencia crítica y para las cuales no existen respuestas de
recuperación de fallas.”
(adaptado de la especificación de la base espacial internacional)
TTTFFFFFReportar a Operador?
TTTTFFFFNo hay respuesta de recuperación de fallas
TTFFTTFFOcurre durante ejecución de secuencia crítica
TFTFTFTFOrigen en funcione crítica
LaFHIS - Uchitel 32
Diagramas y Modelos Gráficos
• Altamente estructurados
• Permiten análisis automáticos superficiales
– Eg. Reglas de consistencia sintáctica
• Facilitan comunicación aunque requieren distintos grados de
capacitación previa
• Proveen descripciones concisas y abstractas
• Se complementan en cuanto a foco
– Lógica de control
– Flujo de datos
– Flujo de control
– Estructura
– Estados y cambios de estado
– Comunicación
– ...
17. LaFHIS - Uchitel 33
Diagramas: Árboles de Decisión
Origen en funciones críticas
Ocurre durante ejecución
de secuencia crítica
No hay respuesta de
recuperación de fallas
F
TF
No Reportar
a Operador
No Reportar
a Operador
T
No hay respuesta de
recuperación de fallas
Reportar a
Operador
F T
No Reportar
a Operador
Reportar a
Operador
F T
LaFHIS - Uchitel 34
Diagramas: Flujo de Datos (DFDs)
• Modelado de operaciones del sistema y sus dependencias de datos
– Operaciones modifican datos. Sus inputs y outputs son declarados con
flechas entrantes y salientes
– Componentes son iniciadores o terminadores de flujos de datos
• Error común: Inferir control de flujo a partir del de datos
Iniciador
Participante Participante
Verificar
pedido
Consultar
restricciones
Recolectar
restricciones
Fusionar
restricciones
Fijar
cronogramaRestricciones de
participantes
Pedido de
reunión
Copia de
restriccionesPedido
inválido
Pedido
válido
Restricciones
para la reunión
Pedido de
restricciones
Restricciones
personales
Notificación
de reunión
18. LaFHIS - Uchitel 35
Diagramas: SADT
• “Structured Analysis and Design Technique” (Ross & Schoman, 1977)
• Precursor en diagramas para requerimientos
• Dos diagramas que son vistas duales/complementarias entre si
Actividad
Datos de
entrada
Datos
de salidaComponente
responsable
Datos y eventos
de control
Datos
Actividades
productoras
Actividades
consumidorasRecursos necesarios
para procesamiento
Actividades de control
de integridad
Actigram Datagram
LaFHIS - Uchitel 36
Ejemplo SADT
Gestionar de
restricciones
Consultar
restricciones Informar de
restricciones
Fusionar de
restricciones
Pedido de reunión
Restricciones
para reunión
Rango de
fechas
Rango de
fechas
Pedido de
reunión
Scheduler
Pedido de
restricciones
Participante
Restricciones
personales
Scheduler
Restricciones
para reunión
plazo
máximo
todas las
restricciones
recibidas
Rango de
fechas
Restricciones
para reunión
Fusionar de restricciones
Planificar reunión
Repositorio de restricciones
Controlar validez
19. LaFHIS - Uchitel 37
SADT: Algunas Observaciones
• Diagramas semánticamente ricos (ej. más que DFDs)
– Distingue responsables, dato, restricciones de integridad, etc...
• Criterios de consistencia inter-diagrams.
– Ej. Una actividad del control de un datagrama debe aparecer como
actividad en un actigrama
• Noción de refinamiento gráfico
– Los datos de E/S de una actividad deben aparecer como E/S de
alguna sub-actividad
• Diagramaticamente deficientes
– Dirección absoluta de flechas (o posición absoluta de elementos) suele
no tener relevancia semántica en diagramas modernos
LaFHIS - Uchitel 38
Iniciador Scheduler Participante
pedido de reunión
notificación
pedido de restricciones
notificación
restricciones personales
Diagrama de Contexto
• Visto previamente...
20. LaFHIS - Uchitel 39
Diagramas Estructurales del Dominio
• Ej. Diagramas de clase, modelos entidad relación
• Conceptos: Entidades y Relaciones entre entidades (asociaciones,
subclases, etc)
LaFHIS - Uchitel 40
Diagramas de Secuencia
• Conceptos:
– Tiempo, comunicación o interacción entre agentes
– Descripción basada en ejemplos.
21. LaFHIS - Uchitel 41
Diagramas de Transición de Estados
• Conceptos: Estados, Eventos, Guardas y Transiciones
Recolectando Datos
de Reunión
Pedido Denegado
Validando Datos
de Reunión
Restricciones
pedidas
Planificando Reunión planificada
Reunión notificada
Resolución de
conflictos
[no autorizado]
[autorizado]
pedido OKpedido KO
[todas disponibles]
[hay
conflictos]
pedido de debilitar restricciones
[no hay
conflictos]
cronograma
fijado
notificación
LaFHIS - Uchitel 42
Descripciones Gráficas: Limitaciones
• No describen cual es el propósito. Se quedan en el “qué” y “cómo”
• Requerimientos implícitos
– Justificación de requerimientos implícita o inexistente
– Relación entre requerimientos implícita
• Falta de distinción entre descripción y prescripción
• Imposibilidad de representar múltiples opciones
• Poca guía para el análisis y elaboración
– ¿Criterios de verificación y validación? ¿Grado de completitud?
¿Las descripciones gráficas que hemos visto,
son adecuadas para describir requerimientos?
22. LaFHIS - Uchitel 43
Especificaciones Formales
- Lógica de Primer Orden -
• Sintaxis
– Operadores booleanos (disyunción, conjunción, negación, implicación)
– Variables tipadas
– Cuantificación universal y existencial sobre el universo de instancias
– Predicados booleanos y Funciones
• Ejemplo
– !tr1, tr2: Tren: SigueA(tr1, tr2) -> Dist(tr1, tr2) < Dist-Frenado(tr1)
– SigueA(tr1, tr2) " tr1.via() = tr2.via() && tr1.dirección = tr2.dirección
– DistFrenado(tr) " ....tr1.velocidad()....tr1.peso()...., tr.modelo(), ....
• Semántica
– Dado una valuación para elementos atómicos de la lógica, tenemos un
mecanismo preciso para decidir si una fórmula es verdadera
• Técnicas de manipulación sintáctica que preserven la semántica
– modus ponens, ecadenamiento, instanciación, ...
LaFHIS - Uchitel 44
Especificaciones Formales
- Lógicas Temporales -
• Sintaxis
– [] P : siempre en el futuro vale P.
– <> P : en algún momento en el futuro vale P.
– P U Q : siempre en el futuro vale P hasta que valga Q.
– X P : En el próximo estado vale P.
• Ejemplos
– Presunción: “Una persona esperada a una reunión efectivamente participará de
la reunión si la fecha y lugar de reunión le es conveniente y ha sido notificado
de la reunión”
! p: persona, r: reunión: Esperado(p, r) && Notificado(r, m) &&
Conveniente(r, p) -> <> Participa(p, r)
– Q vale después de que P valga pero antes de que R valga:
[] !P || <>(P && !R U (Q || []!R)))
• Semántica
– Dado una secuencia de valuaciones para elementos atómicos de la
lógica, tenemos un mecanismo preciso para decidir si una fórmula es
verdadera
23. LaFHIS - Uchitel 45
Especificaciones Formales
• Beneficios
– Tienden a facilitar la reducción de problemas clásicos de
especificación de requerimientos como
• ambigüedad, ruido, referencias a futuro, aserciones no medibles
– Proveen mecanismos de análisis más sofisticados: Animación,
verificación de correctitud vía deducción o exploración exhaustiva
– Permiten la generación automática de contraejemplos, casos de falla,
casos de prueba, modelos/vistas alternativas y fragmentos de código
– El proceso de formalización puede ayudar a tener un mejor
entendimiento informal del problema
• Desventajas
– Tienen poder expresivo limitado. Ej. aspectos cuantitativos
– Son difíciles de escribir y de leer. Obtención de especificaciones
consistentes y adecuadas requiere mucho entrenamiento. Inaccesible
para clientes, usuarios, etc.
– Integración limitada de especificaciones con prácticas convencionales
LaFHIS - Uchitel 46
Lo que se viene...
• Un modelo que trata de ...
– resolver limitaciones y combinar beneficios de algunas de las
técnicas de especificación mencionadas
– estructurar conocimiento de una manera alternativa, para
facilitar las actividades de Ingeniería de Requerimientos
• ... el modelo de objetivos