<\/span><\/h3>\nLa fase inicial del ciclo de vida de un software se basa en la planificaci\u00f3n, un proceso que considera el an\u00e1lisis de los requisitos exigidos por el cliente del producto<\/strong>. Adem\u00e1s, durante esta etapa tambi\u00e9n se determinan los par\u00e1metros relacionados con las funciones que deber\u00e1 cumplir el software que est\u00e1 por ser desarrollado.<\/p>\nA partir de esta informaci\u00f3n, el equipo de desarrollo puede tener una visi\u00f3n clara de qu\u00e9 es lo que se desea lograr por medio del uso del software solicitado y cu\u00e1l debe ser su funcionalidad bajo todas las condiciones establecidas por el cliente. Debido a la importancia del an\u00e1lisis preliminar que se lleva a cabo en esta primera fase, se considera que la etapa de planificaci\u00f3n y an\u00e1lisis es la m\u00e1s importante de todas.<\/p>\n
<\/span>Fase de implementaci\u00f3n, pruebas y documentaci\u00f3n<\/span><\/h3>\nLa segunda fase se basa en tres etapas que buscan un solo fin; desarrollar el software. En este sentido, las etapas de implementaci\u00f3n, pruebas y documentaci\u00f3n se basan en lo siguiente:<\/p>\n
\n- Implementaci\u00f3n: <\/strong>Se trata del proceso de programaci\u00f3n del c\u00f3digo del software por parte de los desarrolladores e ingenieros de software a partir de la informaci\u00f3n obtenida en base a la fase de planificaci\u00f3n y an\u00e1lisis.<\/li>\n
- Pruebas: <\/strong>No es m\u00e1s que el testeo de todos los elementos del software programado con el fin de detectar errores y corregirlos de forma oportuna antes de avanzar a las siguientes etapas de desarrollo.<\/li>\n
- Documentaci\u00f3n:<\/strong> Consiste en registrar y documentar el dise\u00f1o del software con el fin de generar un material bibliogr\u00e1fico que sirva para realizar mantenimiento o futuras mejoras al proyecto durante etapas posteriores del desarrollo.<\/li>\n<\/ul>\n
<\/span>Fase de despliegue y mantenimiento<\/span><\/h3>\nCorresponde a las etapas de control que se llevan a cabo sobre el producto una vez que \u00e9ste se encuentra en distribuci\u00f3n<\/strong>. Durante esta fase se realiza la instalaci\u00f3n del software, as\u00ed como la personalizaci\u00f3n y diferentes pruebas que pueden ser monitoreadas por el personal t\u00e9cnico responsable del software. En este sentido, el despliegue hace referencia a la distribuci\u00f3n del producto y la capacitaci\u00f3n de los usuarios para hacer uso del mismo. En cuanto al mantenimiento,\u00a0 se refiere al mejoramiento o modificaci\u00f3n del c\u00f3digo del programa con el fin de eliminar posibles problemas que no hayan sido detectados durante la fase de pruebas.<\/p>\n<\/span>Modelos<\/span><\/h2>\nExisten diferentes modelos empleados para desarrollar el ciclo de vida de un software, estos permiten que las compa\u00f1\u00edas desarrolladora sigan un protocolo aprobado y l\u00f3gico para de creaci\u00f3n de un programa.<\/p>\n
<\/span>Modelo en cascada<\/span><\/h3>\n<\/p>\n
Se trata de un modelo tradicional<\/strong> que empez\u00f3 a utilizarse durante el a\u00f1o 1966. El modelo en cascada se basa en una serie de etapas secuenciales<\/strong> que establecen un orden l\u00f3gico para llevar a cabo las etapas de desarrollo de un software. As\u00ed, seg\u00fan el modelo en Cascada, se sigue el siguiente orden:<\/p>\n\n- Recolecci\u00f3n de requisitos.<\/li>\n
- Dise\u00f1o del software.<\/li>\n
- Construcci\u00f3n o Implementaci\u00f3n del software.<\/li>\n
- Integraci\u00f3n.<\/li>\n
- Pruebas\u00a0(o\u00a0validaci\u00f3n).<\/li>\n
- Despliegue\u00a0(o\u00a0instalaci\u00f3n).<\/li>\n
- Mantenimiento.<\/li>\n<\/ol>\n
<\/span>Modelo de espiral<\/span><\/h3>\n<\/p>\n
Es un modelo evolutivo<\/strong> que se centra en el an\u00e1lisis de riesgo durante ciertas etapas de desarrollo, y as\u00ed determinar el curso de desarrollo<\/em> a seguir. Este sigue un proceso iterativo (de repeticiones), a trav\u00e9s de las etapas de an\u00e1lisis de riesgo, desarrollo y pruebas, planificaci\u00f3n y determinaci\u00f3n de objetivos.<\/strong> Generalmente (con respecto al esquema) se avanza en un sentido 'horario', desde el centro del espiral; aunque no siempre se sigue un orden espec\u00edfico.<\/p>\nGeneralmente se inicia por el an\u00e1lisis de riegos<\/strong>, all\u00ed se tienen en cuenta las limitaciones y contratiempos que podr\u00eda tener u ocasionar el producto. Definido esto, se pasa los dem\u00e1s 'cuadrantes', en donde se establece una planificaci\u00f3n conforme a los objetivos trazados.<\/p>\n<\/span>Desarrollo \u00e1gil<\/span><\/h3>\nEste modelo de desarrollo<\/strong> es uno interactivo<\/strong>, en donde se ponen a prueba versiones incompletas del software con la intenci\u00f3n de recibir respuestas retroalimentativas de este procedimiento, focaliz\u00e1ndose en las primeras experiencias del contacto con el programa. Estas pruebas se llevan a cabo de forma peri\u00f3dica, y el proceso se considera finalizado una vez superados todos los errores y contratiempos<\/strong> que pueda generar el producto.<\/p>\n<\/span>Modelo V<\/span><\/h3>\n<\/p>\n
El modelo V lleva ese nombre por la forma en la que se esquematizan las etapas del ciclo de vida del software. Sigue las mismas etapas del modelo cascada, no obstante, a\u00f1ade dos etapas que conllevan al feedback<\/em> entre etapas con el fin de detectar errores y establecer planes de mantenimiento.<\/p>\n<\/span>Desarrollo iterativo y creciente<\/span><\/h3>\nConsiste en un proceso de crecimiento gradual, donde un software es desarrollado a partir de un bloque inicial<\/strong>. Cada vez que un bloque es terminado, se pone a prueba para detectar posibles errores. Luego este crece para obtener m\u00e1s funciones, hasta llegar al programa completo<\/strong>. Con esto se busca tener un mejor control en cada punto del desarrollo del producto.<\/p>\n<\/span>Roles en un equipo de desarrollo de software<\/span><\/h2>\n<\/p>\n
Debido a las numerosas etapas y metodolog\u00edas aplicadas durante el ciclo de vida de un software, es necesario contar con personal capacitado para desenvolver diferentes roles dentro del equipo de desarrollo o empresa de software. A continuaci\u00f3n se se\u00f1alan cu\u00e1les son los roles en un equipo de desarrollo<\/strong>:<\/p>\n<\/span>Gerente de proyecto<\/span><\/h3>\nSe trata de la persona responsable de gerenciar el proyecto de desarrollo<\/strong>, siendo el principal responsable de negociar con el cliente<\/strong> antes, durante y despu\u00e9s de ser contratados para desarrollar un programa. El gerente de proyecto tambi\u00e9n es responsable de establecer y hacer cumplir los plazos de tiempo, as\u00ed como tambi\u00e9n debe regular el presupuesto<\/strong> y tomar a cabo las decisiones necesarias para solventar problemas que surjan en el proceso.<\/p>\n<\/span>Analista de requerimientos<\/span><\/h3>\nEs una de las personas m\u00e1s importantes durante la fase de planificaci\u00f3n y an\u00e1lisis de un nuevo software, ya que se encarga de documentar, precisar establecer todas las funcionalidades que debe tener el software<\/strong> a desarrollar seg\u00fan las necesidades y consentimiento del cliente. El analista debe presentar toda esta informaci\u00f3n de forma l\u00f3gica, minuciosa y entendible para el resto del equipo de desarrollo.<\/p>\n<\/span>Desarrollador<\/span><\/h3>\nEl desarrollador (aunque pueden ser muchos) es el responsable de escribir y confeccionar el c\u00f3digo del software<\/strong>, as\u00ed como es la persona encargada de llevar a cabo el mantenimiento y depuraci\u00f3n del mismo.<\/p>\n<\/span>Testeador<\/span><\/h3>\nEstablece y lleva a cabo las pruebas de control de calidad y detecci\u00f3n de errores dentro del software<\/strong>. El testeador es responsable de probar el producto seg\u00fan el uso que le dar\u00e1n los usuarios al software y adem\u00e1s, es quien realiza un informe con los errores que deben ser depurados antes de que el producto pase a la fase de despliegue y mantenimiento.<\/p>\n<\/span>Arquitecto<\/span><\/h3>\nEl arquitecto es responsable de establecer la estructura del c\u00f3digo<\/strong>, el lenguaje de programaci\u00f3n a utilizar y adem\u00e1s es quien gestiona los diferentes aspectos relacionados al desarrollo del software que no tienen relaci\u00f3n directa con la funcionalidad del mismo.<\/p>\n","protected":false},"excerpt":{"rendered":"El ciclo de vida del software o ciclo de vida del desarrollo…<\/p>\n","protected":false},"author":1,"featured_media":3645,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[33],"tags":[],"_links":{"self":[{"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/posts\/3644"}],"collection":[{"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/comments?post=3644"}],"version-history":[{"count":0,"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/posts\/3644\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/media\/3645"}],"wp:attachment":[{"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/media?parent=3644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/categories?post=3644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/conceptoabc.com\/wp-json\/wp\/v2\/tags?post=3644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}