¿De qué se trata realmente el desarrollo de software?

El desarrollo de software se trata realmente de diseñar un modelo para resolver un problema particular de la manera más eficiente. El desafío principal es encontrar la abstracción correcta, que represente la esencia del sistema. Una vez que se encuentra la abstracción correcta, todo fluye naturalmente.

Por ejemplo, Facebook (producto) resuelve el problema de descubrir y conectar personas en línea. Encontraron una abstracción: un gráfico social, que funciona muy bien para construir sus modelos.

La necesidad de presentar interactivamente las actualizaciones de las personas se modeló como el suministro de noticias, que es la consulta en el gráfico social, que es en el nivel inferior una consulta a memcached y mysql.
Memcached y mysql resuelven problemas aún más genéricos utilizando sus propios modelos. Memcached es una tienda de valores clave y MySql es una base de datos relacional.

Los ingenieros de software asimilan el problema específico a conjuntos de casos específicos a soluciones más genéricas. Luego escriben código o utilizan productos existentes para implementar la solución.

El desarrollo de software se trata realmente de una resolución óptima de problemas. Primero, un problema debe articularse y modelarse adecuadamente. Esto incluye encontrar requisitos y limitaciones. La segunda parte es elegir la solución óptima. La mayoría de las veces, habrá múltiples soluciones viables que tienen algún tipo de costo.

El desarrollo de software consiste en navegar de manera continua y óptima ese espacio problemático a lo largo del tiempo.

More Interesting

¿Cuáles son las especificaciones que debe buscar un programador al comprar una nueva computadora portátil?

¿Existe un software de computadora que clasifique las acciones de acuerdo con un criterio dado?

Tengo poco interés en las matemáticas, pero me encanta la programación / programación y quiero estudiar Ingeniería de software o Ingeniería de juegos. ¿Cómo me afectará esto?

¿Cómo se realizan las evaluaciones de desempeño en su lugar de trabajo?

¿Cuáles son algunos mini proyectos en big data que podría hacer con un equipo de dos o tres personas en un mes o dos? Soy un estudiante de tercer año de ingeniería informática de la India.

¿Cuál es un buen ejemplo de programación orientada a la pila?

¿Por qué registrar es una parte importante del desarrollo de software?

¿Cómo comenzamos el desarrollo de software del sistema usando la programación en C en un entorno Linux?

¿Por qué muchas personas odian las tecnologías de Microsoft?

Ingeniero mecánico pasando por un cambio de carrera en Ingeniería de software (aplicando a Hack Reactor y MakerSquare). ¿Qué tan crítico es tener un título en Ciencias de la Computación al solicitar / entrevistar para puestos de Ingeniería de Software DESPUÉS de completar uno de estos programas?

¿En qué tecnología se basa eBay?

Ingeniería de software: ¿Por qué la gente generalmente odia administrar el código de otras personas (en lugar de escribir el suyo)?

¿Qué tan común es para un diseñador de interacción convertirse en desarrollador web o ingeniero de software?

Soy un estudiante de BTech en el campo de la informática. Mi programación no es tan fluida. ¿Qué tipo de trabajos puedo hacer después de un BTech?

¿Quién es el mayor competidor de keen.io?