Ciclo de vida del software - SDLC para sistemas en .NET
Tags: beginners, dotnet, architecture, agile
Published: 2022-07-10 02:31:44

Que tal a todos y todas el día de hoy platicaremos sobre SDLC y como llevarlos en sistemas .NET .
El ciclo de vida del desarrollo de software (en ingles: SDLC - Systems Development Life Cycle) es una estructura que contiene procesos relacionados con el desarrollo, despliegue y mantenimiento de un producto de software.
esta estructura abarca la vida completa del software, desde la definición de requerimientos hasta la capacitación y mantenimiento.

a fin de cuentas esta metodología trata de evitar costes de errores de implementación utilizando un método que permita a todos los involucrados en el software adelantarse para mejorar los resultados del proyecto.
a continuación, en listaremos las fases del ciclo de vida y describiremos brevemente en que se enfoca cada una:

1.- Comunicación
En este momento un cliente solicita un producto de software predeterminado, y nos contacta como empresa de software para mostrar sus necesidades concretas y puede presentar una solicitud de desarrollo de software

2.- Planificación y análisis
inicia una fase de planificación incluyendo un análisis de los requisitos, estos mismos deben ser estudiados por si son ambiguos o están incompletos, se recomienda indagar a profundidad y no dar nada por hecho, siempre preguntar todo.

3.- Estudio de viabilidad
Después de verificar los requisitos, se crea un plan para procesar el software, se analiza que partes del mismo cubren los requisitos. también se verifica si es viable financiera y tecnológicamente.

4.- Análisis del sistema
hasta este punto el equipo asigna recursos y ahora se planifica tiempo de duración del proyecto, además de tratar de encontrar limitaciones del producto y si su desarrollo implica impactos sobre la organización

5.- Diseño
En esta fase ya se comienza a visualizar cual será la solución por que  ya se planificaron las anteriores, en este punto entrarían las discusiones sobre que arquitectura llevara (Clean, DDD) o sobre que framework o tipo de proyecto estará (.Net Core, Blazor , Asp Net Core MVC)

6.- Codificación
También se conoce como fase de desarrollo, una vez elegida la arquitectura y el framework que llevara se procede a desarrollar el software como tal, teniendo como objetico construir la funcionalidad para poder entregar unidades funcionales, y al final de todo esto poder entregar un PMV (producto mínimo viable)

7.- Integración
En este punto se realiza la integración con sistemas, bibliotecas o bases de datos de otros proveedores

8.- Pruebas
esta fase entra en un ciclo continuo junto con el desarrollo, cada que se completa una fase de desarrollo inmediatamente se procede a probar  hasta que todas las funcionalidades sean del 100%, estas pueden automatizarse con UnitTesting

9.- Integración
En este punto se instala o despliega el software y de evalúan los atributos de calidad.

10.- Capacitación/Formación
En esta fase se planifica un tiempo de adaptación del usuario, esto es vital para el proyecto ya que es importante comprobar el nivel de uso y experiencia del usuario para poder mejorar.

11.- Mantenimiento y funcionamiento
Esto no acaba aquí, lo que sigue es, con base en un monitoreo constante encontrar errores y garantizar que el proyecto siga funcionando como se espera.

y volvemos, después de este ultimo paso es posible tomar requerimientos para actualizaciones o corrección de Bugs, teniendo en cuenta el orden del ciclo, es bastante organizado y aplicable en muchos casos.

espero les sirva y dejen sus comentarios para seguir mejorando, comparto mis redes para cualquier duda, y dirían por ahi... ¡voy y vengo!

[Twitter](https://twitter.com/RicardoJosue04)
[YouTube](https://www.youtube.com/c/RicardoJosue)
[Facebook](https://www.facebook.com/RicardoJosue04/)
[Linkedin](https://www.linkedin.com/in/ricardojosue/)