El desarrollo de software hace referencia a un conjunto de actividades informáticas dedicadas al proceso de creación, diseño, implementación y soporte de software.
¿qué es el desarrollo de software?
El software propiamente dicho es el conjunto de instrucciones o programas que indican a un ordenador lo que debe hacer. Es independiente del hardware y hace que los ordenadores sean programables. Hay tres tipos básicos:
Software de sistema, que proporciona funciones básicas, como sistemas operativos, gestión de discos, servicios, gestión de hardware y otras necesidades operativas.
Software de programación, que proporciona herramientas a los programadores, como editores de texto, compiladores, enlazadores, depuradores y otras herramientas para crear código.
Software de aplicación (aplicaciones o apps), que ayuda a los usuarios a realizar tareas. Por ejemplo, conjuntos de productividad ofimática, software de gestión de datos, reproductores multimedia y programas de seguridad. Las aplicaciones también se refieren a aplicaciones web y móviles como las que se utilizan para comprar en Amazon.com, socializar con Facebook o publicar fotos en Instagram.1
Los programadores escriben código fuente para programar ordenadores que realicen tareas específicas, como fusionar bases de datos, procesar pedidos en línea, enrutar comunicaciones, realizar búsquedas o mostrar textos y gráficos. Los programadores suelen interpretar las instrucciones de los desarrolladores e ingenieros de software y utilizan lenguajes de programación como Python, PHP, Javascript o C++ para llevarlas a cabo.
Los ingenieros de software aplican principios de ingeniería para crear software y sistemas para resolver problemas. Utilizan el lenguaje de modelado y otras herramientas para idear soluciones que a menudo se pueden aplicar a los problemas de una manera general en lugar de limitarse a resolver un caso o problema de un cliente concreto. Las soluciones de ingeniería de software se rigen por el método científico y deben funcionar en el mundo real, como ocurre con los puentes o los ascensores. Su responsabilidad ha crecido a medida que los productos se han vuelto cada vez más inteligentes con la incorporación de microprocesadores, sensores y software. Además de que cada vez más productos dependen del software para diferenciarse en el mercado, el desarrollo del software debe coordinarse con las tareas de diseño mecánico y eléctrico.
Los desarrolladores de software tienen un papel menos formal que los ingenieros y pueden estar estrechamente involucrados en áreas específicas del proyecto, incluida la escritura de código. Al mismo tiempo, dirigen todo el ciclo de vida del desarrollo de software, lo que implica colaborar con los equipos funcionales para transformar los requisitos en características, gestionar los equipos y procesos de desarrollo, y realizar pruebas y mantenimiento del software.


Pasos en el proceso de desarrollo de software
El desarrollo de software suele constar de los siguientes pasos:
Gestionar y medir el proyecto para mantener la calidad y la entrega a lo largo del ciclo de vida de la aplicación, y evaluar el proceso de desarrollo con modelos como el Modelo de Madurez de Capacidades (CMM).
Seleccionar una metodología para establecer un marco en el que se apliquen los pasos del desarrollo de software. Implica describir un proceso de trabajo global o una hoja de ruta para el proyecto. Las metodologías pueden incluir el desarrollo ágil de software, las prácticas DevOps, el desarrollo rápido de aplicaciones (RAD), el marco Scaled Agile Framework (SAFe), el desarrollo en cascada y más.
Recopilar requisitos para comprender y documentar lo que necesitan los usuarios y otras partes interesadas.
Elegir o construir una arquitectura como estructura subyacente dentro de la cual operará el software.
Desarrollar un diseño en torno a soluciones a los problemas presentados por los requisitos, lo que a menudo implica modelos de procesos y guiones gráficos.
Crear un modelo con una herramienta de modelado que utilice un lenguaje de modelado como SysML o UML para llevar a cabo la validación temprana, la creación de prototipos y la simulación del diseño.
Construir código en el lenguaje de programación adecuado. Implica la revisión por pares y en equipo para eliminar problemas de forma temprana y producir software de calidad más rápido.
Realizar pruebas con escenarios planificados de antemano como parte del diseño y la codificación del software, y realizar pruebas de rendimiento para simular pruebas de carga en la aplicación. Para este desempeño, se suele utilizar personal de QA (Quality Assurance o persona dedicada a la calidad de la aplicación).
Gestionar la configuración y los defectos para comprender todos los artefactos del software (requisitos, diseño, código, pruebas) y crear distintas versiones. Implica establecer prioridades de control de calidad y criterios de publicación para abordar y hacer un seguimiento de los defectos.
Implementar el software para su uso y resolver los problemas de los usuarios.
Migrar datos al software nuevo o actualizado desde aplicaciones o fuentes de datos existentes, si es necesario.
El desarrollo de software hace referencia a un conjunto de actividades informáticas dedicadas al proceso de creación, diseño, implementación y soporte de software.
carlos CAMPO LIÉBANA