Este proceso lleva al software desde su concepción inicial como una idea hasta su forma final, usualmente una estructura planificada. El desarrollo de software puede involucrar muchas actividades específicas como recopilación de requisitos, prototipado, modificación, pruebas y mantenimiento. El software generalmente se desarrolla de forma separada del hardware y otras aplicaciones, como es el caso del software del sistema.
Las compañías de desarrollo de software proporcionan
Desarrollo de software personalizado
Las organizaciones grandes a menudo desarrollan su propio software para llenar vacíos en sus soluciones COTS existentes. Estas son más a menudo aplicaciones para gestión de contenido, gestión de clientes, gestión de recursos humanos y gestión de inventario.
Desarrollo de aplicaciones web
El desarrollo de aplicaciones web es una extensión del desarrollo de software estándar con características distintivas como una mayor necesidad de un proceso de desarrollo iterativo.
Desarrollo de aplicaciones móviles
Las aplicaciones móviles o apps están específicamente diseñadas para su uso en dispositivos móviles como teléfonos inteligentes, tabletas y asistentes digitales. Pueden ser instaladas como parte de la fabricación del dispositivo o entregadas adicionalmente desde un servidor web. Los desarrolladores móviles deben considerar una variedad de tamaños de pantalla, hardware y configuraciones debido a la falta de estandarización actual para dispositivos móviles.
Selección de plataforma
La elección de una plataforma de desarrollo es una consideración crítica al desarrollar una aplicación móvil, siendo la infraestructura existente y las habilidades actuales de los desarrolladores los factores más importantes.
Computación en la nube
La computación en la nube es la disponibilidad de recursos informáticos como procesamiento de datos y almacenamiento bajo demanda, sin gestión activa por parte del usuario. Este compartir de recursos permite a la computación en la nube lograr grandes economías de escala.
Prototipado de software
El prototipado de software es el proceso de crear repetidamente versiones incompletas de una aplicación, resultando en mejoras incrementales. Esto es similar al prototipado comúnmente realizado en otros campos como la manufactura e ingeniería.
Automatización de DevOps
El objetivo principal de DevOps es acortar el ciclo de vida del desarrollo de software y entregar consistentemente software de alta calidad. El procesamiento de solicitudes de cambio muestra cómo DevOps puede optimizar operaciones. Un usuario en un centro de datos que no utiliza DevOps debe iniciar una CR a través de correo electrónico o una aplicación de mesa de ayuda dedicada.
Integración de sistemas
La integración de sistemas une los componentes del sistema y proporcionan al sistema sus funciones globales. Los objetivos de la integración de sistemas incluyen mejorar el rendimiento y la calidad del producto, así como reducir el tiempo de respuesta y los costos operativos.
Aseguramiento de la calidad
El aseguramiento de la calidad es un proceso investigativo que informa a las partes interesadas sobre la calidad de una aplicación. Las técnicas de pruebas de software incluyen verificar que el software pueda realizar las tareas requeridas e identificar tareas que no puede realizar, las cuales pueden no ser un requisito del usuario.
Conclusión
El software propietario de una organización se desarrolló antes de que estuviera disponible el software COTS para realizar las funciones requeridas. Normalmente se realiza a nivel de clase en un entorno orientado a objetos, con constructores y destructores formando las unidades mínimas de prueba.