Este documento describe diferentes técnicas para estimar los recursos, costos y tiempo necesarios para completar un proyecto de software. Explica cómo determinar los requisitos funcionales y no funcionales del software, y estimar los recursos humanos y materiales requeridos. Luego, detalla tres opciones para realizar estimaciones: basadas en proyectos similares, mediante descomposición del problema o usando modelos empíricos como COCOMO. El documento ilustra estas técnicas con ejemplos de estimaciones basadas en líneas de código y puntos
El documento describe los pasos para realizar estimaciones de recursos, costos y tiempo para un proyecto de software. Estos incluyen determinar el medio ambiente del software, estimar los recursos requeridos como hardware, software y personal, y utilizar técnicas como la descomposición del problema y modelos empíricos como COCOMO para generar estimaciones.
Estimacion de Proyectos, Ingeniería de SoftwareMarvin Romero
El documento describe las actividades de planeación para realizar estimaciones de recursos, costos y tiempo para un proyecto. Estas actividades incluyen determinar el medio ambiente del software, estimar los recursos requeridos como hardware, software y recursos humanos, y utilizar técnicas como descomposición del problema y modelos empíricos para realizar las estimaciones.
Este documento discute diferentes métodos para estimar el esfuerzo y costo en proyectos de desarrollo de software. Presenta cuatro enfoques comunes como juicio de expertos, estimación por analogía, descomposición del proyecto y modelos de estimación. También describe dos métodos basados en la funcionalidad del sistema: el método de puntos por función desarrollado por Albrecht y Gaffney y el método Mk-II FP mejorado por Symons. Ambos métodos calculan el tamaño del proyecto en términos de "puntos por
Este documento trata sobre la administración de proyectos de software. Explica que la administración comienza antes del desarrollo técnico y continúa hasta que el software es descontinuado. Detalla elementos clave como la definición de objetivos, estimaciones, análisis de riesgos, calendarización y seguimiento. También cubre temas como mediciones, métricas, descomposición de tareas y estimación de esfuerzo.
Este documento describe varios modelos empíricos para estimar el esfuerzo requerido para desarrollar software. Explica que estos modelos utilizan fórmulas derivadas de datos de proyectos anteriores para predecir el esfuerzo en función de variables como líneas de código y puntos de función. También describe el modelo COCOMO de Boehm, el cual estima el esfuerzo en función del tamaño del proyecto y factores como la complejidad. Finalmente, advierte que estos modelos solo son aproximados y sus resultados deben usarse
Informe supernotariado y registro 29 01-2013Johana201225
Se reportaron problemas de lentitud en el aplicativo SIR usado por las ORIPS. El problema fue causado por bloqueos generados por consultas a la tabla SIR_OP_DATOS_ANT_SISTEMA. Se crearon índices para esta tabla para mejorar el rendimiento, resolviendo el problema de forma definitiva. Se continuará monitoreando el comportamiento del aplicativo SIR.
El documento describe las actualizaciones realizadas al sistema de información registral (SIR) para permitir el traslado masivo de folios de matrícula inmobiliaria entre oficinas registrales. Se crea un nuevo rol que permite trasladar múltiples folios y generar informes estadísticos sobre traslados. También se implementan cambios para registrar la auditoría de las tablas del negocio en SIR.
El documento describe los pasos para realizar estimaciones de recursos, costos y tiempo para un proyecto de software. Estos incluyen determinar el medio ambiente del software, estimar los recursos requeridos como hardware, software y personal, y utilizar técnicas como la descomposición del problema y modelos empíricos como COCOMO para generar estimaciones.
Estimacion de Proyectos, Ingeniería de SoftwareMarvin Romero
El documento describe las actividades de planeación para realizar estimaciones de recursos, costos y tiempo para un proyecto. Estas actividades incluyen determinar el medio ambiente del software, estimar los recursos requeridos como hardware, software y recursos humanos, y utilizar técnicas como descomposición del problema y modelos empíricos para realizar las estimaciones.
Este documento discute diferentes métodos para estimar el esfuerzo y costo en proyectos de desarrollo de software. Presenta cuatro enfoques comunes como juicio de expertos, estimación por analogía, descomposición del proyecto y modelos de estimación. También describe dos métodos basados en la funcionalidad del sistema: el método de puntos por función desarrollado por Albrecht y Gaffney y el método Mk-II FP mejorado por Symons. Ambos métodos calculan el tamaño del proyecto en términos de "puntos por
Este documento trata sobre la administración de proyectos de software. Explica que la administración comienza antes del desarrollo técnico y continúa hasta que el software es descontinuado. Detalla elementos clave como la definición de objetivos, estimaciones, análisis de riesgos, calendarización y seguimiento. También cubre temas como mediciones, métricas, descomposición de tareas y estimación de esfuerzo.
Este documento describe varios modelos empíricos para estimar el esfuerzo requerido para desarrollar software. Explica que estos modelos utilizan fórmulas derivadas de datos de proyectos anteriores para predecir el esfuerzo en función de variables como líneas de código y puntos de función. También describe el modelo COCOMO de Boehm, el cual estima el esfuerzo en función del tamaño del proyecto y factores como la complejidad. Finalmente, advierte que estos modelos solo son aproximados y sus resultados deben usarse
Informe supernotariado y registro 29 01-2013Johana201225
Se reportaron problemas de lentitud en el aplicativo SIR usado por las ORIPS. El problema fue causado por bloqueos generados por consultas a la tabla SIR_OP_DATOS_ANT_SISTEMA. Se crearon índices para esta tabla para mejorar el rendimiento, resolviendo el problema de forma definitiva. Se continuará monitoreando el comportamiento del aplicativo SIR.
El documento describe las actualizaciones realizadas al sistema de información registral (SIR) para permitir el traslado masivo de folios de matrícula inmobiliaria entre oficinas registrales. Se crea un nuevo rol que permite trasladar múltiples folios y generar informes estadísticos sobre traslados. También se implementan cambios para registrar la auditoría de las tablas del negocio en SIR.
El documento describe el modelo COCOMO para estimar los costos de desarrollo de software. COCOMO fue desarrollado por Barry Boehm en 1981 y se basa en datos históricos de más de 60 proyectos. Existen tres niveles de COCOMO (básico, intermedio y detallado) que consideran diferentes factores que afectan el costo. El factor principal es el tamaño del producto medido en líneas de código. COCOMO calcula el esfuerzo requerido en hombre-mes y el tiempo de desarrollo en meses.
Antes de comenzar un proyecto de software, el gerente de proyecto y el equipo deben estimar el trabajo requerido, los recursos necesarios y el tiempo de duración del proyecto. Se describen varias técnicas para estimar estos factores, incluidos los modelos COCOMO que utilizan líneas de código como variable de entrada para calcular meses-persona, tiempo de desarrollo y número de personas requeridas. También se mencionan otros atributos como la confiabilidad, el tamaño de la base de datos y la complejidad del product
El documento describe el Modelo COCOMO (Constructive Cost Model), un modelo matemático utilizado para estimar los costos de desarrollo de software. Explica que COCOMO tiene tres submodelos de estimación (básico, intermedio y detallado) que ofrecen diferentes niveles de detalle. También describe los factores que se consideran en cada submodelo como el tamaño del programa, atributos del producto, hardware, personal y proyecto.
1) El documento presenta los conceptos fundamentales de la planificación de proyectos de software, incluyendo la estimación, programación de tareas, análisis de riesgos y planificación de calidad y cambios.
2) Se describen diversas técnicas de estimación como líneas de código, puntos de función, casos de uso y métodos basados en procesos, así como modelos empíricos como COCOMO.
3) La planificación requiere descomponer el problema en partes más pequeñas, estimar recursos y esfuerzos,
El documento describe varias técnicas para estimar los costos de desarrollo de software, incluyendo modelos algorítmicos, juicio de expertos, estimación por analogía, y la ley de Parkinson. También explica los métodos de estimación bottom-up y top-down, y las métricas como líneas de código, puntos de función y FFP que se pueden usar para estimar el tamaño de un proyecto de software.
1) El documento describe las primeras etapas de planificación de un proyecto de software, incluyendo la estimación del trabajo, recursos y tiempo requeridos.
2) Se enfatiza la importancia de la descomposición del proyecto en tareas y la estimación, considerando factores como la complejidad, tamaño e incertidumbre.
3) Se proveen diferentes técnicas para la estimación como el uso de datos históricos, modelos empíricos y herramientas automáticas.
El documento habla sobre la estimación de proyectos de software. Explica que es importante hacer una estimación precisa del costo, tiempo y recursos necesarios antes de comenzar un proyecto. Describe diferentes técnicas para estimar el tamaño y complejidad del software como líneas de código, puntos de función o componentes estándar. También presenta el modelo COCOMO que utiliza factores como la fiabilidad, complejidad y experiencia del equipo para calcular el esfuerzo requerido.
Calculo de esfuerzo en puntos de funcion finalOmar Ordoñez
Este documento explica el método de puntos de función para estimar el esfuerzo requerido para un proyecto de software. Describe cómo se calculan los puntos de función sin ajustar contando elementos como entradas, salidas, consultas y archivos. Luego explica cómo usar factores de ajuste para calcular los puntos de función ajustados basados en características del proyecto. El objetivo es poder estimar de manera temprana el tamaño, costo y duración de un proyecto de desarrollo de software.
Este documento presenta un resumen de diferentes modelos empíricos de estimación de software. En particular, describe brevemente los siguientes modelos:
1) Modelos empíricos de estimación en general, que utilizan fórmulas derivadas empíricamente de una muestra limitada de proyectos para predecir el esfuerzo.
2) El modelo COCOMO, que predice el esfuerzo y duración en función del tamaño del proyecto (LOC) y factores de ajuste.
3) El modelo de Putnam, que describe el tiempo y esfuerzo
Este documento presenta los métodos y técnicas de estimación de proyectos de software discutidos en la semana 8. Explica que la estimación de costos y esfuerzos nunca será exacta debido a factores humanos y técnicos. Luego, describe la técnica de descomposición, que divide el problema en subproblemas más pequeños para una mejor resolución, y cómo se pueden estimar las líneas de código y puntos de función usando valores óptimos, más probables y pesimistas. Finalmente, resume que las técnicas de estimación ayudan
Estimación para proyectos de software cap26DEBANI SALAS
Este documento describe varios métodos y técnicas para estimar proyectos de software. Explica que la estimación requiere experiencia, información histórica y compromiso con predicciones cuantitativas. Luego detalla factores que afectan la precisión de las estimaciones como la complejidad del proyecto, tamaño y grado de incertidumbre. Finalmente, presenta diversas técnicas de estimación como descomposición, basadas en problemas, procesos, casos de uso y modelos empíricos.
Este documento trata sobre la estimación del esfuerzo en el desarrollo de software. Explica que la estimación del esfuerzo es importante para determinar los costos y plazos de un proyecto. Luego describe varios métodos para la estimación como los basados en la experiencia, en los recursos, en los componentes del producto y métodos algorítmicos como COCOMO. Finalmente, muestra un ejemplo de cómo calcular el esfuerzo requerido utilizando los Puntos de Función y datos históricos de la organización.
Administración de proyectos de desarrollo de softwarejose_macias
El documento proporciona información sobre la estimación de proyectos de desarrollo de software. Explica que la estimación es una etapa de planificación para determinar el tiempo, esfuerzo y recursos necesarios para un proyecto de software. Describe los pasos de la estimación y diferentes herramientas como la descomposición y modelos empíricos como COCOMO.
Este documento describe varias métricas para evaluar la calidad de los requerimientos y el diseño de software. Explica la métrica de punto de función para predecir el tamaño del sistema basado en un modelo de análisis. También describe la métrica Bang y cómo se puede usar para estimar el tamaño del software. Además, detalla algunas métricas propuestas por Davis para medir la especificidad, completitud y validez de los requerimientos.
El documento describe varias técnicas para estimar el esfuerzo, costo y tiempo requeridos para completar proyectos de desarrollo de software. Explica que la estimación es una predicción probabilística basada en datos de proyectos anteriores. Presenta modelos como COCOMO y los puntos de función que estiman el esfuerzo en función del tamaño del proyecto y factores de ajuste. También cubre técnicas como la descomposición del proyecto y el análisis de regresión.
Presentación de Alfonso Tienda (@afoone) en las IX Jornadas de gestión de proyectos del PMI Valencia @PMI_Valencia.
Alfonso Tienda es Socio Director en @iProcuratio Consultores, una empresa dedicada a la consultoría de Tecnologías de Información especializada en el sector Salud y en la gestión de Proyectos. Implantamos metodologías y algunas herramientas como Microsoft Project Server.
Este documento trata sobre la gestión de proyectos de software. Explica que la gestión eficaz de un proyecto de software se centra en cuatro áreas clave: personal, producto, proceso y proyecto. También describe los roles clave en un proyecto de software y métodos para estimar costos, esfuerzos y plazos, incluyendo el modelo COCOMO.
Este documento trata sobre la gestión de proyectos de software. Explica que la gestión eficaz de un proyecto de software se centra en cuatro áreas clave: personal, producto, proceso y proyecto. También describe los roles clave en un proyecto de software y métodos para estimar costos, esfuerzos y plazos, incluyendo el modelo COCOMO.
El documento describe diferentes métricas y técnicas para estimar proyectos de software. Explica que las métricas son medidas para conocer el tamaño y características de un software, y que son la base para planificar un proyecto. Luego detalla distintos tipos de métricas como las directas, indirectas y normalizadas, así como técnicas de estimación como los modelos de costos, juicio de expertos, analogía, ley de Parkinson y pricing to win.
Este documento contiene información sobre procesos, hilos, programas y la interfaz POSIX. Explica la diferencia entre procesos y hilos, y cómo los hilos comparten recursos dentro de una tarea. También resume los servicios POSIX relacionados con la creación, ejecución y finalización de procesos.
Este documento describe los conceptos fundamentales de los procesos y su administración por parte de los sistemas operativos. Explica que un proceso es una entidad activa que compite por los recursos del sistema, mientras que un programa es pasivo. También describe los diferentes estados por los que puede pasar un proceso, como nuevo, listo, en ejecución, bloqueado y terminado. Finalmente, explica las estructuras de control que usa el sistema operativo para administrar los procesos y recursos, como las tablas de memoria, E/S y procesos
Más contenido relacionado
Similar a Estimacion de Proyectos, Ingeniería de Software
El documento describe el modelo COCOMO para estimar los costos de desarrollo de software. COCOMO fue desarrollado por Barry Boehm en 1981 y se basa en datos históricos de más de 60 proyectos. Existen tres niveles de COCOMO (básico, intermedio y detallado) que consideran diferentes factores que afectan el costo. El factor principal es el tamaño del producto medido en líneas de código. COCOMO calcula el esfuerzo requerido en hombre-mes y el tiempo de desarrollo en meses.
Antes de comenzar un proyecto de software, el gerente de proyecto y el equipo deben estimar el trabajo requerido, los recursos necesarios y el tiempo de duración del proyecto. Se describen varias técnicas para estimar estos factores, incluidos los modelos COCOMO que utilizan líneas de código como variable de entrada para calcular meses-persona, tiempo de desarrollo y número de personas requeridas. También se mencionan otros atributos como la confiabilidad, el tamaño de la base de datos y la complejidad del product
El documento describe el Modelo COCOMO (Constructive Cost Model), un modelo matemático utilizado para estimar los costos de desarrollo de software. Explica que COCOMO tiene tres submodelos de estimación (básico, intermedio y detallado) que ofrecen diferentes niveles de detalle. También describe los factores que se consideran en cada submodelo como el tamaño del programa, atributos del producto, hardware, personal y proyecto.
1) El documento presenta los conceptos fundamentales de la planificación de proyectos de software, incluyendo la estimación, programación de tareas, análisis de riesgos y planificación de calidad y cambios.
2) Se describen diversas técnicas de estimación como líneas de código, puntos de función, casos de uso y métodos basados en procesos, así como modelos empíricos como COCOMO.
3) La planificación requiere descomponer el problema en partes más pequeñas, estimar recursos y esfuerzos,
El documento describe varias técnicas para estimar los costos de desarrollo de software, incluyendo modelos algorítmicos, juicio de expertos, estimación por analogía, y la ley de Parkinson. También explica los métodos de estimación bottom-up y top-down, y las métricas como líneas de código, puntos de función y FFP que se pueden usar para estimar el tamaño de un proyecto de software.
1) El documento describe las primeras etapas de planificación de un proyecto de software, incluyendo la estimación del trabajo, recursos y tiempo requeridos.
2) Se enfatiza la importancia de la descomposición del proyecto en tareas y la estimación, considerando factores como la complejidad, tamaño e incertidumbre.
3) Se proveen diferentes técnicas para la estimación como el uso de datos históricos, modelos empíricos y herramientas automáticas.
El documento habla sobre la estimación de proyectos de software. Explica que es importante hacer una estimación precisa del costo, tiempo y recursos necesarios antes de comenzar un proyecto. Describe diferentes técnicas para estimar el tamaño y complejidad del software como líneas de código, puntos de función o componentes estándar. También presenta el modelo COCOMO que utiliza factores como la fiabilidad, complejidad y experiencia del equipo para calcular el esfuerzo requerido.
Calculo de esfuerzo en puntos de funcion finalOmar Ordoñez
Este documento explica el método de puntos de función para estimar el esfuerzo requerido para un proyecto de software. Describe cómo se calculan los puntos de función sin ajustar contando elementos como entradas, salidas, consultas y archivos. Luego explica cómo usar factores de ajuste para calcular los puntos de función ajustados basados en características del proyecto. El objetivo es poder estimar de manera temprana el tamaño, costo y duración de un proyecto de desarrollo de software.
Este documento presenta un resumen de diferentes modelos empíricos de estimación de software. En particular, describe brevemente los siguientes modelos:
1) Modelos empíricos de estimación en general, que utilizan fórmulas derivadas empíricamente de una muestra limitada de proyectos para predecir el esfuerzo.
2) El modelo COCOMO, que predice el esfuerzo y duración en función del tamaño del proyecto (LOC) y factores de ajuste.
3) El modelo de Putnam, que describe el tiempo y esfuerzo
Este documento presenta los métodos y técnicas de estimación de proyectos de software discutidos en la semana 8. Explica que la estimación de costos y esfuerzos nunca será exacta debido a factores humanos y técnicos. Luego, describe la técnica de descomposición, que divide el problema en subproblemas más pequeños para una mejor resolución, y cómo se pueden estimar las líneas de código y puntos de función usando valores óptimos, más probables y pesimistas. Finalmente, resume que las técnicas de estimación ayudan
Estimación para proyectos de software cap26DEBANI SALAS
Este documento describe varios métodos y técnicas para estimar proyectos de software. Explica que la estimación requiere experiencia, información histórica y compromiso con predicciones cuantitativas. Luego detalla factores que afectan la precisión de las estimaciones como la complejidad del proyecto, tamaño y grado de incertidumbre. Finalmente, presenta diversas técnicas de estimación como descomposición, basadas en problemas, procesos, casos de uso y modelos empíricos.
Este documento trata sobre la estimación del esfuerzo en el desarrollo de software. Explica que la estimación del esfuerzo es importante para determinar los costos y plazos de un proyecto. Luego describe varios métodos para la estimación como los basados en la experiencia, en los recursos, en los componentes del producto y métodos algorítmicos como COCOMO. Finalmente, muestra un ejemplo de cómo calcular el esfuerzo requerido utilizando los Puntos de Función y datos históricos de la organización.
Administración de proyectos de desarrollo de softwarejose_macias
El documento proporciona información sobre la estimación de proyectos de desarrollo de software. Explica que la estimación es una etapa de planificación para determinar el tiempo, esfuerzo y recursos necesarios para un proyecto de software. Describe los pasos de la estimación y diferentes herramientas como la descomposición y modelos empíricos como COCOMO.
Este documento describe varias métricas para evaluar la calidad de los requerimientos y el diseño de software. Explica la métrica de punto de función para predecir el tamaño del sistema basado en un modelo de análisis. También describe la métrica Bang y cómo se puede usar para estimar el tamaño del software. Además, detalla algunas métricas propuestas por Davis para medir la especificidad, completitud y validez de los requerimientos.
El documento describe varias técnicas para estimar el esfuerzo, costo y tiempo requeridos para completar proyectos de desarrollo de software. Explica que la estimación es una predicción probabilística basada en datos de proyectos anteriores. Presenta modelos como COCOMO y los puntos de función que estiman el esfuerzo en función del tamaño del proyecto y factores de ajuste. También cubre técnicas como la descomposición del proyecto y el análisis de regresión.
Presentación de Alfonso Tienda (@afoone) en las IX Jornadas de gestión de proyectos del PMI Valencia @PMI_Valencia.
Alfonso Tienda es Socio Director en @iProcuratio Consultores, una empresa dedicada a la consultoría de Tecnologías de Información especializada en el sector Salud y en la gestión de Proyectos. Implantamos metodologías y algunas herramientas como Microsoft Project Server.
Este documento trata sobre la gestión de proyectos de software. Explica que la gestión eficaz de un proyecto de software se centra en cuatro áreas clave: personal, producto, proceso y proyecto. También describe los roles clave en un proyecto de software y métodos para estimar costos, esfuerzos y plazos, incluyendo el modelo COCOMO.
Este documento trata sobre la gestión de proyectos de software. Explica que la gestión eficaz de un proyecto de software se centra en cuatro áreas clave: personal, producto, proceso y proyecto. También describe los roles clave en un proyecto de software y métodos para estimar costos, esfuerzos y plazos, incluyendo el modelo COCOMO.
El documento describe diferentes métricas y técnicas para estimar proyectos de software. Explica que las métricas son medidas para conocer el tamaño y características de un software, y que son la base para planificar un proyecto. Luego detalla distintos tipos de métricas como las directas, indirectas y normalizadas, así como técnicas de estimación como los modelos de costos, juicio de expertos, analogía, ley de Parkinson y pricing to win.
Similar a Estimacion de Proyectos, Ingeniería de Software (20)
Este documento contiene información sobre procesos, hilos, programas y la interfaz POSIX. Explica la diferencia entre procesos y hilos, y cómo los hilos comparten recursos dentro de una tarea. También resume los servicios POSIX relacionados con la creación, ejecución y finalización de procesos.
Este documento describe los conceptos fundamentales de los procesos y su administración por parte de los sistemas operativos. Explica que un proceso es una entidad activa que compite por los recursos del sistema, mientras que un programa es pasivo. También describe los diferentes estados por los que puede pasar un proceso, como nuevo, listo, en ejecución, bloqueado y terminado. Finalmente, explica las estructuras de control que usa el sistema operativo para administrar los procesos y recursos, como las tablas de memoria, E/S y procesos
Guía de Ejercicios de Fundamentos de ProgramaciónMarvin Romero
Este documento contiene 27 ejercicios de programación estructurada con diferentes niveles de complejidad. Los ejercicios incluyen capturar y procesar datos numéricos, realizar cálculos matemáticos como sumatorias y promedios, y aplicar lógica condicional para tomar decisiones. El objetivo es que los estudiantes practiquen y desarrollen sus habilidades en programación básica mediante la resolución de estos ejercicios.
Guia de Ejercicios Fundamentos de ProgramacionMarvin Romero
Este documento presenta 30 ejercicios de programación estructurada que involucran tareas matemáticas y lógicas como sumatorias, promedios, clasificaciones, cálculos de descuentos y más. Los ejercicios están diseñados para practicar diferentes estructuras de programación como ciclos, condicionales, funciones y arrays.
Un sistema operativo es un software de sistema que gestiona los recursos de un dispositivo electrónico y permite la interacción con el usuario. Realiza tareas como la administración de recursos, archivos, tareas y el suministro de interfaces de usuario. Actúa como intermediario entre el hardware y los programas de aplicación.
Estructuras (CAPAS) de un sistema operativoMarvin Romero
El documento describe las diferentes estructuras de los sistemas operativos, incluyendo la estructura modular, la estructura de anillos o capas, la estructura de microkernel, la estructura multinucleo y la estructura de máquinas virtuales. Explica que el sistema operativo sirve de intermediario entre el usuario y la computadora para proporcionar un entorno cómodo de uso.
Clasificación de los Sistemas OperativosMarvin Romero
Este documento describe los diferentes tipos de sistemas operativos, incluyendo sistemas operativos por lotes, de tiempo real, de multiprogramación, de tiempo compartido, distribuidos, de red y paralelos. Define cada tipo y sus características principales en 1-3 oraciones.
Este documento resume los conceptos básicos de los sistemas operativos y su historia. Explica que un sistema operativo es un programa que permite la interacción entre el usuario y el hardware y administra los recursos del computador. También describe las principales tareas de un sistema operativo como proporcionar interfaces, administrar dispositivos, gestionar archivos y apoyar otros programas. Finalmente, resume brevemente la evolución de los sistemas operativos desde la década de 1940 hasta la actualidad.
Este documento describe las principales tareas y características de los sistemas operativos. Los sistemas operativos gestionan eficientemente los recursos del hardware, simplifican el uso de la computadora, y permiten la ejecución efectiva de programas sin conflictos. Sus principales tareas incluyen proveer interfaces de usuario, administrar recursos, archivos, tareas, y proveer soporte técnico.
La arquitectura de Von Neumann es un modelo de arquitectura de computadora en el que el procesador, la memoria principal y las unidades de entrada y salida comparten el mismo bus de datos, lo que permite que cualquier parte de la computadora acceda a cualquier dato almacenado en la memoria.
Este documento describe las estructuras de control en el lenguaje de programación C. Introduce las estructuras secuenciales, selectivas y repetitivas, que permiten representar algoritmos de forma estructurada. Explica cada una de estas estructuras de control, incluyendo if/else, switch, while, do/while y for; y provee ejemplos de su uso.
Variables, Constantes y Tipos de datos en CMarvin Romero
El documento explica los conceptos básicos de variables, constantes y tipos de datos en C, incluyendo su definición, declaración y tipos. Explica que una variable es un nombre que identifica una posición de memoria donde se almacenan datos, y que debe ser declarada antes de usarse. También describe los diferentes tipos de datos y sus rangos de valores, así como las reglas para declarar variables y constantes.
Importancia de la programación estructurada optMarvin Romero
El documento proporciona una introducción a la programación estructurada, explicando que es un conjunto de notaciones y convenciones que guían al programador para producir programas de alta calidad. Señala que la programación estructurada ayuda a crear programas más fáciles de entender, mantener y probar, mejorando así la productividad del programador. También define varios operadores y tipos de operaciones matemáticas y lógicas comúnmente utilizados en la programación.
Historia y caracteristicas del lenguaje c optMarvin Romero
El documento describe los orígenes y características principales del lenguaje de programación C. C fue creado en los años 1970 por Dennis Ritchie en los laboratorios Bell y se usó inicialmente para reescribir el sistema operativo UNIX. C combina características de lenguajes de alto y bajo nivel, lo que lo hace adecuado para programar sistemas. C ha tenido una gran influencia debido a su estrecha relación con UNIX.
Este documento presenta el plan de estudios de la asignatura Sistemas Operativos para el grupo A en la Facultad de Ciencia y Tecnología. La asignatura se impartirá los jueves y viernes de 7:00 am a 8:40 am en las aulas 12 y 15. El plan contiene 23 semanas de contenido que cubren temas como fundamentos de programación en C, arquitectura de computadoras, introducción a sistemas operativos, procesos, comunicación entre procesos, gestión de recursos, seguridad y estudios de
Jornalizacion Fundamentos de Programación I-2012Marvin Romero
Este documento presenta el plan de estudios del curso Fundamentos de Programación impartido en la Facultad de Ciencia y Tecnología. El curso se dictará los lunes y miércoles en dos grupos diferentes con un total de 23 semanas de clases. Los temas a cubrir incluyen introducción a la programación, metodologías de desarrollo de software, estructuras de control lógicas, programación orientada a objetos y la evolución de los lenguajes de programación. El curso contará con tres parciales y dos laboratorios por comput
Metodologías y Técnicas de Diseño de SoftwareMarvin Romero
El documento describe las herramientas y pasos del proceso de diseño de sistemas de información. Explica que el diseño genera soluciones a requerimientos, describe las especificaciones del sistema propuesto y define cómo funcionará. Luego detalla herramientas como UML, DFD, DER, entre otras. También cubre conceptos como bases de datos, diagramas de entidad-relación y normalización.
Especificación de requerimientos, Ingenieria de SoftwareMarvin Romero
El documento presenta una guía sobre cómo especificar requerimientos de sistemas de forma efectiva. Explica que los requerimientos deben describir los servicios que debe ofrecer el sistema y las restricciones asociadas, y distinguir entre requerimientos funcionales y no funcionales. Además, recomienda expresar los requerimientos en lenguaje natural de manera clara, concisa y cuantitativa cuando sea posible.
Este documento describe el modelo COCOMO (COnstructive COst MOdel), un método para estimar el esfuerzo y tiempo requerido para desarrollar software. Explica que COCOMO define tres modos de desarrollo (orgánico, semi-acoplado y empotrado) y varios modelos (básico, intermedio y avanzado). Luego proporciona una estimación de un proyecto de software usando el modelo intermedio de COCOMO.
Planificacion y gestion de proyectos primera parteMarvin Romero
El documento describe los pasos clave para la planificación de proyectos de software, incluyendo estimación, desarrollo de un programa de trabajo, análisis de riesgos, y planificación de la calidad y el cambio. Se enfatiza la importancia de la descomposición del problema, el uso de datos históricos, y la realización de múltiples estimaciones.
Planificacion y gestion de proyectos primera parte
Estimacion de Proyectos, Ingeniería de Software
1. Estimación
Su objetivo es permitir al administrador del proyecto hacer estimaciones razonables de recursos, costo y tiempo. Dentro de la
planeación existen las siguientes actividades:
Determinar el medio ambiente del software. Hay que evaluar:
o La función. ¿Qué hace?
o El rendimiento. Requisitos de tiempos de respuesta y de procesamiento.
o Las restricciones. Límites del software originados por el hardware externo, por la memoria disponible o por otros
sistemas existentes.
o Las interfaces. Definir la comunicación hombre-máquina y máquina-máquina.
o La fiabilidad. Definir la tolerancia a fallas y a ataques de virus y/o hackers.
Para obtener el medio ambiente la técnica más usada es la entrevista con el cliente.
Estimación de recursos requeridos. Cada recurso queda especificado mediante cuatro características: descripción del
recurso, informe de disponibilidad, fecha en la que se requiere el recurso, tiempo durante el que será aplicado el
recurso. Se puede pensar en tres clases de recursos:
1. Recursos de hardware y software.
2. Recursos de software reutilizables. Existen cuatro categorías de recursos de software que se deben tomar en
cuenta.
Componentes ya desarrollados. Se pueden comprar a un tercero o haber sido desarrollados para un
proyecto anterior. Están validados totalmente y listos para usarse en este proyecto.
Componentes ya experimentados. Existen componentes parecidos a los que se requieren para el proyecto
actual. El equipo tiene experiencia en el área de aplicación y los cambios son mínimos.
Componentes con experiencia parcial. Existen componentes que se relacionan con los que se requieren
para el proyecto actual. El equipo sólo tiene experiencia en el área de aplicación anterior y los cambios
serán sustanciales.
Componentes nuevos. Los componentes deben construirse específicamente para este proyecto.
Hay que considerar lo siguiente:
Si los componentes ya desarrollados cumplen con los requisitos del proyecto, hay que comprarlos. El
costo de compra y de integración será siempre menor que el costo de desarrollarlos. Además el riesgo es
bajo.
2. Si se dispone de componentes ya experimentados, los riesgos asociados a la modificación e integración
generalmente se aceptan.
Si se dispone de componentes con experiencia parcial, hay que analizar su uso con cuidado. Puede ser
que el costo de modificarlos e integrarlos sea mayor que el de desarrollar componentes nuevos.
3. Recursos humanos. Hay que especificar el esfuerzo requerido en hombres-mes u hombres-año, el número de
personas dependiendo del tiempo de entrega y la posición de las personas dentro del equipo (jefe, programador,
bibliotecario, especialista en comunicaciones, base de datos, microprocesadores, etc.). Las técnicas para
estimación de esfuerzo vienen a continuación.
Estimación del proyecto
Para realizar estimaciones de costos y esfuerzos hay tres opciones:
1. Basar las estimaciones en proyectos similares ya terminados.
o Es razonable si el cliente, condiciones de administración, el medio ambiente, los requisitos, las fechas límites, son
similares a proyectos anteriores.
o A pesar de eso la experiencia anterior no ha sido siempre un buen indicador de resultados futuros.
2. Utilizar técnicas de descomposición del problema.
o Utilizan un enfoque de divide y vencerás.
o Descomponen el proyecto en sus funciones principales y la estimación del costo y esfuerzo puede realizarse en
base a métricas históricas de manera más fiable.
3. Desarrollar un modelo empírico de cálculo de costos y esfuerzos.
o Se basan en datos históricos y son de la forma d = f (vi) donde d es el valor estimado (p.e. esfuerzo, costo,
duración del proyecto) y los vi son algunos parámetros independientes (p.e. LOC o PF estimados).
3. Técnicas de descomposición
Estimación basada en el problema.
Puede usarse LOC o PF para hacer estimaciones.
Si se utiliza LOC, la descomposición es esencial y a menudo debe ser a detalle.
Si se utiliza PF, en vez de centrar la descomposición en la función, se calcula el PF como se estudió en la sesión
anterior, estimando de alguna forma, cada uno de los valores.
En ambos casos, mediante datos históricos o la intuición, se estiman valores optimista (O), medio (M) y pesimista (P)
para cada función o contador, y se calcula el valor esperado (E) con la siguiente fórmula:
E = (O + 4 * M + P) / 6
Ejemplo de estimación basada en LOC.
Supongamos que nos piden hacen un sistema que implemente las principales operaciones con matrices, que tenga una
interface gráfica y un reporteador. El primer paso es analizar el problema y descomponerlo en tareas que sean más fáciles de
estimar. Digamos que después de un estudio a fondo, nos damos cuenta que necesitamos tres módulos o tareas específicas:
Interface gráfica.
Rutinas matemáticas para procesar matrices.
Reportes
Y digamos que en base a datos históricos, de sistemas que hayamos realizado, obtenemos los siguientes estimados.
LOC estimadas.
Módulo
Optimista Medio Pesimista Esperado
Interface gráfica 1,200 1,800 3,000 1,900
Rutinas matemáticas 3,000 4,200 6,000 4,300
Reportes 600 1,200 1,800 1,200
Total 7,400
4. Si en base a los datos históricos sabemos que tenemos una productividad media de 500 LOC/hombre-mes, podemos calcular
que el esfuerzo de desarrollar el sistema será de (7,400 / 500) = 15 hombres-mes (siempre hay que redondear hacia arriba). Y
si cada hombre-mes cuesta $10,000 (entre sueldos y gastos extras), entonces el costo del sistema será de $150,000.
Ejemplo de estimación basada en PF.
Si queremos hacer una estimación del mismo sistema, pero usando ahora PF, en vez de tratar de estimar las LOC que tendrá
el sistema, tratamos de estimar cada uno de los valores necesarios para calcular el PF. Digamos que después del análisis,
llegamos a los siguientes valores:
Valores del dominio de información
Cuenta
Dominio de información Peso Subtotal
Optimista Medio Pesimista Esperado
Número de entradas 7 8 10 8 4 32
Número de salidas 4 5 7 5 5 25
Número de peticiones 5 7 9 7 4 28
Número de archivos 1 1 2 1 10 10
Número de interfaces
1 1 2 1 7 7
externas
Total T 102
5. Factores
Factor Valor
Copia de seguridad y recuperación 4
Comunicaciones de datos 2
Proceso distribuido 0
Rendimiento crítico 4
Entorno operativo existente 3
Entrada de datos en línea 4
Transacciones de entrada en múltiples pantallas 5
Archivos maestros actualizados en línea 2
Complejidad de valores del dominio de información 5
Complejidad del procesamiento interno 5
Código diseñado para ser reusado 4
Conversión/instalación en diseño 3
Instalaciones múltiples 5
Aplicación diseñada para el cambio 5
Total F 51
Aplicando la fórmula PF = T * (0.65 + 0.01 * F), se obtiene que PF = 118.
Si los datos históricos indican que nuestra productividad es de 7 PF / hombre-mes, entonces el esfuerzo requerido será de
(118 / 7) = 17 hombres-mes, y si el costo por hombre-mes es de $10,000, entonces el costo del proyecto será de $170,000.
6. Modelos empíricos de estimación
Utilizan fórmulas derivadas empíricamente de una muestra limitada de proyectos para predecir el esfuerzo en función de
LOC o PF.
La estimación de los valores de LOC y PF se realizan utilizando las técnicas de descomposición vistas con anterioridad.
Los valores resultantes se aplican a la fórmula del modelo que se haya escogido para obtener el esfuerzo en hombres-
mes.
Precisamente por venir de una muestra limitada, no son adecuados para toda clase de software ni para todo medio
ambiente de desarrollo.
Algunos modelos
E = 5.2 * KLOC0.91 Modelo de Walston-Felix
E = 5.5 + 0.73 * KLOC1.16 Modelo de Bailey-Basisli
E = 3.2 * KLOC1.05 Modelo simple de Boehm
E = 5.288 * KLOC1.047 Modelo Doty para KLOC > 9
E = -13.39 + 0.054 * PF Modelo de Albretch-Gaffney
E = 60.62 * 7.728 * 10-8 * PF3 Modelo de Kemerer
E = 585.7 + 15.12 * PF Modelo de Matson-Barnett-Mellichamp
7. Modelo COCOMO
Creado por Barry Boehm en 1981. Su nombre significa COnstructive COst MOdel (Modelo constructivo de costo) y se puede
dividir en tres modelos.
COCOMO básico. Calcula el esfuerzo y el costo del desarrollo en función del tamaño del programa estimado en LOC.
COCOMO intermedio. Calcula el esfuerzo del desarrollo en función del tamaño del programa y un conjunto de
conductores de costo que incluyen la evaluación subjetiva del producto, del hardware, del personal y de los atributos del
proyecto.
COCOMO detallado. Incorpora las características de la versión intermedia y lleva a cabo una evaluación del impacto de
los conductores de costo en cada fase (análisis, desarrollo, etc.) del proceso.
Los modelos COCOMO están definidos para tres tipos de proyectos de software:
Orgánicos.
o Proyectos pequeños y sencillos.
o Equipos pequeños con experiencia en la aplicación.
o Requisitos poco rígidos.
Semiacoplados.
o Proyectos de tamaño y complejidad intermedia.
o Equipos con variado niveles de experiencia.
o Requisitos poco o medio rígidos.
Empotrados.
o Proyectos que deben ser desarrollados con un conjunto de requisitos (hardware y software) muy restringidos.
8. COCOMO básico
Las ecuaciones del modelo COCOMO básico son de la forma:
E = a * KLOCb
D = c * Ed
donde E es el esfuerzo aplicado en hombre-mes, D es el tiempo de desarrollo en meses y KLOC es el número de miles de
líneas de código estimado para el proyecto. Los coeficientes a y c y los exponentes b y d se obtienen de la siguiente tabla:
Tipo de proyecto a b c d
Orgánico 2.4 1.05 2.5 0.38
Semiacoplado 3.0 1.12 2.5 0.35
Empotrado 3.6 1.20 2.5 0.32
Aplicando el modelo COCOMO básico al ejemplo anterior y usando un tipo de proyecto orgánico obtenemos una estimación
para el esfuerzo:
E = 2.4 * KLOC1.05
= 2.4 * 7.41.05
= 20 hombre-mes
Para calcular la duración del proyecto usamos la estimación de esfuerzo:
D = 2.5 * E0.38
= 2.5 * 200.38
= 8 meses
El valor de la duración del proyecto permite al planificador recomendar un número de personas N para el proyecto.
N=E/D
= 20 / 8
= 3 personas
Por supuesto que el planificador puede decidir emplear sólo una o dos personas y ampliar por tanto la duración del proyecto.
9. COCOMO intermedio
En el COCOMO intermedio, la ecuación para calcular el tiempo de desarrollo es la misma que la del COCOMO básico. La
ecuación para calcular el esfuerzo es:
E = a * KLOCb * EAF
donde E es el esfuerzo en hombre-mes, KLOC es el número estimado de miles de líneas de código. El coeficiente a y el
exponente b están dados por la tabla:
Tipo de proyecto a b
Orgánico 3.2 1.05
Semiacoplado 3.0 1.12
Empotrado 2.8 1.20
y EAF es un factor de ajuste del esfuerzo que se calcula valorando en una escala de muy bajo, bajo, nominal, alto y muy alto
cada uno de los siguientes 15 atributos, agrupados en 4 categorías
Atributos del producto. Son restricciones y requerimientos del proyecto que va a ser desarrollado.
o Confiabilidad requerida.
o Tamaño de la base de datos.
o Complejidad del producto.
Atributos de computadora. Son limitaciones puestas por el hardware y el sistema operativo donde el proyecto va a
correr.
o Restricciones de tiempo de ejecuccion.
o Restricciones de memoria principal.
o Volatilidad de la máquina virtual.
o Tiempo de respuesta de la computadora.
Atributos de personal. Nivel de habilidades que tiene el personal. Son habilidades profesionales generales, habilidad de
programación, experiencia con el medio ambiente de desarrollo y familiaridad con el dominio del proyecto.
o Capacidad del analista.
o Experiencia en aplicaciones.
o Capacidad del programador.
o Experiencia con la máquina virtual.
10. o Experiencia con el lenguaje de programación.
Atributos del proyecto. Restricciones y condiciones bajo las cuales el proyecto se desarrolla.
o Prácticas modernas de programación
o Uso de herramientas de software.
o Calendario de desarrollo requerido.
A cada atributo se le asigna un número real de acuerdo a la tabla siguiente:
Escala Número
muy bajo 0.75
bajo 0.88
nominal 1
alto 1.15
muy alto 1.40
El número indica el grado con el que cada factor puede influenciar la productividad. Un valor menor que 1 indica que el factor
puede decrementar el calendario y el esfuerzo. Un valor mayor que 1 denota un factor que extiende el calendario y el esfuerzo.
Finalmente, un valor igual a 1 no extiende ni decrementa el calendario y el esfuerzo (esta clase de factor se llama nominal).
Para obtener el EAF se multiplican cada uno de los 15 factores.
Se puede simplificar el cálculo del EAF porque hay una tendencia a considerar los atributos marcados en negritas, como los
más relevantes y que deberían ser tomados más en cuenta.
11. La ecuación del software
Propuesta por Putnam y Myers en 1992.
Asume una distribución específica del esfuerzo a lo largo de la vida de un proyecto.
Se obtuvo a partir de datos de productividad de unos 4,000 proyectos.
Es de la forma:
E = (LOC * B0.333 / P)3 * (1 / t4)
donde E = esfuerzo en hombres-año.
t = duración del proyecto en años.
B = factor especial de destrezas. Para programas
pequeños B vale 0.16, para programas intermedios
vale 0.28, para programas mayores vale 0.39.
P = parámetro de productividad, para un software de
tiempo real, P vale 2,000, para comunicaciones vale
10,000, para software científico vale 12,000 y para
aplicaciones comerciales de sistemas vale 28,000.
Para simplificar el proceso de estimación se sugiere un conjunto de ecuaciones obtenidas de la ecuación del software.
Un tiempo mínimo de desarrollo de software se define como:
tmin = 8.14 * (LOC / P)0.43 para tmin > 6 meses.
E = 180 * B * t3 en hombres-mes para E >= 20 hombres-mes y t representado en años
Aplicando las ecuaciones al ejemplo anterior, obtenemos:
tmin = 8.14 * (7,400 / 12,000)0.43
= 7 meses
E = 180 * 0.28 * 0.753
= 21 hombres-mes
12. La decisión de desarrollar o comprar
Hay varias opciones de compra de software:
Comprarlo (con licencia) ya desarrollado.
Comprar componentes de software total o parcialmente experimentado y modificarse para cumplir las necesidades
específicas.
Encargarlo para su desarrollo a la medida a una empresa externa.
En algunos casos (p.e. software para PC de bajo costo), es menos caro comprar y experimentar que llevar a cabo una larga
evaluación de paquetes.
Para productos de software más caros, se pueden aplicar las directrices siguientes:
1. Desarrollar especificaciones.
2. Estimación del costo de desarrollo interno y fecha de entrega.
3. Seleccionar 3 o 4 aplicaciones candidatas o componentes reusables.
4. Hacer una matriz de compración checando una a una las funciones claves o hacer un benchmark.
5. Evaluar cada paquete de software o componente según la calidad de productos anteriores, soporte del vendedor,
reputación, etc.
6. Contacto con otros usuarios del paquete.
En el análisis final, la decisión de desarrollar o comprar se basa en las condiciones siguientes:
¿La fecha de entrega del software es anterior que la del software desarrollado internamente?
¿El costo de adquisición junto con el de personalización es menor que el costo del desarrollo interno?
¿El costo del soporte externo (contrato de mantenimiento) es menor que el costo del soporte interno?