No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
14 Hrs
19 Min
0 Seg

Etapas del proceso de desarrollo de software

2/24
Recursos
Transcripción

El proceso de desarrollo tradicional tiene etapas muy marcadas, que tienen entradas, procesos y salidas que funcionan como entradas de la siguiente etapa.

Análisis de requerimientos: Todo nace de un disparador que nos crea la necesidad de crear un artefacto o un sistema. Necesitamos entender cuál es el problema que queremos resolver. Hay requerimientos de negocio, requerimientos funcionales, requerimientos no funcionales.

Diseño de la solución: Análisis profundo de los problemas para trabajar en conjunto y plantear posibles soluciones. El resultado de esto debe ser el detalle de la solución, a través de requerimientos, modelado, etc.

Desarrollo y evolución: Implementación de la solución, para garantizar que lo que se esta construyendo es lo que se espera. Al finalizar esta etapa tendremos un artefacto de software.

Despliegue: Aquí vamos a necesitar de infraestructura y de roles de operación para poder poner el artefacto a disponibilidad.

Mantenimiento y evolución: Desarrollo + despliegue + mantenimiento, en esta etapa estamos atentos a posible mejoras que se hacen al sistema. En esta etapa el software se mantiene hasta que el software ya deja de ser necesario.

Aportes 119

Preguntas 17

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Etapas clásicas de la arquitectura de software

Análisis

Entender que se construirá, cubrir los requerimientos de negocios, de usuarios, funcionales y no funcionales, dando como resultado una compresión muy clara a resolver.

Diseño de la solución

Propuesta a nivel diseño de solución, se puede trabajar en conjunto con un analista para plantear una posible solución, en modelo, documentación, la finalidad es un detalle de solución.

Desarrollo

La etapa en la que desarrollador se construye el Software, se debe contar con el set de requerimientos necesarios.

Despligue

La fase de operaciones, se requiere la infraestructura, roles de operación quienes se asegurarán de llevar el producto a producción(a disponibilidad para el usuario final)

Mantenimiento

Dependen nuevamente de regresar a las fases de desarrollo y despliegue, en esta etapa se está atento a la detención de errores o mejoras simples, hasta llegar al producto final.

  • ¿Qué es un requerimiento funcional?
    Son declaraciones de los servicios que proveerá el sistema, de la manera en que éste reaccionará a entradas particulares.

  • ¿Qué es un requerimiento no funcional?
    Son aquellos requerimientos que no se refieren directamente a las funciones específicas que entrega el sistema, sino a las propiedades emergentes de éste como la fiabilidad, la respuesta en el tiempo y la capacidad de almacenamiento.

por que se inicial defrente con el Ciclo de Desarrollo de Software Seguro ?

RESUMEN:
La arquitectura de software se encarga de las estructuras, modelos, comunicación entre módulos del sistema. Habla sobre como se da el proceso de desarrollo y como la arquitectura es crucial para este.

Etapas del proceso de desarrollo de software:

NOTA: Cabe aclarar que el profesor habla del módelo en cascada:

  1. Requisitos de usario. Explorar la necesidad
  1. Diseño de requisitos. Hablar el mismo lenguaje que el cliente para concretar objetivos.
  1. Desarrollo y evaluación. Desarrollo, test automatizados y planeación de User Test Aceptance
  1. Despliegue. Disponibilidad de la herramienta creada
  1. Mantenimiento y evolución. Oportunidad de mejoras hasta caducidad del software.

Sin embargo existen otros modélos de desarrollo como el modelo V, prototipos, espiral… una cantidad que variará con la década, la tecnología y nuestra forma de relacionarnos con ella.

Etapas del proceso de desarrollo de software

  • El proceso de desarrollo tradicional tiene etapas muy marcadas, que tienen entradas, procesos y salidas que funcionan como entradas de la siguiente etapa.
    • Análisis de requerimientos: Todo nace de un disparador que nos crea la necesidad de crear un artefacto o un sistema.
      • Necesitamos entender cuál es el problema que queremos resolver. Hay requerimientos de negocio, requerimientos funcionales, requerimientos no funcionales.
      • Al terminar esta etapa debemos tener una comprensión bastante clara del problema que vamos a resolver.
    • Diseño de la solución: Análisis profundo de los problemas para trabajar en conjunto y plantear posibles soluciones. El resultado de esto debe ser el detalle de la solución, a través de requerimientos, modelado (UML), documentació. Resuelve preguntas tales como:
      • ¿Cómo va el usuario a utilizar la aplicación?
      • ¿Como se va a implementar la aplicación en producción y como será esto administrado?
      • ¿Cuales son los atributos requeridos por la aplicación? (rendimiento, seguridad, concurrencia, internacionalización, configuración)
      • ¿Cómo se puede diseñar la aplicación para que sea mantenible y flexible con el paso del tiempo?
      • ¿Cuales son las tendencias a nivel de arquitectura que pueden afectar la aplicación actualmente o una vez que ha sido implantada?
      • ¿Cuáles son las partes fundamentales de la arquitectura que representan el riesgo más grande si se hacen mal?
        -¿Cuáles son los principales supuestos y como van a ser probados?
      • ¿Cuáles son las partes de la arquitectura que tienen más probabilidad de cambiar?
      • ¿Qué condiciones pueden llevar a que se tenga que refactorizar el diseño realizado?
      • ¿Porqué es esta la mejor opción de arquitectura?
      • ¿Qué medidas estamos tomando para mitigar los riesgos?
    • Desarrollo y evolución: Implementación de la solución, para garantizar que lo que se esta construyendo es lo que se espera. Al finalizar esta etapa tendremos un artefacto de software.
      • Es donde plasmamos en “código” las dos anteriores etapas, ademas de realizar test a dicho código
      • Debemos tener claros cuales son los criterios de aceptación de la solución, osea cual es el set de requerimientos necesario para construir esta solución y como hacemos para evaluarlos (TDD), el resultado de esta etapa es un artefacto de software.
      • Despliegue: Aquí vamos a necesitar de infraestructura y de roles de operación para poder poner el artefacto a disponibilidad.
        • Debemos implementar la solución (artefacto) que ya tenemos construida en productivo, AWS, GCP, Heroku, github-pages, hosting, play store, etc
    • Mantenimiento y evolución: Desarrollo + despliegue + mantenimiento, en esta etapa estamos atentos a posible mejoras que se hacen al sistema. En esta etapa el software se mantiene hasta que el software ya deja de ser necesario.

Conceptos extraídos de:

Arquitectura de Software articulo de sofware Guru
https://sg.com.mx/revista/27/arquitectura-software

Etapas de desarrollo de software: Flujo lineal donde cada etapa tienen procesos, una entrada y salida.

  • Análisis de requerimientos

  • Diseño de la solución

  • Desarrollo y evaluación

  • Despliegue

  • Mantenimiento y Evolución

  • Análisis de Requerimientos: Se inicia de un disparador; una idea, problema a resolver, alguna necesidad. Se entiende lo que se necesita desarrollar en base a requerimientos de negocios, de usuario y funcionales o no funcionales. Al finalizar la etapa se tiene una compresión clara del problema a resolver.

a) Disparador
b) Descubrimiento
c) Análisis y documentación

  • Diseño de la solución: Se tiene un análisis del problema y una propuesta de diseño a la solución del problema. En esta etapa el analista, arquitecto o equipo de desarrollo trabajan en conjunto para plantear cuales son las posibles soluciones a los problemas en diferentes alternativas como propuesta de valor: modelos, productos open source, documentación, frameworks.

a Comprensión del problema
b) Abstracción
c) Modelado

  • Desarrollo y evaluación: Los programadores desarrollan, implementan, evalúan, ejecutan tests para garantizar la solución de lo que se espera. Los criterios de aceptación de la solución necesitan un set de requerimientos necesarios para ser la conexión entre la etapa anterior y la de desarrollo y evaluación. Al finalizar esta etapa obtendremos un artefacto de software.

a) Solución detallada
b) Programación e integración
c) Automatización de pruebas

  • Despliegue: En esta etapa se necesita de la infraestructura, roles de operación para poder dárselo al usuario final. Un ejemplo puede ser una aplicación de WEB alojada en un servidor o una app móvil alojada en una app store.

a) Artefacto de Software
b) Infraestructura
c) Operaciones

  • Mantenimiento y Evolución: Se esta atento a la detección de errores y cualquier nueva funcionalidad a desarrollar para realizar cambios en la aplicación y volver a poner a disponibilidad del usuario. Es decir en esta etapa se mantiene el software hasta que se considere lo contrario.

a) Software disponible
b) Arreglos de errores
c) Nuevas funcionalidades
d) Sistema deprecado.

Las etapas de un desarrollo de software, suelen ser similares en casi todos los modelos, el mas conocido es el modelo cascada el cual cuenta con diferentes pasos que permiten que un desarrollo sea ágil y eficaz.

  • Requisitos: Aquí es donde se realiza el análisis de requerimientos, donde se determina cual es el problema que se quiere solucionar.

  • Diseño: En esta etapa del desarrollo se lleva a cabo una lluvia de ideas para así dar con una solución solida, en esta etapa el equipo de desarrollo se ayuda con herramientas UML, diseño de maquetas(mockups), o documentación escrita.Luego de eso, se procede a desarrollar la solución para así resolver el problema.

  • Implementacion: Luego de creada a la una solución solida. Se procede a implementar esta solución contando con equipos determinados para ellos. Como equipos de testing y de depuración.

  • Verificación: Una vez la solución haya sido pulida para a producción para así depurar errores en situaciones reales, en esta etapa el tiempo de respuesta debe ser inmediato debido a que el sistema se encuentra en producción y para que este no deje de trabajar se soluciona de manera rápida los bugs que pueda llegar a tener.

  • Mantenimiento: En esta etapa, el equipo de desarrollo esta al tanto de pequeñas mejoras al sistema ya implementado y en producción. Así como también de solucionar errores que puedan seguir surgiendo a lo largo de la vida del software.

Arquitectura de software

Etapas de proceso desarrollo de software

El proceso de desarrollo de software tradicional funciona de una manera lineal y organizada lo que quiere decir que que para seguir con la siguiente etapa se debe primero terminar la otra.

Análisis de requerimientos :en esta etapa todo nace a través de un disparador un idea un análisis de mercado un problema al cual se le quiere buscar solución.de esta forma tenemos una idea muy clara del problema que vamos a resolver.

Diseño de la solución : en esta se plantean y se detallan la diferentes soluciones sus requerimientos y documentación etc… al final de este pas0 se debe tener plateada la solución del problema

Desarrollo y evolución : en etapa desarrollamos el software lo que es la solución al problema.

Despliegue : aquí vamos a necesitar infraestructura y roles de operación para poder poner el artefacto a disponibilidad.por ejemplo en una app web necesitaremos una servidor en donde alojarla bases de datos etc… o pones un app móvil en play store.

mantenimiento y evolución : aquí seguimos dándole seguimiento al solución del problema resolviendo bugs agregando nuevas funcionales de ser necesario hasta que se acabe el tiempo de vida de la app.





Flujo de desarrollo de software:
- Análisis de requerimientos
○ Nace de un disparador
○ Descubrimiento
○ Análisis y documentación
○ Comprensión del problema
- Diseño de la solución
○ Análisis al problema
○ Abstracción
○ Modelado
○ Solución detallada
- Desarrollo
○ Programación e integración
○ Automatización de pruebas
○ Artefacto de software
- Despliegue
○ Infraestructura
○ Roles de operación
○ Software disponible
- Mantenimiento y evolución
○ Arreglo de errores
○ Nuevas funcionalidades
Sistema deprecado

-análisis de requerimientos:
en un principio todo nace de un disparador que es lo que inicia el proceso esto puede ser por ejemplo una idea, en esta primera parte es necesario descubrir que es lo que se va a construir y se levantan los requerimientos como son los de negocio, los funcionales y
los no funcionales, de usuario. es decir que el resultado aqui es tener una comprencion muy clara del problema que se busca resolver.

-diseño de la solución:
en la etapa de diseño se plantea una solución basada el los requerimientos del problema se propone como se le va a dar solución y que tecnologías y metodologías se usaran para
desarrollar el proyecto.

-desarrollo y evaluación:
en esta etapa se produce como tal el desarrollo del proyecto, se programa el sistema, se hacen pruebas o test con base en crear la solución a dichos requerimientos, que tengan un componente de alto valor; en este sentido esta muy relacionado con SCRUM.

-despliegue:
la etapa de despliegue consiste en poner en operación el sistema que se ha desarrollado y entran aspectos como la infraestructura y cualquier cosa que tenga que ver con el funcionamiento del sistema.

-mantenimiento y evolución:
ahora ya que el sistema esta implementado y funcionando se debe brindar un mantenimiento, es decir que todo funcione bien y si hay que desarrollar nuevas funcionalidades hasta pensar en escalabidad.

Sin animos de sonar como “grammar nazi”, la palabra “deprecado” no existe en español (eso es un calco del inglés). La palabra real es “obsoleto”

Ciclo de Desarrollo de Software
)

Utilice este curso para poder guiarme en entregar un trabajo final del colegio y adivinen quien saco 10/10!!!
Chulada de curso, gracias!!!

Las etapas del proceso de desarrollo

Tradicionalmente siguen un flujo lineal. Toda etapa posee:

  • Una entrada
  • Un proceso
  • Una salida (que sirve de entrada para la siguiente etapa)

Análisis

Inicia de un disparador para la necesidad de crear un sistema.

Se deben descubrir los requerimientos.

El resultado es la comprensión del problema

Diseño

Análisis profundo. Se plantea las posibles soluciones. Modelos, documentación de diferentes alternativas.

El resultado es el detalle de la solución: a través de modelos, requerimientos, entre otros.

Desarrollo

Se programa, se ejecutan pruebas. Existen criterios de aceptación.

Termina con el artefacto.

Despliegue

Se necesita de infraestructura y de operaciones para lanzar el sistema.

Mantenimiento

Atentos a los errores y nuevas funcionalidades para cambiar el sistema. Se mantiene el sistema hasta que este no sea necesario.

El ciclo de vida termina en ese momento en que se desprecia el sistema.

Ciclo de vida de aplicaciones SaaS

Muy interesante! Realmente solo sabía sobre la etapa de despliegue!

Mis apuntes 😃
Lo siento por lo desorganizado 😦

Trabajando metodologías Ágiles como Scrum , puedo decir que se realizan estos mismos 5 pasos, solo que iterativamente. Es decir, estos 5 pasos se repiten tantas veces como sprints existan en el proyecto. Por lo menos así se hace en mi compañía.

ETAPAS DEL PROCESO DE DESARROLLO DE SOFTWARE

Etapas del proceso:

Tradicionales:
*
Análisis de requerimiento
*
Diseño de la solución
*
Desarrollo y evaluación
*
Despliegue
*
Mantenimiento y evolución

ANÁLISIS DE REQUERIMIENTO: todo nace de una idea, algún problema a resolver.

Debemos de entender que es lo que se va a construir, ¿qué necesitamos hacer ? ¿cuál es el problema que queremos resolver?

Necesitamos los “requerimientos”

    requerimientos de negocio
    requerimientos del usuario, entre otros...

Todo esto nos da una comprensión muy clara de lo que tenemos que hacer.

DISEÑO DE LA SOLUCIÓN: Análisis profundo del
los problemas, diseñamos una propuesta de una solución.

planteamos las posibles soluciones del problemas.

nos da un detalle de una solución.

DESARROLLO Y EVOLUCIÓN:

Dónde el programador va a estar implementando, programando y evaluando.

Una conexión de esta con la anterior son los criterios de aceptación de la solución.

DESPLIEGUE:

ya teniendo nuestro artefacto de software " el sistema" , lo utilizaremos en despliegue para darselo al usuario final.

se necesita infraestructura y roles de operación.

MANTENIMIENTO Y EVOLUCIÓN:

Arreglos de errores, nuevas funcionalidades.

Esta etapa es en donde el software se va a mantener, hasta que su ciclo de vida se termine.

Estas etapas conectan a pasos el desarrollo de software.

**ETAPAS DE PROCESO DE DESARROLLO DE SOFTWARE** Estas son las etapas de proceso del desarrollo en una metodología clásica (cascada). 1. **Requerimientos:** Esta etapa nace a partir de un disparador, esto puede ser una idea, un problema presente que requiere una solución tecnológica. Este proceso consiste en analizar las necesidades del sistema a construir para poder llegar a una comprensión del problema de manera general, a veces específica. 2. **Diseño de la solución:** Una vez entendemos el problema a solucionar, pasamos a realizar un modelado de su solución, ya sea por medio de documentación, diagramas, etc. Para el final de esta etapa debemos tener ya una solución detallada para continuar con el siguiente paso. 3. **Desarrollo y evolución:** Una vez tengamos la solución detallada para nuestro problema, pasamos a la parte del desarrollo, que normalmente implica que un programador empieza a escribir el código necesario y sus respectivas pruebas automatizadas, para terminar como resultado con un artefacto de software. 4. **Despliegue:** En esta etapa tomamos el artefacto o artefactos de software resultantes del desarrollo y lo hacemos disponible a los usuarios, en esta etapa es cuando se configura la infraestructura requerida para el producto, puede ser servidores web, proveedores de servicios de terceros, e incluso personal capacitado que le dará respuesta al usuario en caso de ser necesario. En el caso de las aplicaciones móviles este es el momento cuando publicamos nuestra app ya sea en el App Store o Play Store. **Mantenimiento y evolución:** Aquí es donde nos dedicamos a la detección de errores para corregir posibles bugs en el producto, también agregamos nuevas funcionalidades en el caso de ser requeridas, repitiendo así los pasos anteriores a una escala más pequeña. Este proceso continúa hasta que el software no sea ya más necesario, es entonces cuando podemos decir que el sistema está deprecado y su ciclo de vida ha terminado.
Software Development Life Cycle SDLC El SDLC puede ser entendido como un proceso de varias fases cuyo propósito es la producción de software de: Alta calidad, Costos bajos, Menor tiempo posible. Fases conocidas: 1\. Planeación/Requerimientos 🍎 4\. Pruebas 🍪 2\. Diseño ☕ 3\. Implementación/Ejecución/Desarrollo 🍖 5\. Despliegue (A.K.A Deploy 😏) 🍷 6\. Mantenimiento 💆 Curso: Curso de Introducción a los Patrones de Diseño de Software

No se nada mucho de la arquitectura en software pero se que aprendere con este curso

Hola,

adapte un poco el proceso a los términos con los que trabajamos en mi compañía

Rol de Arquitectura de software:
Etapas tradicionales:

  • Análisis de requerimientos: Problema a resolver, debemos entender el problema para poder proponer soluciones
  • Diseño de la solución: Se propone las posibles soluciones en modelos bien detallados
  • Desarrollo y evolución: el programador implementa la solución.
  • Despliegue: Se necesita de infraestructura para poder poner el producto al mercado
  • Etapa de mantenimiento y evolución: Atentos a detección de errores y nievas funcionalidades. está compuesto por Análisis, Diseño, Desarrollo, despliegue y mantenimiento.

Etapas del proceso de desarrollo de software.


El proceso de desarrollo tradicional tiene etapas muy marcadas, que tienen entradas, procesos y salidas que funcionan como entradas de la siguiente etapa.

Análisis de requerimientos: Todo nace de un disparador que nos crea la necesidad de crear un artefacto o un sistema. Necesitamos entender cuál es el problema que queremos resolver. Hay requerimientos de negocio, requerimientos funcionales, requerimientos no funcionales.

Diseño de la solución: Análisis profundo de los problemas para trabajar en conjunto y plantear posibles soluciones. El resultado de esto debe ser el detalle de la solución, a través de requerimientos, modelado, etc.

Desarrollo y evolución: Implementación de la solución, para garantizar que lo que se esta construyendo es lo que se espera. Al finalizar esta etapa tendremos un artefacto de software.

Despliegue: Aquí vamos a necesitar de infraestructura y de roles de operación para poder poner el artefacto a disponibilidad.

Mantenimiento y evolución: Desarrollo + despliegue + mantenimiento, en esta etapa estamos atentos a posible mejoras que se hacen al sistema. En esta etapa el software se mantiene hasta que el software ya deja de ser necesario.

Apuntes 🔰


algo importante para agregar que este modelo en cascada solo es util para sistemas pequeños que tengan bien definidos sus requerimeintos y no necesite grandes cambios.

Etapas de desarrollo

Cada etapa cierra con un concepto que conecta con otro

  1. Análisis de Requerimientos:

    Todo esto inicia con un disparador.

    • Disparador: Esto es una idea, un problema o una necesidad que se busque solucionar.

    Seguido de esto debemos descubrir entender y comprender lo que vamos a resolver.
    A medida que vamos adentrándonos en el análisis y documentación encontraremos que hay varios tipos de requerimientos, requerimientos e negocios, de usuario, funcionales y no funcionales.

  • Requerimientos funcionales: Servicios o cosas que tengan que ver directamente con la solución se desarrollara.

  • Requerimientos no funcionales: Es lo que no va directamente con la solución, como ejemplo fiabilidad, estabilidad del sistema, capacidad e >almacenamiento, tiempo de respuesta etc.

    • Descubrimiento
    • Análisis y documentación
  • Compresión del problema: Tener una comprensión muy clara de lo que se va a resolver.
  1. Diseño de la solución:

    Es un análisis profundo, abstrayendo nuestro problema, y modelar una propuesta de solución para el problema, en esta etapa pueden trabajar varios profesionales de diferentes areas para llegar a una Solución detallada, lo que se traduciría en un modelo,documentación, metodología, lenguaje, framework, etc.

    • Abstracción
    • Modelado
    El **problema** es que se hace demasiado diseño en esta etapa.
    
  • Solución detallada: Solución clara con procesos definidos, en programación esto seria con definidos
  1. Desarrollo y evaluación:

    Esta es la etapa de implementación, programación, evaluación y automatización de pruebas de la solución, para garantizar que estamos logrando con el objetivo.
    Es importante siempre tener en consideración son los criterios de aceptación, es decir cuales son los set requerimiento necesarios construir la solución y como evaluarla.
    Finalmente obtendremos un artefacto de software.

    • Programación e integración
    • Automatización de prueba
  • Artefacto de Software: es un producto tangible resultante del proceso de desarrollo de software.
  1. Despliegue:

    Utilizaremos el un artefacto de software para poder entregárselo al usuario final, para esto necesitaremos infraestructura y roles de operación, como por ejemplo: servidores, web servers, practicas, subir la app a la AppStore, etc.

    • Infraestructura
    • Operaciones
  • Software disponible: El software este disponible para el alcance el usuario final.
  1. Mantención y evolución:

    Esta etapa es encargada de buscar errores y darle mantención al software, agregando nuevas funcionalidades hasta que decidamos que el software ha cumplido con su ciclo de vida.
    • Arreglo de errores
    • Nuevas funcionalidades
  • Sistema deprecado: El ciclo de vida del software ha acabado.

Es interesante notar que este algoritmo se puede aplicar para llevar a cabo cualquier tipo de trabajo.

-Análisis de requerimientos: Siempre un problema es detonado por una necesidad, lo que nos lleva a generar un producto que la solucione. Esta etapa sirve para analizar el problema, buscar una solución y un listado de los requerimientos que necesitamos para satisfacer la necesidad.

-Diseño de la solución: Se busca que en conjunto con diferentes áreas de la organización se realicen propuestas de diseño de las posibles soluciones que cumplan los requerimientos listados.

-Desarrollo y evolución: En esta paso se trabajar en construir la solución. AL finalizar esta etapa tendremos un producto terminado.

-Despliegue: En esta parte necesitaremos la infraestructura para poner en línea nuestro producto.

-Mantenimiento y evolución: Aquí se va dando solución a problemas que salgan en el producto. Se busca implementar nuevos features que alarguen la vida del producto hasta que este ya no sea necesario.

No había escuchado el termino “deprecar”, pero quedó entendido. El desarrollo de software en su parte arquitectónica, requiere de una secuencia o flujo de pasos, los cuales se deben realizar uno a uno y dependen del inmediatamente anterior. Los pasos son: Identificar y entender el problema, plantear una solucion al problema, diseñar esa propuesta de solucion, poner en funcionamiento el diseño de la propuesta y finalmente solucionar algunos fallos que pueda presentar el software durante su uso.

Deprecado: "Desaprobar" es que algo no se aprueba, que se desaconseja su uso. "Obsoleto" es que ha quedado desfasado y se usa poco pero no tiene por qué estar mal.

Es vital seguir paso a paso las etapas del proceso de desarrollo, de alguna manera no aseguran el éxito de una aplicación pero si disminuye los riesgos de la misma. Ayuda a tener un orden para enfrentar nuevas soluciones. 😃

Yo quiero hacer una aplicacion web multiplataforma tipo Tableau:

Requerimientos:
1.-100 usuarios conectados al mismo tiempo como máximo
2.-Multiplataforma: hacer ediciones en la computadora y presentaciones en el celular, pantallas planas y proyectores.
3.- Que supere las limitaciones que ofrecen algunas extensiones de tableu, ofreciendo más facilidad de uso.

Para considerar un software como deprecado, debes evaluar varias variables clave: 1. **Obsolescencia tecnológica**: Si el software ya no es compatible con nuevas tecnologías, sistemas operativos o hardware. 2. **Descontinuación del soporte**: La falta de actualizaciones y soporte por parte del proveedor. 3. **Evolución de requerimientos**: Si el software ya no cumple con las necesidades actuales del negocio o los usuarios. 4. **Rendimiento**: Si presenta problemas constantes de rendimiento o seguridad. 5. **Costo de mantenimiento**: Si los costos superan los beneficios, es un indicativo de que podría ser deprecado. Estos factores te ayudarán a tomar una decisión informada sobre la vida útil del software.
Hoy en dia se usa el ciclo de vida del software con el modelo de DevOps ![](https://static.platzi.com/media/user_upload/image-bc1551dc-e1c4-4fee-a7ca-cc474185c1bb.jpg)
![](https://static.platzi.com/media/user_upload/image-bb0579ef-380a-4b2c-8da0-396a7f08dbb9.jpg)
![](https://static.platzi.com/media/user_upload/image-4e39f115-4156-4485-9c0b-c39b2eccea85.jpg)
profe, pero por favor parpadee jajaja se ve que esta tensionado el pobre

Se obtiene 4 etapas para el desarrollo de un sistema como base principal y estructural con base a la documentación presentada

**Etapas del Proceso de Desarrollo: **

-  Análisis de Requerimiento: 
Comprensión del sistema o problema a resolver, se recopila, documenta y comprenden a fondo las necesidades y expectativas del cliente o usuario final.

- Diseño de Solución: 
En base a las opciones disponibles se selecciona y datalla la solución, se define la arquitectura, estableciendo bases que aseguren que el sistema sea escalable.

- Desarrollo y Evaluación:  
Se construye el software en base al diseño previamente elaborado, se realizan pruebas y se ejecuta la solución.

- Despliegue:
 El software se instala en el entorno de producción, web server, play store, etc, para mantenerse disponible.

- Mantenimiento y Evolución:
Se resuelven problemas y añaden funcionalidades.

Así fue que lo entendi:

Etapas del desarrollo de software

  • Análisis de requerimientos
    Aquí identificamos que es lo que queremos hacer y el problema a resolver.

  • Diseño de la solución
    Modelamos o documentamos la solución al problema para que quede todo mas claro.

  • Desarrollo y evaluación
    Esta es la etapa donde nos ponemos manos a la obra creando la solución y validando mediante tests que vaya acorde con lo que se espera o se diseñó.

  • Despliegue
    Todo lo relacionado a la infraestructura.

  • Mantenimiento y evolución
    Dar seguimiento al correcto funcionamiento del software.

Tiene mucho sentido que se separe en etapas:

  • análisis de requerimientos
  • diseño de la solución
  • desarrollo y evaluación
  • despliegue
  • mantenimiento y evolución

También tiene sentido que cada etapa tenga una entrada y una salida, y que una salida sea la entrada de la siguiente etapa

Etapa 1: Análisis del requerimiento: se debe entender qué se va a construir

  • Requerimientos funcionales
  • no funcionales

Etapa 2: Análisis de la solución: el arquitecto define cómo se va a construir la solución a nivel estratégico

Etapa 3: Programación e integración

  • Requerimientos necesarios para cumplir el DOR

Etapa 4: Despliegue

  • Infraestructura

Etapa 5: Mantenimiento

  • Arreglo de errores
  • Mantenimiento
  • Desarrollo
  • Finaliza cuando se define que el software no es necesario

Wow, no tenia idea de que esto es lo que aplico todos los dias en mis labores. Al parecer la labor de un arquitecto de software, es muy relevante y implica retos. (Siempre lo habia visto desde mi rol de desarrollador, como un papel fácil de ejecutar).

App para el 911, tipo periscope

El usuario debe registrarse a la aplicación para poder usarla.
Esto busca limitar las llamadas de broma

La app deberá poder contar con transmisión de imagen en tiempo real, así como de proporcionar la ubicación en automático de quien realice la llamada.

la app busca proporcionar un mayor número de cámaras de vigilancia disponibles a las ya existentes.

la app debe ser capaz de alertan a personas en un radio a la redonda sobre la emergencia que está ocurriendo.
Ejemplo de un accidente automovilístico o explosión a las personas que esté a 2 km a la redonda

Si es un asalto o secuestro, que pueda avisar a las personas que estén a unos 200 metros a la redonda, así como Waze avisa que hay policías cerca. Todavía no adquiero las habilidades para hacer esto, pero es una idea que tengo desde hace mucho.

Las etapas tradicionales de Análisis, Diseño, Desarrollo, Despliegue y mantenimiento ofrecen un marco de referencia necesario en el proceso de desarrollo de software y el nivel de profundidad de cada una de estas etapas no solo dependen de los frameworks utilizados para su desarrollo (Scrum por ejemplo) sino también del alcance de la solución. Pensar en un desarrollo de soluciones ERP de misión crítica, de aplicación estándar para una o varias industrias obligará al arquitecto a definir un nivel mayor de especificación para cada una de estas etapas del desarrollo de software. En este escenario la aplicación de las metodologías ágiles tendrán su mayor protagonismo en el desarrollo de componentes específicos para las solución dentro de un marco de referencia mayor.

  • Análisis de requerimientos

    Nace de un disparador (una idea, un problema, etc)

    Entender que es lo que se va a construir

    Tipos de requerimientos:

    • De negocio
    • De usuario
    • Funcionales
    • No Funcionales.

    Resultado: Termina con una comprensión clara de que es lo que vamos a resolver

  • Diseño de la solución.

    Análisis profundo de los problemas

    Modelado de la propuesta de valor.

    Resultado: Propuesta de solución detallada al problema

  • Desarrollo y Evaluación

    Es la programación e integración de la solución

    Se automatizan las pruebas

    Importante: Criterios de aceptación de la solución.

    Resultado: Artefacto de software

  • Despliegue

    Darlo al usuario final

    Es necesario tener la infraestructura donde se monta el software

    Resultado: Software disponible

  • Mantenimiento y Evolución

    Arreglo de errores

    Agregarse nuevas funcionalidades

    Resultado: Sistema deprecado (cumple su vida util)

¿Cuando se recomienda que la solución sea opensource? y ¿Cuando se recomienda utilizar frameworks?

¡¡Extraordinario!! Todo un gran proceso.

Etapas de desarrollo de Software

Análisis de Requerimientos: Etapa en la que se entiende y analiza el problema a resolver los requerimientos de

  • negocio
  • usuario
  • funcionales
  • no funcionales

Se analiza y se documento

Diseño de solución: Se platea una solución para una propuesta de valor, con documentación y modelado…

Desarrollo y Evaluación: se programa la solución,

Despliegue: Alojar servicio, (ejemplo… aplicaciones en Appstore)

Mantenimiento y Evolución: detección de errores y nuevas funcionalidades

Etapas en el desarrollo tradicional, todas dependen de la anterior

  1. Análisis de requerimientos: Disparador, idea, descubrimiento, análisis y documentación, comprensión del problema.
  2. Diseño de la solución: Analisis profundo del problema, propuesta de solución, modelo, frameworks, solución detallada.
  3. Desarrollo y Evaluación: Programando, probando (test) automatizados, criterios de aceptación de la solucion. Artefacto de software
  4. Despliegue: Infraestructura, roles de operación, operaciones, para ponerlo a disponibilidad de cliente. Software Disponible
  5. Mantenimiento y Evolución: Compuesta por desarrollo y despliegue, atentos a errores, nuevas funcionalidades hasta que el sistema ya no se vaya a usar es decir sea un software DEPRECADO

🌠

Importante entender todos los procesos que tiene desarrollar software de calidad.

Tradicionales

Estaban bien marcadas para seguir un flujo lineal donde cada etapa tiene una entrada y una salida que servía para la etapa siguiente.

Análisis de requerimientos

Todo nace de un disparador, una idea, un problema a resolver, tenemos que entender que es lo que se va a construir.

Hay diferentes tipos de requerimientos, como los Funcionales o No Funcionales, el objetivo es tener una comprensión muy clara del problema que vamos a comprender.
También implica la documentación del problema y requisitos

Diseño de la solución

Tenemos un análisis profundo del problema y una propuesta de diseño de la solución del problema, el equipo trabaja en conjunto para plantear cuales son las posibles soluciones del problema bajandolas a un modelo, documentación, frameworks.

En una metodología tradicional trata de encontrar cuales son los problemas que serán dificiles de resolver

Desarrollo y Evaluación

En esta etapa es donde el programador ejecuta la solución mediante el código, también automatiza las pruebas.

Criterios de aceptación de la solución: cual es el set de requerimientos necesarios para llegar a la solución y como los evaluamos.

Al finalizar tendremos un artefacto de software

Despliegue

El artefacto llega al despliegue para darselo al usuario final, necesitaremos de infraestructura y de roles de operación para poner.

Si es web incluimos toda la infraestructura que requerimos para que funcione.

Mantenimiento y evolución

Una vez que el software este disponible entramos a la etapa del mantenimiento, estamos atento a los arreglos de errores y nuevas funcionalidades.

Esto seguirá hasta que digamos que el software ya no es necesario

Al ver la estructura del proceso desarrollo se evidencia que no se contempla una planeación y se descartan las pruebas. Muchos proyectos fracasan porque a éstas dos grandes etapas no se les da la importancia que requieren, se consideran implícitos en el proceso y no se contemplan estos tiempos.

1. Analisis de Requerimientos

En esta etapa necesitamos hacer descubrimientos de estos requerimientos, existen diferentes tipos como: De negocio, De Usuario, 	Funcionales y No Funcionales.

El resultado de esta etapa deberia ser una compresion muy clara de lo que se va a construir.

2. Diseño de la Solución

Se plantean las posibles soluciones del problema a nivel del diseño, modelado , requerimientos, documentación, etc. Esta etapa es muy importante por que va a intentar encontrar los problemas que luego, cuando se este desarrollando, van a ser dificiles de resolver.

3. Desarrollo y Evaluación

Esta es la etapa en la que se implementa la solucion. Algo importante a recalcar son los criterios de aceptación de la solucion que se plantean en la etapa anterior. Estos nos sirven para saber como evaluar que la implementación fue la correcta.

4. Despliegue

Se implementa el desarrollo en la infrastructura correspondiente a su tipo. El resultado es la solucion final ya implementada y disponible para el usuario final.

5. Mantenimiento y Evolución

Esta compuesta por desarrollo y despliegue ya que se esta atento a la detección de errores y cualquier funcionalidad extra que se requiera, para poder cambiar el software y ponerlo a dispocición del usuario. Cuando el software deja de ser necesario se dice que el sistema esta deprecado.

La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto para llevarlo a cabo con grandes posibilidades de éxito. Esta sistematización indica cómo se divide un proyecto en módulos más pequeños para normalizar cómo se administra el mismo.

Así, una metodología para el desarrollo de software son los procesos a seguir sistemáticamente para idear, implementar y mantener un producto de software desde que surge la necesidad del producto hasta que se cumple el objetivo por el cual fue creado.

Planificación : Es necesario hacer ciertas tareas que influirán decisivamente en el éxito del desarrollo. Algunas de las tareas de esta fase incluyen actividades como el alcance del proyecto, un estudio de viabilidad, análisis de los riesgos, estimación del costos del proyecto, así como, la asignación de recursos a las diferentes etapas del proyecto.

Análisis : Es importantísimo indagar sobre qué es exactamente lo que tiene que hacer el software, aquí la relevancia del análisis en el ciclo de vida del software planteará qué se necesita y se llega a una comprensión clara de los requerimientos del sistema (las características que el sistema tendrá).

Diseño: Aquí se evalúan todas las posibles opciones de implementación para el software que hay que desarrollar, así como decidir la estructura general del mismo. Esta es una etapa compleja y su proceso debe realizarse de manera iterativa (obteniendo feedback del cliente/usuario).

Implementación: En esta fase se seleccionarán las herramientas necesarias, un entorno de desarrollo que facilite el trabajo y un lenguaje de programación apropiado para el tipo de software a desarrollar. Aquí cobran relevancia las decisiones de diseño tomadas como del entorno en el que el software deba funcionar.

Pruebas: Aquí se busca detectar todas las fallas en las etapas anteriores para corregirlas. Evidentemente es importante cubrir esta etapa antes de que el usuario final detecte estos errores.

Implementación o despliegue: En esta etapa, se deberá integrar el software ya en producción, por lo que se debe planificar el entorno teniendo en cuenta las dependencias existentes entre los diferentes componentes del mismo así como los externos.

Uso y mantenimiento: Esta es una de las etapas más importantes del ciclo de vida de desarrollo de software. Su mantenimiento incluye tres puntos importantes:

-Suprimir los defectos detectados durante su vida útil también llamado: Mantenimiento correctivo
-Adaptarlo a nuevas necesidades
-Adicionar nuevos requerimientos

Buenos datos

Las diferentes etapas de un desarrollo de software, suelen ser similares en casi todos los modelos, el mas conocido es el modelo cascada. Pero no aseguran el éxito de una aplicación pero si disminuye los riesgos en el software.

Etapas del proceso del desarrollo de software.

Etapas de desarrollo bajo una perspectiva tradicional

Análisis de requerimientos

Diseño de de la solución

Desarrollo y evolución

Despliegue

Mantenimiento y evolución

buena explicación del proceso guido, de muy fácil comprensión.

Yo intento utilizar otros métodos de desarrollo como el Design Thinking para trabajar en proyectos, ya que logra hacer evolucionar continuamente el desarrollo y aumenta la funcionalidad de la solución. Es muy importante saber los procesos y como mejorarlos.

Etapas del proceso de desarrollo de software: Análisis de requerimientos, diseño de solución, desarrollo y evaluación. despliegue y mantenimiento y evolución

Análisis de requerimientos: Nace o se descubre la idea, necesidad o problema, un análisis y documentación del mismo, terminando en la comprensión del problema

Diseño de la solución: Abstracción y modelado para plantear las posibles alternativas (frameworks) terminando en una solución detallada

Desarrollo y Evaluación: Programación e integración de la solución, automatización de pruebas terminando en un Artefacto de software

Despliegue: Se pone a disponibilidad el artefacto de software, requiriendo infraestructura y operaciones terminando en un software disponible

Mantenimiento y evolución: Atentos a la detección de errores, nuevas funcionalidades

Etapas del proceso de desarrollo de software: Análisis de requerimientos, Diseño de la Solución, Desarrollo y Evaluación, Despliegue y Mantenimiento y Evolución

Análisis de requerimientos: Todo nace de un disparador (idea, problema, oportunidad), donde descubrimos y analizamos lo que requiere de negocio, de usuarios, funcionales y no funcionales; terminando en una comprensión muy clara de lo que vamos a resolver.

Vamos a Darle.!!

A trabajar!.. dijo el mister increible

ETAPAS DEL PROCESO DE DESARROLLO DE SOFTWARE

Es importante reconocer las etapas t sabe que es lo que se tiene que trabajar en cada una para no hacer trabajo extra

Stages of the software development process

Totalmente interesante entender y tomar en cuenta las etapas del desarrollo de software tradicional.

desarrollo y evolucion

Perfectamente explicado!

gracias

Muy bien!

Creo que el mayor defecto del método tradicional se encuentra en la etapa del diseño de la solución . Ya que como dice Woda, no recibes un feedback para mejorar. Es decir, ya invertiste tiempo y dinero y quizás ese prototipo no sea el más adecuado.

Siempre es bueno tener este flujo lineal en mente!

Al analizar segmentar un proyecto de software en cada paso, nos ayuda a poder ver todas las posibilidades de nuestro software. Muy buenos videos para aprender. Me han servido de mucho.