jueves, 16 de junio de 2016

Ciclo de Vida del Software

Un cordial saludo mis estimados estudiantes,
en esta oportunidad utilizaremos esta herramienta para compartir opiniones sobre el ciclo de vida del software.
Su participación se basa en lo siguiente: 
  • Realice una investigación y lectura previa referente al ciclo de vida de desarrollo de software y los diversos modelos existentes, Elija uno de los modelos de desarrollo de software (verifique que aun no ha sido seleccionado o comentado por otro compañer@) y realice una entrada en el blog mencionando sus características, comparación con algún otro modelo y desde su punto de vista cual es la importancia de aplicar uno de estos modelos al proceso de desarrollo de un sistema de información. 
Recuerde colocar como referencia los enlaces a los sitios web visitados para realizar su participación. Por Ejemplo:
  1. Teoría del ciclo de vida del software
Cualquier duda, pueden consultar a través del ambiente virtual de aprendizaje de la unidad curricular.

12 comentarios:

  1. Ciclo de vida cascada

    En los años 70 se impuso un nuevo enfoque de desarrollo del software, introducido por Royce en 1970, a través de un ciclo de vida en “cascada” (así denominado por la disposición de las distintas fases de desarrollo, en las que los resultados de una fase parecen caer en cascada hacia la siguiente fase, tal como se muestra en la Figura El método ideado por Royce constituye uno de los primeros modelos de ciclo de vida publicados, por lo que también recibe el nombre de modelo de ciclo de vida clásico. Este método modela el ciclo convencional de la Ingeniería del Software, aplicando un enfoque sistemático y secuencial de desarrollo que comienza con la ingeniería del sistema y progresa a través del análisis, diseño, codificación, pruebas y mantenimiento.

    Desde mi punto de vista creo que a la hora de desarrollar un un sistema de informacion el modelo cascada es de mucha ayuda y es importante destacar ya que una secuencia de fases en la que al final de cada una de ellas se reúne la documentación para garantizar que cumple las especificaciones y los requisitos antes de pasar a la fase siguiente.
    Isaías arguelles

    ResponderBorrar
  2. Modelo V

    El modelo de ciclo de vida V proviene del principio que establece que los procedimientos utilizados para probar si la aplicación cumple las especificaciones ya deben haberse creado en la fase de diseño.
    entre estas carcteristicas se encuentra:
    especificaciones
    diseño preliminar.
    diseño en detalle.
    programacion.
    prueba de unidad con diseño de detalle.
    integracion con diseño preliminar.
    en pocas palabras esla union entre las lineas continuas de la fase izquierda con la derecha que representa una doble informacion.
    calificacion, que tiene que ver con las especificaciones.
    Para mas informacion visite: http://es.ccm.net/contents/223-ciclo-de-vida-del-software

    ResponderBorrar
  3. El modelo Espiral de Boehm para Ingeniería de Software en el año 1986, agrupa las mejores características del modelo del ciclo de vida clásico y de prototipos. Pero también agrega nuevas funciones que no están incluidas en los otros modelos, como el análisis de riesgo. El modelo espiral define cuatro actividades principales para el ciclo de vida.

    Planificación: La determinación de los objetivos del proyecto, alternativas y restricciones.

    Análisis de Riesgo: El análisis de alternativas y la identificación y solución de riesgos.

    Ingeniería: Desarrollo del producto.

    Evaluación del cliente: El asentimiento de los resultados de la ingeniería.

    El modelo es representado por una espiral dividida en cuatro cuadrantes, en que cada uno describe las actividades mencionadas anteriormente. El modelo espiral utiliza un esquema de desarrollo iterativo donde la primera iteración comienza en el centro del círculo e, incrementalmente, se va desplazando hacia afuera. Las siguientes iteraciones sucesivas son versiones más completas del software que está siendo construido. Al principio de cada iteración del ciclo de vida se hace un análisis de riesgo, mientras, por el otro extremo, la revisión del proyecto se realiza al final de la iteración. Así, se puede contrarrestar cualquier riesgo observado mediante las acciones adecuadas en el tiempo preciso. http://html.rincondelvago.com/modelos-de-desarrollo-de-software.html

    Desde mi punto de vista este modelo es uno de los más efectivos para el desarrollo de los sistemas de información, ya que reduce los riesgos del proyecto, incorpora objetivos de calidad, integra el desarrollo con el mantenimiento, etc. Tambien se puede decir que es un modelo costoso, debido a que es actualizado de forma constante por iteración en cada una de sus fases (planificacion, analisis de riesgo, ingenieria y evaluación del cliente), También utiliza el enfoque de sistematización y el 'desarrollo en etapas' del ciclo de vida clásico, pero, con la diferencia que todos están incorporados dentro del esquema iterativo planteado por el modelo espiral. Deivis Fernandez #19.927.941

    ResponderBorrar
  4. Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software.
    El primer ciclo de vida del software, "Cascada", fue definido por Winston Royce a fines del 70. Desde entonces muchos equipos de desarrollo han seguido este modelo. Sin embargo, ya desde 10 a 15 años atrás, el modelo cascada ha sido sujeto a numerosas críticas, debido a que es restrictivo y rígido, lo cual dificulta el desarrollo de proyectos de software moderno. En su lugar, muchos modelos nuevos de ciclo de vida han sido propuestos, incluyendo modelos que pretenden desarrollar software más rápidamente, o más incrementalmente o de una forma más evolutiva, o precediendo el desarrollo a escala total con algún conjunto de prototipos rápidos.

    Modelo Concurrente
    Como el modelo espiral, el modelo concurrente provee una meta-descripción del proceso software. Mientras que la contribución primaria del modelo espiral es en realidad que esas actividades del software ocurran repetidamente, la contribución del modelo concurrente es su capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.

    Esto no sorprende a nadie que ha estado involucrado con las diversas actividades que ocurren en algún tiempo del proceso de desarrollo de software. Discutamos un poco tales casos:
    Los requerimientos son usualmente "líneas de base", cuando una mayoría de los requerimientos comienzan a ser bien entendidos, en este tiempo se dedica un esfuerzo considerable al diseño. Sin embargo, una vez que comienza el diseño, cambios a los requerimientos son comunes y frecuentes (después de todo, los problemas reales cambian, y nuestro entendimiento de los problemas desarrollados también). Es desaconsejado detener el diseño en este camino cuando los requerimientos cambian; en su lugar, existe una necesidad de modificar y rehacer líneas de base de los requerimientos mientras progresa el diseño. Por supuesto, dependiendo del impacto de los cambios de los requerimientos el diseño puede no ser afectado, medianamente afectado o se requerirá comenzar todo de nuevo.

    ResponderBorrar
  5. Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociadas entre estas etapas.

    Un modelo de ciclo de vida del software:

    Describe las fases principales de desarrollo de software.

    Define las fases primarias esperadas de ser ejecutadas durante esas fases.

    Ayuda a administrar el progreso del desarrollo, y

    Provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.

    Así, los modelos por una parte suministran una guía para los ingenieros de software con el fin de ordenar las diversas actividades técnicas en el proyecto, por otra parte suministran un marco para la administración del desarrollo y el mantenimiento, en el sentido en que permiten estimar recursos, definir puntos de control intermedios, monitorear el avance, etc.

    Modelo De Desarrollo Incremental

    Los riesgos asociados con el desarrollo de sistemas largos y complejos son enormes. Una forma de reducir los riesgos es construir sólo una parte del sistema, reservando otros aspectos para niveles posteriores. El desarrollo incremental es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema. Típicamente, un documento de requerimientos es escrito al capturar todos los requerimientos para el sistema completo.

    Note que el desarrollo incremental es 100% compatible con el modelo cascada. El desarrollo incremental no demanda una forma específica de observar el desarrollo de algún otro incremento. Así, el modelo cascada puede ser usado para administrar cada esfuerzo de desarrollo, como se muestra en la figura.

    El modelo de desarrollo incremental provee algunos beneficios significativos para los proyectos:

    Construir un sistema pequeño es siempre menos riesgoso que construir un sistema grande.

    Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los requerimientos planeados para los niveles subsiguientes son correctos.

    Si un error importante es realizado, sólo la última iteración necesita ser descartada.

    Reduciendo el tiempo de desarrollo de un sistema (en este caso en incremento del sistema) decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo.

    Si un error importante es realizado, el incremento previo puede ser usado.

    Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento.

    ResponderBorrar
  6. El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.
    Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.

    MODELO EVOLUTIVO
    Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado; incluso evolucionar más allá, durante la fase desoftwareón. Los modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más conocidos y utilizados del tipo evolutivo.
    La idea detrás de este modelo es el desarrollo de una implantación del sistema inicial, exponerla a los comentarios del usuario, refinarla en N versiones hasta que se desarrolle el sistema adecuado.Una ventaja de este modelo es que se obtiene una rápida realimentación del usuario, ya que las actividades de especificación, desarrollo y pruebas se ejecutan en cada iteración.

    Existen dos tipos de desarrollo evolutivo:
    · Desarrollo Exploratorio: El objetivo de este enfoque es explorar con el usuario los requisitos hasta llegar a un sistema final. El desarrollo comienza con las partes que se tiene más claras. El sistema evoluciona conforme se añaden nuevas características propuestas por el usuario.

    · Enfoque utilizando prototipos: El objetivo es entender los requisitos del usuario y trabajar para mejorar la calidad de los requisitos. A diferencia del desarrollo exploratorio, se comienza por definir los requisitos que no están claros para el usuario y se utiliza un prototipo para experimentar con ellos. El prototipo ayuda a terminar de definir estos requisitos.

    VENTAJAS

    · La especificación puede desarrollarse de forma creciente.

    · Los usuarios y desarrolladores logran un mejor entendimiento del sistema. Esto se refleja en una mejora de la calidad del software.

    · Es más efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas del cliente.


    DESVENTAJAS

    Proceso no Visible: Los administradores necesitan entregas para medir el progreso. Si el sistema se necesita desarrollar rápido, no es efectivo producir documentos que reflejen cada versión del sistema.

    · Sistemas pobremente estructurados: Los cambios continuos pueden ser perjudiciales para la estructura del software haciendo costoso el mantenimiento.

    · Se requieren técnicas y herramientas: Para el rápido desarrollo se necesitan herramientas que pueden ser incompatibles con otras o que poca gente sabe utilizar.

    http://www.ecured.cu/Ciclo_de_vida_del_software
    http://es.ccm.net/contents/223-ciclo-de-vida-del-software

    ResponderBorrar
  7. Buenas, espero se encuentren bien mi interpretación con respecto al ciclo de vida del software se basa en las normas ISO 12207-1donde nos plantea que es el "Marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso” - en este sentido el ciclo de vida del software se encarga de todas las actividades que se planteen para el desarrollo del sistema desde el comienzo de la fase, hasta su culminación, mediante una revisión exsahustiva en todas las etapas del ciclo, asi mismo esta comprende los diferentes métodos por el cual se pueden llevar a cabo dichas tareas y mantenimiento del producto, en este caso les planteo el Método Interactivo que es básicamente un modelo de desarrollo del software creado para satisfacer las necesidades o debilidades que se encuentran en el modelo de desarrollo de cascada, así mismo este modelo es basicamente un conjunto de tareas y especificaciones agrupada en etapas repetitivas y en sus actividades involucra al usuario con la finalidad de reducir el riesgo entre las necesidades que plantea el usuario y el resultado final del producto.
    En otras palabras Consiste en la iteración de varios ciclos de vida en cascada. Al final de cada iteración se l hace entraga al usuario o cliente una versión mejorada o con mayores funcionalidades del product para que de esta manera el cliente después de cada iteración, evalúa el producto y lo corrige o propone mejoras. Estas iteraciones se repetirán hasta obtener un producto que satisfaga las necesidades del mismo. Si desean leer mas de este método ingresen a los sigues enlaces

    http://www.iedge.eu/pablo-almunia-ciclo-de-vida-en-el-desarrollo-de-software-primera-parte
    https://procesosoftware.wikispaces.com/Modelo+Iterativo

    ResponderBorrar
  8. Buenas Noches, les vengo a comentar sobre uno de los modelos de proceso incremental denominado MODELO DRA (DESARROLLO RÁPIDO DE APLICACIONES), el cual es una adaptación a "alta velocidad" del Modelo en Cascada en el que se logra el desarrollo rápido mediante un enfoque de construcción basado en componentes. Permite a su vez crear un sistema completamente funcional en un periodo muy corto.

    Etapas
    ------

    A.- Modelado de Gestión: Se debe buscar todas las fuentes de información y las relaciones entre estas, ¿Qué genera los datos?, ¿Cómo los genera?, ¿Con qué objetivo?, ¿Cómo se usan y se manejan? etcétera.

    B.- Modelado de datos: Una vez establecida la información y sus fuentes, se crean objetos de datos, que tienen características propias o atributos, que los diferencian entre si.

    C.- Modelado de proceso: En está etapa se deben tomar los objetos de datos creados en la anterior, para definir procesos que tenga como función agregar, modificar, eliminar y recuperar los objetos de datos para su uso en la aplicación.

    D.- Generación de la aplicación: Como el modelo DRA está orientado a componentes, se busca reutilizar todos los componentes que son adecuados para la aplicación y desarrollar todos aquellos que son necesarios.

    E.- Implementación y pruebas: Debido a que la aplicación se desarrolla con componentes, estos ya se han depurado, Sin embargo se deben evaluar todos los componentes nuevos.

    Desventajas
    -----------

    1.- Necesita muchos recursos humanos.
    2.- Los desarrolladores y los clientes deben involucrarse con las actividades del desarrollo del sistema.
    3.- La construcción de componentes es complicada.
    4.- Si se convierte interfaces en componentes el DRA no funcionará.
    5.- Es inapropiado con riesgos técnicos muy altos.

    A manera de análisis, El modelo DRA puede ser usado cuando en la etapa de gestión se han definido los módulos principales y se considera que se pueden desarrollar en menos de noventa días, para tal fin se definen las funciones principales del sistema y cada equipo construye una de ellas, y al final del ciclo estas se acoplan en una sola aplicación.

    No es un modelo perfecto, y no es recomendable usarlo cuando el sistema es muy grande, pues hay que contratar muchas personas para conformar todos los equipos de desarrollo necesarios; tampoco se recomienda su uso cuando el riesgo técnico es elevado, o se trabaja con nuevas tecnologías, debido a que exigen un mayor cuidado y tiempo, y por ultimo DRA, no se puede trabajar en sistemas donde el modelamiento de sus funciones no es claro y requiere de análisis mas profundos.

    Fuentes: https://es.scribd.com/doc/19162245/Unidad-5-Modelo-Desarrollo-Software

    http://es.slideshare.net/toryneutral/el-modelo-dra

    ResponderBorrar
  9. Todo proyecto de ingeniería tiene unos fines ligados a la obtención de un producto, proceso o servicio que es necesario generar a través de diversas actividades. Algunas de estas actividades pueden agruparse en fases porque globalmente contribuyen a obtener un producto intermedio, necesario para continuar hacia el producto final y facilitar la gestión del proyecto. Al conjunto de las fases empleadas se le denomina “ciclo de vida”.

    MODELO SASHIMI: Se permite un solapamiento entre fases, es decir, que por cada fase se puede interrumpir la misma para corregir o arreglar algo en ese momento, sin necesidad de terminarla o sin finalizar todo el diseño del ciclo.

    Ventajas

    -La ganancia de calidad en lo que respecta al producto final, la falta de necesidad de una documentación detallada (el ahorro proviene por el solapado de las etapas).

    -Otra ventaja de este modelo es que no necesita generar tanta documentación como el ciclo de vida en cascada debido a la continuidad del mismo personal entre fases.

    DESVENTAJAS

    -También se refieren al solapamiento de las etapas: es muy difícil gestionar el comienzo y fin de cada etapa y los problemas de la comunicación, si aparecen, generan inconsistencias en el proyecto.

    -Más difícil controlar el progreso del proyecto debido a que los finales de fase ya no son un punto de referencia claro.

    -Al hacer cosas en paralelo si hay problemas de comunicación pueden surgir inconsistencias.

    Desde mi punto de vista puedo decir, que este modelo aunque parece ser complicado es uno de los mas faciles. unas de sus cualidades es que a diferencia del modelo cascada este no necesita de una documentacion ta detallada, sino una documentacion un poco mas simple.

    ResponderBorrar
  10. Ciclo de Vida del Software

    Hola a todos aca les hablare un poco sobre lo que entendi de los ciclos de vida de un software y los modelos que existen

    EL siclo de vida de software no es mas que las actividades que ocurren durante el desarrollo del software, es donde se determina el orden de las etapas involucradas y los criterios de transicion asociadas entre etapas.
    El primer ciclo de vida de software fue el cascada y fue creado por Winston Royce a fines de los 70.

    Asi como el modelo cascada existen otros tipos de ciclo de vida de software entre los cuales se encuantra los siguiente incluyendo el cascada, dare una pequeña descripcion de cada uno de ellos.

    Modelo cascada

    De todos los modelos este es el primero que fue creado y el mas basico y sirve como bloque de construccion para los demas modelos de ciclo de vida, la vision del modelo casacada del desarrollo del software es muy simple, donde el desarrollo de software se hace atravez de una secuancia simple de fases.

    Modelo de desarrollo incremental

    El desarrollo incremental es 100% compatible con el modelo cascada. El desarrollo incremental no demanda una forma específica de observar el desarrollo de algún otro incremento.

    Modelo de desarrollo evolutivo

    El desarrollo de software en forma evolutiva requiere un especial cuidado en la manipulación de documentos, programas, datos de test, etc. desarrollados para distintas versiones del software. Cada paso debe ser registrado, la documentación debe ser recuperada con facilidad, los cambios deben ser efectuados de una manera controlada.

    Modelo Espiral

    El modelo espiral de los procesos software es un modelo del ciclo de meta-vida. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza. Además, en cada desarrollo ejecutado, puedes seguir estos cuatros pasos:



    Determinar qué quieres lograr.

    Determinar las rutas alternativas que puedes tomar para lograr estas metas. Por cada una, analizar los riesgos y resultados finales, y seleccionar la mejor.

    Seguir la alternativa seleccionada en el paso 2.

    Establecer qué tienes terminado.

    Modelo concurrente

    Como el modelo espiral, el modelo concurrente provee una meta-descripción del proceso software. Mientras que la contribución primaria del modelo espiral es en realidad que esas actividades del software ocurran repetidamente, la contribución del modelo concurrente es su capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.

    En Fin todos estos modelos de ciclo de vida de software nos Permiten la visualizacion y implementacion a la hora de desarrollar un software algunos resultan ser mas veneficiosos ya que su modo de operar depende de cada uno de los modelos.

    ResponderBorrar
  11. Ciclo de vida del software

    El ciclo de vida del desarrollo del software sigue un enfoque orientado a funciones. Por esta razón el análisis estructurado hace énfasis en los diagramas de flujos de datos, siguiendo el movimiento de los datos a través de una secuencia de transformaciones y refinando estas a través de una serie de niveles.

    El termino ciclo de vida del software describe el desarrollo del software desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo, se asegura de que los métodos utilizados son los apropiados.

    El ciclo de vida básico de un software consta de los siguientes procedimientos como son : definición de objetivos, análisis de los requisitos y su viabilidad, diseño general, diseño de detalles, programación (programación e implementacion ) prueba de unidad, integración, prueba beta, documentación, implementación y mantenimiento.

    El orden de estos procedimientos depende del tipo de modelo de ciclo de vida entre los cuales tenemos:
    Modelo en cascada.
    Modelo basado en prototipos.
    Modelo incremental o evolutivo.
    Modelo espiral.
    Modelo orientado a objetos.
    Modelo cascada con sub- procesos.
    Modelo entrega por etapas.

    Francis nuñez

    ResponderBorrar
  12. En este sentido el ciclo de vida del software se encarga de todas las actividades que se planteen para el desarrollo del sistema desde el comienzo de la fase, hasta su culminación, mediante una revisión exsahustiva en todas las etapas del ciclo.
    El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.
    Modelos de ciclo de vida

    Para facilitar una metodología común entre el cliente y la compañía de software, los modelos de ciclo de vida se han actualizado para reflejar las etapas de desarrollo involucradas y la documentación requerida, de manera que cada etapa se valide antes de continuar con la siguiente etapa.
    Métodos rápidos

    "El desarrollo de software de "métodos rápidos" (también denominado Modelo rápido o abreviado AG) reduce el tiempo del ciclo de vida del software (por lo tanto, acelera el desarrollo) al desarrollar, en primera instancia, una versión prototipo y después integrar la funcionalidad de manera iterativa para satisfacer los requisitos del cliente y controlar todo el ciclo de desarrollo.

    Los métodos rápidos se originaron por la inestabilidad del entorno técnico y el hecho de que el cliente a veces es incapaz de definir cada uno de los requisitos al inicio del proyecto. El término "rápido" es una referencia a la capacidad de adaptarse a los cambios de contexto y a los cambios de especificaciones que ocurren durante el proceso de desarrollo. Por lo tanto, en el año 2001, 17 personas redactaron el manifiesto ágil, en el que expresaron los siguientes puntos principales:

    individuos e interacciones en lugar de procesos y herramientas
    desarrollo de software en lugar de documentación exhaustiva
    trabajo con el cliente en lugar de negociaciones contractuales
    apertura para los cambios en lugar de cumplimiento de planes poco flexibles

    Con la ayuda de los métodos rápidos, el cliente tiene control total de su proyecto y logra una rápida implementación del software. De esta forma, se permite al usuario involucrarse desde el inicio del proyecto.


    http://es.ccm.net/contents/223-ciclo-de-vida-del-software

    ResponderBorrar