Este documento trata sobre la planificación y estimación de proyectos de software. Explica dos perspectivas de la planificación temporal, los conceptos de estimación y planificación, y los factores que influyen en la estimación como la complejidad, el tamaño y la incertidumbre del proyecto. También describe el proceso de planificación e incluye la estimación de recursos requeridos.
El documento describe el proceso de estimación de puntos de función (PF), una métrica para medir el tamaño de un sistema de software. Explica cómo identificar los componentes de un sistema, asignar pesos basados en complejidad, calcular los PF sin ajustar y ajustados, y estimar el esfuerzo, duración y presupuesto de un proyecto basado en los PF.
El documento describe los conceptos clave de la ingeniería de software y el proceso de desarrollo de software. Explica que la ingeniería de software aplica principios de ingeniería para desarrollar software fiable y eficiente. Luego describe las actividades clave del proceso de software como la especificación, el diseño, la validación y la evolución. Finalmente, enfatiza la importancia de seguir un proceso estructurado para desarrollar software de alta calidad de manera rentable.
El documento describe diferentes modelos de procesos de software, incluyendo el modelo en cascada, modelos evolutivos como el desarrollo exploratorio y prototipos desechables, el modelo basado en componentes, y modelos iterativos como el modelo en espiral e incremental. Explica las características y etapas clave de cada modelo.
Tabla comparativa- metodologías de desarrolloitsarellano
Este documento describe varios modelos de desarrollo de software, incluyendo cascada, incremental, prototipado evolutivo, RAD, RUP y XP. Explica las etapas, tipos de proyectos, relación con los usuarios y características de cada modelo.
Metodologías, metricas y modelo cocomo para el costo de un proyecto softwareAndres Hoyos Mosquera
Este documento describe metodologías y métricas para estimar los costos de un proyecto de software. Explica diferentes modelos como COCOMO para estimar el esfuerzo, tiempo y personal requerido. También cubre métricas como líneas de código y atributos del proyecto que se usan para realizar estimaciones iniciales y comparar proyectos.
Este documento presenta una introducción a los modelos de desarrollo de software, describiendo los modelos de cascada, en V, prototipos, espiral, procesos e incremental. Explica las ventajas e inconvenientes de cada modelo y que los proyectos de software requieren seleccionar el modelo apropiado dependiendo de factores como los riesgos, requerimientos y planeación.
Este documento presenta las tareas fundamentales de la ingeniería de requisitos para el desarrollo de software. Estas incluyen iniciar el proyecto, obtener requisitos del cliente, elaborar un modelo de análisis, negociar requisitos, especificar requisitos de forma precisa, validar la especificación, y gestionar los requisitos a lo largo del proyecto mediante tablas de rastreabilidad. El objetivo principal es entender completamente las necesidades del cliente y desarrollar un sistema de software que las satisfaga.
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 el proceso de estimación de puntos de función (PF), una métrica para medir el tamaño de un sistema de software. Explica cómo identificar los componentes de un sistema, asignar pesos basados en complejidad, calcular los PF sin ajustar y ajustados, y estimar el esfuerzo, duración y presupuesto de un proyecto basado en los PF.
El documento describe los conceptos clave de la ingeniería de software y el proceso de desarrollo de software. Explica que la ingeniería de software aplica principios de ingeniería para desarrollar software fiable y eficiente. Luego describe las actividades clave del proceso de software como la especificación, el diseño, la validación y la evolución. Finalmente, enfatiza la importancia de seguir un proceso estructurado para desarrollar software de alta calidad de manera rentable.
El documento describe diferentes modelos de procesos de software, incluyendo el modelo en cascada, modelos evolutivos como el desarrollo exploratorio y prototipos desechables, el modelo basado en componentes, y modelos iterativos como el modelo en espiral e incremental. Explica las características y etapas clave de cada modelo.
Tabla comparativa- metodologías de desarrolloitsarellano
Este documento describe varios modelos de desarrollo de software, incluyendo cascada, incremental, prototipado evolutivo, RAD, RUP y XP. Explica las etapas, tipos de proyectos, relación con los usuarios y características de cada modelo.
Metodologías, metricas y modelo cocomo para el costo de un proyecto softwareAndres Hoyos Mosquera
Este documento describe metodologías y métricas para estimar los costos de un proyecto de software. Explica diferentes modelos como COCOMO para estimar el esfuerzo, tiempo y personal requerido. También cubre métricas como líneas de código y atributos del proyecto que se usan para realizar estimaciones iniciales y comparar proyectos.
Este documento presenta una introducción a los modelos de desarrollo de software, describiendo los modelos de cascada, en V, prototipos, espiral, procesos e incremental. Explica las ventajas e inconvenientes de cada modelo y que los proyectos de software requieren seleccionar el modelo apropiado dependiendo de factores como los riesgos, requerimientos y planeación.
Este documento presenta las tareas fundamentales de la ingeniería de requisitos para el desarrollo de software. Estas incluyen iniciar el proyecto, obtener requisitos del cliente, elaborar un modelo de análisis, negociar requisitos, especificar requisitos de forma precisa, validar la especificación, y gestionar los requisitos a lo largo del proyecto mediante tablas de rastreabilidad. El objetivo principal es entender completamente las necesidades del cliente y desarrollar un sistema de software que las satisfaga.
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,
Proceso, modelos y metodos de ingenieria de softwaresergio
El documento describe los procesos de software, incluyendo las fases del proceso de software como la especificación, el diseño e implementación, y la validación. También discute los modelos de procesos de software como el modelo en cascada y el desarrollo evolutivo, así como la ingeniería de software basada en componentes. Finalmente, compara los procesos, modelos y métodos de ingeniería de software.
Este documento describe los pasos clave en la planificación de proyectos de software. Explica que la planificación incluye estimar el tiempo, esfuerzo y recursos necesarios para el proyecto. También cubre técnicas como COCOMO para estimar costos en base al tamaño del programa y factores adicionales. El objetivo final de la planificación es generar estimaciones razonables de los recursos, costos y cronograma para el proyecto de software.
Este documento presenta información sobre lenguajes de simulación. Introduce los lenguajes de simulación específicos y sus ventajas sobre los lenguajes de propósito general. Describe varios lenguajes de simulación específicos como GPSS, SIMAN y SIMSCRIPT y explica sus características. Finalmente, resume las ventajas de usar lenguajes de simulación como ahorrar tiempo y concentrarse en el problema en lugar de la programación.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
El Proceso de Software Personal es un conjunto de prácticas disciplinadas para la gestión del tiempo y mejora de la productividad personal de los programadores o ingenieros de software.
Calendarización de Proyectos de Softwarejose_macias
La calendarización de proyectos de software implica dividir el proyecto en tareas concretas, estimar el tiempo y recursos necesarios para cada una, y organizarlas de forma concurrente y con pocas dependencias para optimizar los recursos. Una calendarización adecuada, con seguimiento periódico y ajustes cuando sea necesario, permite entregar el proyecto de software con éxito.
Este documento describe la metodología ágil Extreme Programming (XP). XP se basa en principios como la simplicidad, el feedback continuo y la comunicación entre el equipo. Incluye prácticas como el desarrollo en parejas, pruebas automatizadas frecuentes e integración continua. El ciclo de vida de XP implica desarrollo iterativo de pequeñas características con entregas frecuentes. XP puede mejorar la productividad pero también tiene inconvenientes como su aplicabilidad limitada a proyectos cortos.
Este documento describe las metodologías emergentes para el desarrollo de software. Explica que estas metodologías permiten crear software adaptándose rápidamente al cambio sin retrasos en la documentación. Un ejemplo es Iconix, que es un proceso iterativo e incremental basado en UML que permite rastrear los requisitos a lo largo del ciclo de vida del proyecto. Las ventajas incluyen motivar más a los equipos, evitar malos entendidos de requisitos y proporcionar mejores resultados en proyectos de alto riesgo,
Este documento describe las metodologías ágiles para el desarrollo de software. Explica que surgieron como alternativa a los métodos tradicionales muy estructurados y que valoran la interacción del equipo, entregas frecuentes de software funcional y la capacidad de responder a cambios. Describe metodologías como Scrum, XP y Crystal que se caracterizan por iteraciones cortas, trabajo conjunto con el cliente y mejora continua. Concluye que las metodologías ágiles son útiles para proyectos con requisitos cambiantes y que han ganado popular
los formatos PSP nos ayudaron en la medicion de nuestros tiempos, ademas en una mejor realizacion del desarrollo del sistema, dichos formatos contienen los errores encontrados en el desarrollo de todas las estapas del modelo prototipo que fue el utilizado para la realizacion del software ademas de los tiempos de trabajo.
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.
La metodología incremental consiste en desarrollar un sistema en incrementos funcionales pequeños. Cada incremento agrega nuevas funcionalidades y es evaluado por el cliente antes de pasar al siguiente. Esto permite entregar parte del producto funcional más rápido y recibir comentarios para mejorar los incrementos siguientes, reduciendo riesgos y costos del proyecto. La metodología propone 5 etapas y tiene como ventajas principal que los clientes pueden usar parte del sistema desde temprano y que involucra más a los clientes en el desarrollo.
Este documento describe varias técnicas para estimar los costos de proyectos de software. Presenta métricas como líneas de código y puntos de función que pueden usarse para estimar el tamaño de un proyecto. También describe factores que afectan los costos como la capacidad de los programadores, la complejidad del producto y el tiempo disponible. Finalmente, resume técnicas como el juicio experto y Delphi para realizar estimaciones.
El documento describe los procesos de ingeniería de software, incluyendo conceptos clave como proceso de software, ingeniería de software, proceso de ingeniería de software y ciclo de vida de software. Explica modelos importantes para la implementación y mejora de procesos como IDEAL y QIP. El objetivo general es establecer un marco sobre las aplicaciones y definiciones actuales de procesos de ingeniería de software.
Este documento describe las etapas clave de un estudio de viabilidad para un proyecto informático, incluyendo el análisis de los recursos técnicos, económicos y operativos. Se enfatiza la importancia de recopilar datos a través de entrevistas con diferentes partes interesadas para determinar si el proyecto es factible desde estas tres perspectivas. Además, se proveen lineamientos para la preparación y estructuración efectiva de las entrevistas con el fin de obtener información relevante para la toma de decisiones.
Análisis de riesgos de un proyecto de softwareAngel Reyes
Este documento describe el análisis de riesgos de un proyecto de software. Explica que el análisis de riesgos es un proceso para identificar los riesgos, su probabilidad de ocurrencia e impacto, y determinar los controles para mitigarlos. También define los tipos de riesgos como riesgos de proyecto, técnicos y de negocio, y métodos para identificarlos como listas de verificación. El objetivo final es cuantificar los riesgos y determinar acciones para controlarlos, eliminarlos, compartirlos o a
Este documento describe los diagramas de actividades, incluyendo sus elementos, propósito, ventajas y desventajas. Explica que los diagramas de actividades representan el flujo de tareas y operaciones de un proceso, con nodos para el inicio, acciones, decisiones y final. Proporciona un ejemplo de diagrama de actividades para un sistema de software con múltiples caminos dependiendo de la entrada del usuario.
El documento describe y compara cuatro modelos de ingeniería de software: el modelo cascada, el modelo de prototipos, el modelo en espiral y el proceso unificado racional (RUP). El modelo cascada sigue un enfoque secuencial de requisitos, diseño, codificación, prueba y mantenimiento. El modelo de prototipos involucra la construcción rápida de prototipos para obtener retroalimentación del cliente. El modelo en espiral enfatiza la gestión de riesgos a través de iteraciones sucesivas. Finalmente, el RUP es un proceso flexible
El documento habla sobre la estimación de proyectos de software. Explica que la estimación es la primera actividad de planificación de un proyecto y que involucra determinar el tamaño, recursos y esfuerzo requeridos. También describe varias técnicas de estimación como descomposición basada en problemas, casos de uso y modelos como COCOMO. Concluye que usar múltiples técnicas y datos históricos puede mejorar la precisión de una estimación.
Este documento trata sobre la planificación de proyectos de desarrollo de software. Explica que la planificación y gestión son cruciales para el éxito de estos proyectos debido a que los requisitos y características del producto final no pueden definirse completamente hasta que comienza el proceso de desarrollo. Luego, detalla algunos objetivos clave de la planificación como minimizar defectos, satisfacer a los usuarios y lograr un buen nivel de mantenibilidad y extensibilidad. Finalmente, cubre temas como el al
Proceso, modelos y metodos de ingenieria de softwaresergio
El documento describe los procesos de software, incluyendo las fases del proceso de software como la especificación, el diseño e implementación, y la validación. También discute los modelos de procesos de software como el modelo en cascada y el desarrollo evolutivo, así como la ingeniería de software basada en componentes. Finalmente, compara los procesos, modelos y métodos de ingeniería de software.
Este documento describe los pasos clave en la planificación de proyectos de software. Explica que la planificación incluye estimar el tiempo, esfuerzo y recursos necesarios para el proyecto. También cubre técnicas como COCOMO para estimar costos en base al tamaño del programa y factores adicionales. El objetivo final de la planificación es generar estimaciones razonables de los recursos, costos y cronograma para el proyecto de software.
Este documento presenta información sobre lenguajes de simulación. Introduce los lenguajes de simulación específicos y sus ventajas sobre los lenguajes de propósito general. Describe varios lenguajes de simulación específicos como GPSS, SIMAN y SIMSCRIPT y explica sus características. Finalmente, resume las ventajas de usar lenguajes de simulación como ahorrar tiempo y concentrarse en el problema en lugar de la programación.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
El Proceso de Software Personal es un conjunto de prácticas disciplinadas para la gestión del tiempo y mejora de la productividad personal de los programadores o ingenieros de software.
Calendarización de Proyectos de Softwarejose_macias
La calendarización de proyectos de software implica dividir el proyecto en tareas concretas, estimar el tiempo y recursos necesarios para cada una, y organizarlas de forma concurrente y con pocas dependencias para optimizar los recursos. Una calendarización adecuada, con seguimiento periódico y ajustes cuando sea necesario, permite entregar el proyecto de software con éxito.
Este documento describe la metodología ágil Extreme Programming (XP). XP se basa en principios como la simplicidad, el feedback continuo y la comunicación entre el equipo. Incluye prácticas como el desarrollo en parejas, pruebas automatizadas frecuentes e integración continua. El ciclo de vida de XP implica desarrollo iterativo de pequeñas características con entregas frecuentes. XP puede mejorar la productividad pero también tiene inconvenientes como su aplicabilidad limitada a proyectos cortos.
Este documento describe las metodologías emergentes para el desarrollo de software. Explica que estas metodologías permiten crear software adaptándose rápidamente al cambio sin retrasos en la documentación. Un ejemplo es Iconix, que es un proceso iterativo e incremental basado en UML que permite rastrear los requisitos a lo largo del ciclo de vida del proyecto. Las ventajas incluyen motivar más a los equipos, evitar malos entendidos de requisitos y proporcionar mejores resultados en proyectos de alto riesgo,
Este documento describe las metodologías ágiles para el desarrollo de software. Explica que surgieron como alternativa a los métodos tradicionales muy estructurados y que valoran la interacción del equipo, entregas frecuentes de software funcional y la capacidad de responder a cambios. Describe metodologías como Scrum, XP y Crystal que se caracterizan por iteraciones cortas, trabajo conjunto con el cliente y mejora continua. Concluye que las metodologías ágiles son útiles para proyectos con requisitos cambiantes y que han ganado popular
los formatos PSP nos ayudaron en la medicion de nuestros tiempos, ademas en una mejor realizacion del desarrollo del sistema, dichos formatos contienen los errores encontrados en el desarrollo de todas las estapas del modelo prototipo que fue el utilizado para la realizacion del software ademas de los tiempos de trabajo.
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.
La metodología incremental consiste en desarrollar un sistema en incrementos funcionales pequeños. Cada incremento agrega nuevas funcionalidades y es evaluado por el cliente antes de pasar al siguiente. Esto permite entregar parte del producto funcional más rápido y recibir comentarios para mejorar los incrementos siguientes, reduciendo riesgos y costos del proyecto. La metodología propone 5 etapas y tiene como ventajas principal que los clientes pueden usar parte del sistema desde temprano y que involucra más a los clientes en el desarrollo.
Este documento describe varias técnicas para estimar los costos de proyectos de software. Presenta métricas como líneas de código y puntos de función que pueden usarse para estimar el tamaño de un proyecto. También describe factores que afectan los costos como la capacidad de los programadores, la complejidad del producto y el tiempo disponible. Finalmente, resume técnicas como el juicio experto y Delphi para realizar estimaciones.
El documento describe los procesos de ingeniería de software, incluyendo conceptos clave como proceso de software, ingeniería de software, proceso de ingeniería de software y ciclo de vida de software. Explica modelos importantes para la implementación y mejora de procesos como IDEAL y QIP. El objetivo general es establecer un marco sobre las aplicaciones y definiciones actuales de procesos de ingeniería de software.
Este documento describe las etapas clave de un estudio de viabilidad para un proyecto informático, incluyendo el análisis de los recursos técnicos, económicos y operativos. Se enfatiza la importancia de recopilar datos a través de entrevistas con diferentes partes interesadas para determinar si el proyecto es factible desde estas tres perspectivas. Además, se proveen lineamientos para la preparación y estructuración efectiva de las entrevistas con el fin de obtener información relevante para la toma de decisiones.
Análisis de riesgos de un proyecto de softwareAngel Reyes
Este documento describe el análisis de riesgos de un proyecto de software. Explica que el análisis de riesgos es un proceso para identificar los riesgos, su probabilidad de ocurrencia e impacto, y determinar los controles para mitigarlos. También define los tipos de riesgos como riesgos de proyecto, técnicos y de negocio, y métodos para identificarlos como listas de verificación. El objetivo final es cuantificar los riesgos y determinar acciones para controlarlos, eliminarlos, compartirlos o a
Este documento describe los diagramas de actividades, incluyendo sus elementos, propósito, ventajas y desventajas. Explica que los diagramas de actividades representan el flujo de tareas y operaciones de un proceso, con nodos para el inicio, acciones, decisiones y final. Proporciona un ejemplo de diagrama de actividades para un sistema de software con múltiples caminos dependiendo de la entrada del usuario.
El documento describe y compara cuatro modelos de ingeniería de software: el modelo cascada, el modelo de prototipos, el modelo en espiral y el proceso unificado racional (RUP). El modelo cascada sigue un enfoque secuencial de requisitos, diseño, codificación, prueba y mantenimiento. El modelo de prototipos involucra la construcción rápida de prototipos para obtener retroalimentación del cliente. El modelo en espiral enfatiza la gestión de riesgos a través de iteraciones sucesivas. Finalmente, el RUP es un proceso flexible
El documento habla sobre la estimación de proyectos de software. Explica que la estimación es la primera actividad de planificación de un proyecto y que involucra determinar el tamaño, recursos y esfuerzo requeridos. También describe varias técnicas de estimación como descomposición basada en problemas, casos de uso y modelos como COCOMO. Concluye que usar múltiples técnicas y datos históricos puede mejorar la precisión de una estimación.
Este documento trata sobre la planificación de proyectos de desarrollo de software. Explica que la planificación y gestión son cruciales para el éxito de estos proyectos debido a que los requisitos y características del producto final no pueden definirse completamente hasta que comienza el proceso de desarrollo. Luego, detalla algunos objetivos clave de la planificación como minimizar defectos, satisfacer a los usuarios y lograr un buen nivel de mantenibilidad y extensibilidad. Finalmente, cubre temas como el al
Este documento describe diferentes métodos ágiles de programación como Scrum, Extreme Programming y Crystal Methods. Explica que los métodos ágiles permiten que las empresas sean más ágiles desarrollando rápidamente y adaptándose fácilmente a los cambios a través de iteraciones cortas. Scrum y Extreme Programming son los métodos más adecuados para resolver la problemática planteada por la empresa El Pato Volador, ya que reducen el tiempo de desarrollo y permiten entregas periódicas con capacidad de adaptación.
Este documento presenta una introducción a la administración de proyectos de software. Explica conceptos clave como el proceso administrativo, características de la administración, métricas como PERT y Gantt para planificación, y métodos de estimación de costos como COCOMO. También cubre temas como métricas de software, puntos de función, y análisis de riesgos.
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 describe los conceptos clave de la planeación de proyectos de software, incluyendo la importancia de la planeación, objetivos como dividir el trabajo y anticipar problemas, y etapas como la propuesta y el inicio. También cubre temas como la estimación de costos, el desarrollo guiado por planes, técnicas de calendarización y estimación, y enfoques ágiles.
El documento describe diferentes metodologías ágiles para el desarrollo de software, incluyendo sus objetivos, elementos clave, ventajas y desventajas. Explica métodos como Scrum, Extreme Programming (XP), Crystal y Dynamic Systems Development Method (DSDM). Recomienda el uso de XP dado el tiempo limitado de 3 meses para desarrollar el software, con énfasis en iteraciones cortas y pruebas continuas.
Este documento describe varios métodos ágiles de programación como Scrum, Extreme Programming y Crystal Methods. Explica que los métodos ágiles permiten desarrollar, cambiar y actualizar proyectos de forma rápida e iterativa mediante la colaboración, comunicación y entregas periódicas. Para la empresa El Pato Volador, Scrum o Extreme Programming son las opciones más adecuadas debido a que los métodos ágiles reducen los costos y tiempos de desarrollo de proyectos frente a los métodos tradicionales.
El documento describe las diferentes fases del desarrollo de sistemas de información, incluyendo la determinación de requisitos, el análisis y diseño, la construcción, y las pruebas. Explica que en la fase de requisitos se definen las necesidades de información del área de negocio, mientras que en el análisis y diseño se desarrolla un modelo conceptual de los procesos y datos. La construcción involucra el desarrollo de componentes físicos como pantallas y bases de datos. Finalmente, las pruebas evalúan
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.
Analisis y diseño de un sistema de informacionparedes1983
Este documento describe los pasos clave en la planificación y estimación de un proyecto de sistema de información. Explica que la estimación es una parte importante que involucra factores como el tamaño del proyecto, la disponibilidad de información histórica y los recursos requeridos. Luego detalla los objetivos de la planificación, las actividades asociadas y los modelos comunes de estimación como COCOMO. El documento enfatiza que la estimación precisa requiere el uso de múltiples técnicas.
Este documento presenta los conceptos de planificación, reingeniería y plan de proyecto en el contexto del desarrollo de software. Explica que la planificación es fundamental para distribuir las tareas y estimar los costos y plazos del proyecto. También cubre los pasos para realizar la reingeniería de software existente. Finalmente, indica que el plan de proyecto documenta el alcance, costos y riesgos para comunicar la estrategia a las partes interesadas.
El documento describe diferentes metodologías de desarrollo de sistemas de información. Explica el ciclo de vida clásico que incluye etapas como análisis, diseño, construcción, prueba, implementación y mantenimiento. También describe modelos como prototipos, incremental, espiral y RAD, los cuales se enfocan en entregas iterativas.
Metricas del proyecto de Software - introduccionJose Diaz Silva
Introducción al manejo de las métricas de proyectos de software, considerando los aspectos de tamaño y los elementos de funcionalidad. Se explora la diferencia entre error y defecto , aclarando los conceptos de medida, medición, métrica e indicador. De la misma manera se exploran las métricas privadas y las públicas. Las ventajas y desventajas de estas métricas son mencionadas
Este documento describe varios métodos para estimar el esfuerzo, costo y tiempo de proyectos de desarrollo de software, incluyendo los modelos COCOMO I y COCOMO II, la técnica Delphi y estimación por puntos de función. También explica conceptos como entradas, salidas, consultas de datos y archivos lógicos internos, los cuales son elementos clave considerados en el conteo de puntos de función.
Este documento describe varios métodos para estimar el esfuerzo, costo y tiempo requeridos para completar proyectos de desarrollo de software. Describe modelos como COCOMO, que estiman estos factores en función del tamaño del proyecto y otros atributos. También describe técnicas como Delphi y analogía, que utilizan las opiniones de expertos o proyectos similares previos para generar estimaciones.
El documento presenta la planificación de un proyecto de gestión del conocimiento para la empresa everis. Se propone sistematizar la obtención de requerimientos similares de proyectos anteriores mediante un sistema que permita identificar requerimientos, estimaciones de costo y esfuerzo de manera más precisa. Esto mejorará la calidad del servicio a clientes al posibilitar planificaciones más exactas. Adicionalmente, el conocimiento tácito de los planificadores quedará plasmado de forma explícita en la organización.
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...Software Guru
Hacer una estimación de bajo hacia arriba es inviable si todavía no hay una estructura de proyecto disponible, hacer una estimación solamente basada en analogía es muy subjetivo y no se puede aprender de los errores cometidos.
El objetivo de este webinar es introducir el método de medición de COSMIC y presentar una propuesta para derivar unidades de producto a partir de los requerimientos funcionales del usuario en diferentes representaciones.
Similar a Planificacion y-estimacion-de-proyectos-de-software (20)
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...AMADO SALVADOR
El catálogo general de electrodomésticos Teka presenta una amplia gama de productos de alta calidad y diseño innovador. Como distribuidor oficial Teka, Amado Salvador ofrece soluciones en electrodomésticos Teka que destacan por su tecnología avanzada y durabilidad. Este catálogo incluye una selección exhaustiva de productos Teka que cumplen con los más altos estándares del mercado, consolidando a Amado Salvador como el distribuidor oficial Teka.
Explora las diversas categorías de electrodomésticos Teka en este catálogo, cada una diseñada para satisfacer las necesidades de cualquier hogar. Amado Salvador, como distribuidor oficial Teka, garantiza que cada producto de Teka se distingue por su excelente calidad y diseño moderno.
Amado Salvador, distribuidor oficial Teka en Valencia. La calidad y el diseño de los electrodomésticos Teka se reflejan en cada página del catálogo, ofreciendo opciones que van desde hornos, placas de cocina, campanas extractoras hasta frigoríficos y lavavajillas. Este catálogo es una herramienta esencial para inspirarse y encontrar electrodomésticos de alta calidad que se adaptan a cualquier proyecto de diseño.
En Amado Salvador somos distribuidor oficial Teka en Valencia y ponemos atu disposición acceso directo a los mejores productos de Teka. Explora este catálogo y encuentra la inspiración y los electrodomésticos necesarios para equipar tu hogar con la garantía y calidad que solo un distribuidor oficial Teka puede ofrecer.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaAMADO SALVADOR
Descubra el catálogo completo de buzones BTV, una marca líder en la fabricación de buzones y cajas fuertes para los sectores de ferretería, bricolaje y seguridad. Como distribuidor oficial de BTV, Amado Salvador se enorgullece de presentar esta amplia selección de productos diseñados para satisfacer las necesidades de seguridad y funcionalidad en cualquier entorno.
Descubra una variedad de buzones residenciales, comerciales y corporativos, cada uno construido con los más altos estándares de calidad y durabilidad. Desde modelos clásicos hasta diseños modernos, los buzones BTV ofrecen una combinación perfecta de estilo y resistencia, garantizando la protección de su correspondencia en todo momento.
Amado Salvador, se compromete a ofrecer productos de primera clase respaldados por un servicio excepcional al cliente. Como distribuidor oficial de BTV, entendemos la importancia de la seguridad y la tranquilidad para nuestros clientes. Por eso, trabajamos en colaboración con BTV para brindarle acceso a los mejores productos del mercado.
Explore el catálogo de buzones ahora y encuentre la solución perfecta para sus necesidades de correo y seguridad. Confíe en Amado Salvador y BTV para proporcionarle buzones de calidad excepcional que cumplan y superen sus expectativas.
HPE presenta una competició destinada a estudiants, que busca fomentar habilitats tecnològiques i promoure la innovació en un entorn STEAM (Ciència, Tecnologia, Enginyeria, Arts i Matemàtiques). A través de diverses fases, els equips han de resoldre reptes mensuals basats en àrees com algorísmica, desenvolupament de programari, infraestructures tecnològiques, intel·ligència artificial i altres tecnologies. Els millors equips tenen l'oportunitat de desenvolupar un projecte més gran en una fase presencial final, on han de crear una solució concreta per a un conflicte real relacionat amb la sostenibilitat. Aquesta competició promou la inclusió, la sostenibilitat i l'accessibilitat tecnològica, alineant-se amb els Objectius de Desenvolupament Sostenible de l'ONU.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
1. Ing. Pablo Sevilla Jarquin
pasj@guegue.com.ni
Planificación y Estimación de
Proyectos de Software
2. Planificación Temporal
• La planificación temporal para proyectos de desarrollo de
software puede verse desde dos perspectivas bastante
diferentes.
– La fecha final de lanzamiento del sistema basado en computadora
ya ha sido (irrevocablemente) establecida.
• La organización del software se ve forzada a distribuir el esfuerzo dentro del
marco prescrito.
– El segundo asume que se han estudiado limites cronológicos
aproximados pero que la fecha final es fijada por la organización
del software.
• El esfuerzo se distribuye para hacer un mejor uso de los
recursos y la fecha final se define después de un cuidadoso
análisis del elemento de software.
• Desdichadamente, la primera perspectiva se encuentra
bastante mas a menudo que la segunda.
3. Estimación y Planificación
• Estimación=predicción de duración, esfuerzo y
costos requeridos para realizar todas las
actividades y constituir todos los productos
asociados con el proyecto.
• La planificación es el proceso de:
– Selección de una estrategia para la obtención de producto
final.
– Definición de actividades a realizar para lograr ese
objetivo.
– Coordinación de concurrencia y solapamiento de dichas
actividades.
– Asignación de recursos a las mismas.
4. Estimación y Planificación
• Estimación: Predicción cuantitativa de
aspectos del Proyecto.
• Planificación: Organización de gente y
tareas.
• La Planificación es el primer paso en la
realización de un proyecto informático y en
gran parte, el responsable del éxito o fracaso
del mismo.
5. Observaciones Acerca de la
Estimación
• La estimación la lleva a cabo el gestor del
proyecto
• La estimación y planificación temporal de un
proyecto software requiere:
- Experiencia.
- Buena información histórica.
- Coraje de confiar en las métricas y la
experiencia.
6. Observaciones Acerca de la
Estimación
• Hay cuatro factores que influyen
significativamente en las estimaciones:
– La complejidad del proyecto.
– El tamaño del proyecto.
– El grado de incertidumbre estructural.
• Se han definido requisitos?
• Separabilidad de funciones.
• Acotado.
• ¿La información que se maneja es clara?
– Disponibilidad de información histórica.
7. Observaciones Acerca de la
Estimación
• Complejidad del proyecto
• La complejidad es relativa a la experiencia en
proyectos anteriores.
• Existen medidas sobre la complejidad de
proyectos basadas en el diseño y código
(métricas técnicas).
• En la fase de estimación no son aplicables
porque no hay ni diseño ni código.
• Por eso hay que utilizar medidas más subjetivas
(ej. PF).
8. Observaciones Acerca de la
Estimación
• Tamaño del proyecto
• En los proyectos grandes, crece la
interdependencia entre los componentes del
proyecto.
• Interdependencia descomposición del
producto en elementos muy grandes dificulta
el proceso de estimación
9. Observaciones Acerca de la
Estimación
• Grado de incertidumbre estructural
• Estructura:
– Grado en que los requisitos se han definido.
– Facilidad con la que se pueden compartimentalizar
funciones.
– Naturaleza jerárquica de la información a procesar.
• Incertidumbre estructural baja mejor
descomposición del producto mejor
estimación.
10. Observaciones Acerca de la
Estimación
• Información histórica
• “Aquellos que no pueden recordar el pasado,
están condenados a repetirlo”.
• La existencia de métricas del software de
proyectos anteriores facilita la estimación.
• En cualquier caso, la estabilidad de los
requisitos por parte del cliente es fundamental
para la estimación
11. El Proceso de Planificación del
Proyecto
• El objetivo de la planificación del proyecto de
software es proporcionar un marco de trabajo
que permita al gestor hacer estimaciones
razonables de recursos, coste y programa de
trabajo.
• Estas estimaciones se hacen al comienzo del
proyecto
Hay que actualizarlas según progresa éste
12. Ámbito del Software y Factibilidad
• La primera actividad de la planificación del proyecto
es determinar el ámbito del software
• Recordemos que ámbito:
– Contexto. ¿Cómo encaja el software a construir en un
sistema, producto o contexto de negocios mayor y qué
limitaciones se imponen como resultado del contexto.
– Objetivos de información. ¿Qué objetos de datos
visibles al cliente se obtienen del software? ¿Qué
objetos de datos son requeridos de entrada?
– Función y rendimiento. ¿Qué función realiza el software
para transformar la información de entrada en una salida?
¿Hay características de rendimiento especiales que
abordar?
13. Ámbito del Software y Factibilidad
• El cliente es el único que puede ayudarnos a
determinar el ámbito.
• Por tanto la comunicación con el cliente es
fundamental.
• La comunicación se puede iniciar con las
preguntas de contexto libre.
• Hay tres grupos dentro de estas preguntas
14. Ámbito del Software y Factibilidad
• El primer grupo se centra en el cliente, los
objetivos globales y los beneficios:
– - ¿Quién está detrás de la solicitud de este trabajo?
– - ¿Quién utilizará esta solución?
– - ¿Cuál será el beneficio económico de una buena
solución?
– - ¿Hay otro camino para la solución?
15. Ámbito del Software y Factibilidad
• El segundo grupo permiten comprender mejor el
problema y que el cliente exprese sus percepciones
sobre una solución:
• ¿Cómo caracterizaría (el cliente) un resultado
correcto que se generaría con una solución
satisfactoria?
• ¿Con qué problemas se enfrentará esta solución?
• ¿Puede mostrarme (o describirme) el entorno en el
que se utilizará la solución?
• ¿Hay aspectos o limitaciones especiales de
rendimiento que afecten a la forma en que se
aborde la solución?
16. Ámbito del Software y Factibilidad
• El último grupo se centra en la efectividad de la
reunión. Se denominan metacuestiones:
– ¿Es usted la persona apropiada para responder a estas
preguntas? ¿Son oficiales sus respuestas?
– Son relevantes mis preguntas para su problema.
– ¿Estoy realizando muchas preguntas?
– ¿Hay alguien más que pueda proporcionar información
adicional?
– ¿Hay algo más que debiera preguntarle?
• Estas preguntas y otras similares ayudan a romper
el hielo y a iniciar la comunicación esencial
17. Ámbito del Software y Factibilidad
• Veamos un ejemplo de ámbito
• Se va a desarrollar un sistema automático de gestión de
pasos a nivel.
– El sistema identifica al tren cuando se encuentra a 1 km del paso a
nivel.
– Una vez identificado se enciende una luz roja, suena una campana
y se baja la barrera.
– La señal debe bajarse en 30 sg. (el tren llega en 72 sg., ya que
circula a 50 km/h).
– Después de que el último vagón del tren pase a 10 m. del paso a
nivel, se levanta la barrera, deja de sonar la campana, y cuando la
barrera está elevada se apaga la luz roja.
• El planificador del proyecto examina la especificación del
ámbito y extra todas las funciones principales del software,
así como el rendimiento y las restricciones.
18. Actividades asociadas ... Ámbito del
software
Función Rendimiento Restricciones
Detectar tren 1 km.
Detectar último 10 m. después paso
vagón
Bajar barrera 30 sg.
Subir barrera
lo más rápido
posible
Encender luz 1 sg.
Apagar luz 1 sg.
Sonar campana 1 sg.
Para campana 1 sg.
La función no es independiente del rendimiento y/o las restricciones
1. e.g. no es lo mismo bajar la barrera en 30 sg. Que en 15 sg.
2. e.g. no es lo mismo detectar el último vagón que detectar al tren
cuando pase a 500 m. después del paso.
19. Actividades asociadas ... Ámbito del
software
• Además del ámbito el software interactúa con otros elementos
• Por tanto el concepto de interfaz también es vital para la
planificación temporal
• Interfaz:
– Hardware.
– Software.
– De usuario.
– Procedimientos.
• Otro aspecto importante durante la estimación es el de la fiabilidad
del
• Software
• Nótese que se mide a posteriori, pero estamos en estimación
• En función del tipo de aplicación este factor se vuelve más o menos
crítico ( ej. Juego, control de avión)
20. Recursos
• La segunda tarea de la planificación del desarrollo de
software es la estimación de recursos requeridos para
acometer el esfuerzo de desarrollo, Estos recursos son:
– Personas.
– Componentes software reutilizables.
– Herramientas de hardware/software.
• Cada recurso queda especificado mediante cuatro
características:
– Descripción del recurso.
– Informe de disponibilidad.
– Fecha cronológica en la que se requiere el recurso.
– Tiempo durante el que será aplicado el recurso.
• Las dos últimas características son la ventana temporal
21. Recursos
• Respecto al personal hay que especificar su
posición en la organización y su especialidad
• El número de personas requerido debe estimarse
como veremos en este tema
• Gran parte de la reutilización del software se debe a
la tecnología de componentes, Respecto a la
planificación, tenemos cuatro tipos de
componentes:
– Ya desarrollados.
– Ya experimentados.
– Con experiencia parcial.
– Nuevos.
22. Estimación de Proyectos de
Software
• Estimar el costo del software es vital
• Las estimaciones nunca podrán ser exactas
• Cuanto mejor estimemos, más rentable será nuestro
proyecto
• Estimar es difícil, ya que:
– Los requisitos iníciales no están totalmente
delimitados.
– Puede que necesitemos utilizar tecnologías nuevas.
• Las personas involucradas en el proyecto
pueden tener distintos grados de experiencia.
23. Estimación de Proyectos de
Software
• Técnicas de estimación
• - Retrasar la estimación lo máximo posible. Cuanto
más la retrasemos, más precisa será.
• Estimación por analogía. Utilizar el costo de
proyectos similares ya terminados.
• Precio para ganar. El costo se estima en todo el
dinero que el cliente puede gastar en el proyecto.
• Técnicas de descomposición. Estiman el costo
descomponiendo el producto y/o el proceso.
• Modelos empíricos. Modelos de regresión que
relacionan esfuerzo con tamaño o funcionalidad
24. Técnicas de Descomposición
• La técnica de descomposición basada en el problema, se
basa en la descomposición del producto en funciones y
estimar el tamaño del software
• Por tanto, la primera estimación que sirve de base para todas
las demás, es la estimación del tamaño del software
• Podemos considerar tres tamaños del software:
– Tamaño en LDC.
– Tamaño en PF.
– Tamaño en Punto Objeto (PO)
• En cualquier caso, la precisión de la estimación depende de:
– El grado en el que el planificador ha estimado adecuadamente el
tamaño del producto a construir.
26. Métrica
Una métrica es, pues, una asignación
de valor a un atributo de una entidad
propia del software, ya sea un
producto o un proceso.
27. • Cuando hablamos de un atributo nos referimos
a una determinada característica que
pretendemos medir y cuantificar.
• Cuando hablamos de un producto nos
referimos, por ejemplo, a un código, un diseño,
una especificación, etc.
• Cuando se habla de un proceso se hace
referencia a una etapa de la construcción del
software y a la manera de llevarlo a cabo: un
diseño, unas pruebas, etc.
Métrica
28. • En general, se puede decir que las diferentes
métricas intentan evaluar tres grandes
magnitudes generales:
• La calidad y el tamaño (a menudo del producto)
y la productividad (frecuentemente del proceso
de construcción del producto), aunque lo hacen
desde muchos puntos de vista diferentes.
Métrica
29. • Las métricas del producto, que miden diferentes
aspectos del software obtenido, a menudo a
partir de código fuente expresado en un
lenguaje informático determinado.
• Las métricas del proceso, que intentan medir
determinados atributos que hacen referencia al
entorno de desarrollo del software y tienen en
cuenta la manera de construirlo.
Métricas del producto y del
proceso
30. • La calidad de un producto, según la definición
del estándar ISO 8402, es el conjunto de
funcionalidades y características de un producto
o servicio que se centran en su capacidad de
satisfacer las necesidades, ya sea implícitas o
bien explicitadas claramente, de un cliente o
usuario.
Métricas de calidad y de
productividad
31. • Las métricas de calidad se asocian a unos
determinados atributos medibles, no siempre
evidentes, para reconocer la presencia o
ausencia de calidad.
• Las métricas de productividad recogen la
eficiencia del proceso de producción de
software y relacionan el software que se ha
construido con el esfuerzo que ha costado
elaborarlo.
Métricas de calidad y de
productividad
32. • A menudo las diferentes unidades de medida se
combinan en indicadores resumidos, como ejemplos
podemos encontrar, entre otros, los siguientes:
– Líneas de código por persona y día (indicador de
productividad).
– Horas para implementar un punto de función (indicador de
productividad).
– Número de errores por cada mil líneas de código
(indicador de calidad).
– Importe monetario por cada millar de líneas de código
(indicador de costo).
– Páginas de documentación por cada mil líneas de código
(indicador de documentación).
Métricas de calidad y de
productividad
33. • La medida habitual del costo es, evidentemente,
la cantidad de dinero que cuesta producir un
software determinado; mientras que las medidas
habituales del esfuerzo se reducen siempre al
trabajo que lleva a cabo un profesional en una
determinada unidad de tiempo: un día (persona-
día), un mes (persona-mes) o un año (persona-
año).
El esfuerzo y la medida de la
productividad
34. • En primer lugar, se habló de hombre-mes como
la tarea que llevaba a cabo un hombre durante
un mes de trabajo. Ésta es la denominación
habitual, que se puede encontrar a menudo
abreviada con la sigla MM, proveniente de la de
nominación inglesa man-month.
Problemas terminológicos del
hombre-mes
35. • Más adelante, pareció que la denominación era
claramente sexista y se buscaron otros nombres
como éstos:
– Persona-mes: un mes de trabajo de una persona del
equipo con independencia del género.
– Staff-month: un mes de trabajo de una persona del
equipo de proyecto.
– Engineering-month: un mes de trabajo en la actividad
de ingeniería del software, que incluye, como ya
sabemos, el análisis, el diseño, la programación y las
pruebas para producir una determinada aplicación o
un sistema de información.
Problemas terminológicos del
hombre-mes
36. El mito del hombre-mes
En resumidas cuentas, llegamos a la conclusión de que los meses y
los hombres (o las mujeres) no son intercambiables.
37. Con el objetivo de medir la productividad del
proceso de construcción de software de
aplicación, debe darse la posibilidad de
determinar las salidas que sean útiles para
relacionarlas después con el volumen del
trabajo o el esfuerzo que representa desarrollar
un producto de software determinado
Hasta aca
Métricas orientadas al tamaño y
a la función
38. se han propuesto también otras unidades de
medida que, en lugar del tamaño, intentan tener
en cuenta la dificultad intrínseca de construir un
software determinado; es decir, métricas que se
refieren no al tamaño del producto final
obtenido, sino a las funcionalidades que éste
incorpora.
Métricas orientadas al tamaño y
a la función
39. • La medida más utilizada para determinar el
tamaño de un proyecto informático ha sido,
durante mucho tiempo, la de las líneas de
código del software final obtenido.
• Algunas definiciones:
– LOC: líneas de código. Es la más habitual y antigua.
– KLOC: miles de líneas de código.
– DSI: instrucciones de código fuente realmente
entregadas, y su múltiplo KDSI.
Las líneas de código
40. • La medida más utilizada para determinar el tamaño
de un proyecto informático ha sido, durante mucho
tiempo, la de las líneas de código del software final
obtenido.
• Algunas definiciones:
– NCSS: líneas de código fuente sin tener en cuenta los
comentarios, y su múltiplo KNCSS
– NSLOC: nuevas líneas de código fuente, tal como se
realiza en el modelo COCOMO 2 para que se tenga en
cuenta que sólo deben contarse las líneas de código
nuevas sin contar las que incorpore automáticamente el
entorno de programación
Las líneas de código
41. • Las ratios de productividad también proceden de los
años setenta y ochenta (de la informática y de los
lenguajes que existían entonces). Estas ratios, que
actúan como estándares de la profesión y que han sido
mencionadas de paso, son las siguientes:
a) 10 LOC por día y persona ocupada en el proyecto,
según Barry W. Boehm a principios de los años ochenta.
b) 350 NCSS por persona y mes, según datos de
comienzos de los años noventa en los proyectos de la
empresa Hewlett Packard recogidos por Robert O.
Grady.
Líneas de código, productividad y
lenguajes de programación
42. Líneas de código, productividad y
lenguajes de programación
Caper T. Jones
43. Líneas de código, productividad y
lenguajes de programación
Caper T. Jones
44. 44
Métricas basadas en la Función
• La métrica del punto de función (PF) se
puede utilizar como medio para predecir el
tamaño de un sistema obtenido a partir de
un modelo de análisis. Para visualizar esta
métrica se utiliza un modelo funcional, el
cual se evaluar para determinar las
siguientes medidas clave que son
necesarias para el cálculo de la métrica de
punto de función:
– Número de entradas del usuario
– Número de salidas del usuario
– Número de consultas del usuario
– Número de archivos
– Número de interfaces externas
45. 45
• La cuenta total debe ajustarse utilizando la
siguiente ecuación:
PF = cuenta-total x (0,65 + 0,01 x Fi)
• Donde cuenta-total es la suma de todas las
entradas PF obtenidas de la figura y Fi (i=1 a
14) son los "valores de ajuste de
complejidad".
Métricas basadas en la Función
46. • Para el ejemplo descrito en la figura se asume que la Fi es 44 (un
producto moderadamente complejo), por consiguiente:
PF = 50 x (0,65 + 0,01 x 44) = 54.5
Factor de ponderación
Parámetro de medición Cuenta Simple Media Compl.
Número de entradas del
usuario
3 X 3 4 6 = 9
Número de salidas del usuario 2 X 4 5 7 = 8
Número de consultas del
usuario
2 X 3 4 6 = 6
Número de archivos 1 X 7 10 15 = 7
Número de interfaces externas 4 X 5 7 10 = 20
Cuenta total 50
Cálculo de puntos de función
47. • Basándose en el valor previsto del PF obtenido del
modelo de análisis, el equipo del proyecto puede
estimar el tamaño global de implementación de las
funciones de interacción.
• Asuma que los datos de los que se dispone indican que
un PF supone 60 líneas de código (se utilizará un
lenguaje orientado a objetos) y que en un esfuerzo de
un mes-persona se producen 12 PF.
Métricas basadas en la Función
50. La única manera segura de poder tener unos
estándares de productividad buenos y dignos de
ser utilizados es no depender de lo que dicen
libros y artículos (con datos obtenidos en
condiciones a menudo bien diferentes) y
disponer de los datos de productividad propios,
datos que pueden haber sido obtenidos en
proyectos anteriores del mismo tipo (en cuanto
a aplicación y tecnología) y con equipos de
desarrollo de calificaciones y características
personales conocidos.
……….?
51. Ing. José Luis Cerrón Pérez
Modelos de Estimación de Costos de
Proyectos Informáticos
52. • La gestión de un proyecto informático de gestión
empieza con la calificación del proyecto, que
pretende, en primer lugar, obtener una idea del
volumen de trabajo que costará construir la
aplicación (estimación) y, en segundo lugar,
planificar en el tiempo las diferentes actividades
que es necesario llevar a cabo (planificación).
Estimación de costos
53. • La primera de estas etapas se conoce también
con el nombre de estimación de costos de un
proyecto informático, ya que a partir del
esfuerzo de trabajo estimado se obtendrá el
presupuesto. Del mismo modo, después de la
planificación y el reparto en el calendario de las
tareas que se deben a realizar, se obtienen los
plazos, etapa que también se conoce con el
nombre de tiempo de desarrollo del proyecto.
Estimación de costos
54. • La mayor parte del costo del software se
encuentra hoy en el costo de las horas de
análisis, diseño, programación y prueba que se
deben utilizar para obtenerlo. Por ello, cuando
aquí se habla de estimación de costos se hace
referencia, exclusivamente, al esfuerzo humano
que ha sido necesario, es decir, a las horas de
trabajo requeridas para construir el software.
Estimación de costos
55. • En palabras de de Marco:
“No hay modelos de costo transportables. Si
esperas que alguien en otro lugar desarrolle un
conjunto de fórmulas que puedas utilizar para
prever el coste en tu propia instalación,
probablemente tendrás que esperar para
siempre.”
T. de Marco (1982, pág. 155).
Estimación de costos
56. • De Marco propone dos definiciones sucesivas
muy realistas de lo que es una estimación:
– Definición implícita de estimación: una estimación es
la predicción más optimista que tiene una
probabilidad no nula de llegar a ser cierta.
– Definición propuesta por de Marco: una estimación es
una predicción que tiene la misma probabilidad de
estar por encima que de estar por debajo del
resultado real.
Estimación de costos
57. En resumidas cuentas, estimar la carga de trabajo
que es necesario llevar a cabo para la
construcción de software de aplicación es una
tarea que normalmente debe fracasar.
Estimación de costos
58. Momento de la estimación y
grado de exactitud
Fuente: Gráfico adaptado de Cost Models for Future Life Cycle Process: COCOMO 2.0 de B.W. Boehm
59. Modelos de estimación
La idea de los modelos de estimación es la de
proporcionar sistemas y métodos generales
para proceder a realizar la estimación de costos
en la construcción de software de aplicación.
60. Modelos de estimación
Los diferentes modelos de estimación de costes
y/o esfuerzos en la construcción de software se
pueden dividir en cinco grandes grupos
principales:
1. Modelos con base histórica.
2. Modelos con base estadística.
3. Teóricos.
4. Compuestos.
5. Basados en estándares.
61. Modelos de estimación
Modelos con base histórica.
– Los modelos de base histórica son los más
antiguos y, en cierta manera, primitivos.
– A menudo se basan en la analogía con otros
proyectos parecidos y se fundamentan casi
exclusivamente en la experiencia profesional (la
“historia”) de los que efectúan la estimación.
62. Modelos de estimación
Modelos con base estadística.
• A partir del estudio estadístico de los datos reales
disponibles tomados de un conjunto más o menos
numeroso de proyectos ya acabados, obtienen
fórmulas que relacionan las diferentes unidades de
medida del software, a menudo las líneas de
código (LOC) y el esfuerzo (generalmente medido
en hombre-mes).
63. Modelos de estimación
Teóricos.
• Estos modelos, más que basarse en datos
estadísticos disponibles, lo que hacen es partir de
una serie de ideas generales sobre el proceso de
construcción de software y, sobre esta teoría,
elaboran fórmulas que relacionan diferentes
métricas de software.
64. Modelos de estimación
Compuestos.
• Estos modelos intentan obtener las ventajas de los
dos sistemas anteriores: estadísticos y teóricos. Es
decir, se parte de una serie de planteamientos
teóricos y se complementan o corrigen con datos
estadísticos obtenidos de proyectos reales ya
acabados.
65. Los modelos COCOMO
COCOMO es el modelo de construcción de costes
más conocido y utilizado de los modelos
algorítmicos compuestos que se basan sobre
todo en datos estadísticos, pero también en
ecuaciones analíticas y en un ajuste fruto de la
opinión de expertos.
66. El COCOMO clásico de 1981
• El COCOMO clásico lo forman, en realidad, tres
modelos diferentes, que tienen en cuenta
diferentes grados de complejidad:
• El COCOMO básico es un modelo estático válido para
obtener una estimación rápida del esfuerzo (meses-hombre)
en función del tamaño (KLOC) al inicio del ciclo de vida.
67. El COCOMO clásico de 1981
• El COCOMO clásico lo forman, en realidad, tres
modelos diferentes, que tienen en cuenta
diferentes grados de complejidad:
• El COCOMO intermedio añade al cálculo del esfuerzo en
función del tamaño, el efecto de unos atributos que influyen
en el coste (CDA), con los cuales se quiere tener en cuenta
el tipo de aplicación y tecnología, las calificaciones y la
experiencia del personal, el entorno de diseño y
programación y las herramientas de las que dispone, etc.
68. El COCOMO clásico de 1981
• El COCOMO clásico lo forman, en realidad, tres
modelos diferentes, que tienen en cuenta
diferentes grados de complejidad:
• El COCOMO adelantado incorpora todas las características
de la versión intermedia, pero en lugar de evaluar los CDA
con un único valor para todo el ciclo de vida, tiene en cuenta
diferentes CDA para cada fase* de la construcción del
software.
69. El COCOMO clásico de 1981
• Las ecuaciones del modelo COCOMO tienen siempre la
forma general que mostramos a continuación:
• E = a · Lb · CDA
• T = c · Ed
– E es el esfuerzo (en personas-mes).
– L son las líneas de código (en KLOC)
– T es el tiempo de desarrollo del proyecto (en meses)
– CDA los cost driven attributes.
– Finalmente a, b, c y d son coeficientes que el modelo
proporciona como resultado del análisis de los datos de sesenta
y tres proyectos realizados entre 1965 y 1980.
70. El COCOMO clásico de 1981
• Además de los tres modelos, COCOMO tiene
en cuenta varios tipos de proyecto, ya que no
se obtienen los mismos datos de productividad
en todos los casos.
a) Orgánico.
b) Semiacoplado.
c) Encajado.
71. El COCOMO clásico de 1981
• Los coeficientes que corresponden al modelo
básico.
72. El COCOMO clásico de 1981
• Los coeficientes que corresponden al modelo
intermedio.
75. El COCOMO clásico de 1981
• En resumidas cuentas, el modelo COCOMO es
el más serio y completo de los que existen,
aunque los resultados que se obtienen pueden
haber quedado obsoletos por la evolución y los
cambios que ha sufrido la informática en los
últimos veinte años.
76. El COCOMO II de los años
noventa y a partir del 2000
• El nuevo modelo COCOMO II tiene como
objetivo principal desarrollar un modelo de
estimación de costos y planificación del
software especialmente adecuado para los
ciclos de vida.
• el COCOMO II incluye tres modelos que
corresponden a diferentes fases y modalidades
del futuro ciclo de vida.
77. El COCOMO II de los años
noventa y a partir del 2000
• Modelo de composición de aplicaciones:
– incluye el uso de prototipos para disminuir los
riesgos potenciales que surgen con las interfaces
gráficas de usuario típicas de herramientas RAD y
otras herramientas actuales de productividad y de la
orientación a objetos.
– En este modelo se definen unos puntos objeto que
vendrían a ser una adaptación y modernización de
los puntos de función
78. El COCOMO II de los años
noventa y a partir del 2000
• Modelo de diseño primerizo :
– intenta obtener una primera aproximación en las
fases iniciales del ciclo de vida, cuando todavía se
conocen pocas de las características y datos
definitivos del proyecto.
– Utiliza como primitivas de salida tanto las líneas de
código como los clásicos puntos de función.
79. El COCOMO II de los años
noventa y a partir del 2000
• Modelo de postarquitectura:
– Se aplica cuando se considera que el proyecto
dispone ya de requerimientos estables. Por otra
parte, también utiliza como primitivas de salida las
líneas de código y los puntos de función.
– Además, tiene en cuenta indicadores de la
reutilización de software, cinco factores de escala y
hasta diecisiete factores específicos diferentes
80. Uso de estándares de
productividad
• No es fácil, en la práctica, encontrar cuál es el
modelo que más se ajusta a la realidad del
proyecto informático que todavía está por
empezar y que preocupa al jefe de proyecto
que debe llevar a cabo la estimación de las
cargas y los costos.
81. Uso de estándares de
productividad
• En lugar de cuantificar cada actividad o conjunto
de estas características funcionales en líneas de
código o puntos de función y buscar modelos
que conviertan estas métricas en esfuerzo
(meses-hombre), es suficiente disponer
directamente, para cada actividad, del esfuerzo
estándar que ha requerido en otros proyectos
anteriores.
82. Uso de estándares de
productividad
• Según la opinión de un experto como Jones, se
dan las equivalencias prácticas siguientes:
– 1 FP = 100 LOC.
– FP elevado a 0,4 = meses de desarrollo.
– FP/150 = número de personas que son necesarias
para el desarrollo.
– FP/500 = número de personas necesarias para el
mantenimiento futuro.
83. Uso de estándares de
productividad
• Según la opinión de un experto como Jones, se
dan las equivalencias prácticas siguientes:
– FP elevado a 1,15 = número de páginas de
documentación.
– FP elevado a 1,2 = número de casos de prueba que
se realizan.
– FP elevado en 1,25 = potencial de errores (en
proyectos nuevos).
– FP elevado a 0,25 = número de años que seguirá en
uso la aplicación.