¿Cómo se desarrolla el software?

Hola amigo . Con más de 3.5 años en desarrollo de software, creo que estoy lo suficientemente calificado para responder a su pregunta.
En primer lugar, necesita una idea clara de lo que debe hacer un software. Déjame explicarte tomando un ejemplo de “hola mundo”. Tienes una idea increíble de software. Lo que hace este software es cuando interactúas con este software, te responde “Hola Mundo”. Ahora tienes una idea de software.
Siguiente parte: Ejecución de la idea.
Utiliza un lenguaje de programación para lograr esto. La elección del lenguaje de programación depende completamente de la plataforma a la que se dirige. Déjame darte algunas instancias:
Si está apuntando a una PC / Mac / Linux, puede usar Java, Python, C, C ++ o cualquier otro lenguaje que tenga un entorno de compilador y tiempo de ejecución compatible con la plataforma.
Si está apuntando a dispositivos móviles, puede usar Objective-C para iOS, Java para Android y C # para Windows Phone (FYI: También puede usar otros lenguajes como HTML5, Python, C, C ++ y muchos más).
Para escribir un programa, se recomienda usar un IDE (Entorno de desarrollo integrado). Usar IDE te facilita crear diseños de UI.
IDE también te ayuda a hacer una compilación ejecutable.
Si desea aprender a programar y hacer aplicaciones, hay toneladas de tutoriales gratuitos en Internet. Simplemente elija un lenguaje de programación para comenzar a codificar. La programación es divertida hasta que te guste 🙂
Espero que esto te dé un poco de información sobre el desarrollo de software.

Como ingeniero mecatrónico, veo el software como cualquier otro producto que pueda necesitar desarrollar; por lo tanto, sigue lo que consideramos un ciclo de desarrollo (o generalmente llamado modelo V en el estándar VDI 2206)

(Imagen del sitio web del instituto estadounidense de ciencia, que creo que es una traducción de los documentos originales de VDI2206)

Siempre comienza por los requisitos de software, como señalaron otras respuestas: ¿Qué se supone que debe hacer esta pieza de software? y cuantos más detalles obtenga de la respuesta a esta pregunta, mejor y nunca perderá el tiempo investigando la respuesta a esa parte.

Dependiendo de la respuesta a la parte de requisitos, usted toma las decisiones básicas, como qué idioma elegir y cómo vamos a probar nuestro software y cuánto tiempo tomará y cuánta mano de obra se requiere.

Si, por ejemplo, los requisitos dicen que necesitamos desarrollar un juego de plataformas en 2D como Super Mario Bros. pero para trabajar en teléfonos Android, puede optar por Java o C ++ o un motor de juegos que sea compatible con teléfonos Android y usted decide cuál según su experiencia. También puede decidir en función de la calidad de arte requerida si necesita un artista y un ingeniero de sonido para trabajar con usted o no. También estimaría la cantidad de tiempo requerida para el desarrollo en función de la cantidad de niveles requeridos + el tiempo requerido para desarrollar el primer nivel que funcione.

Después de tomar todas estas decisiones, comienza en el diseño de nivel de sistema, las grandes partes generales de su sistema que deben desarrollarse para que todo lo demás funcione.

Para un juego, es posible que necesite construir un sistema de física, un sistema de renderizado, un sistema de audio, un sistema de juego y controles, niveles y sistemas de cambio de escena, sistema de bucle de juego.

En esta parte del proceso de diseño, convertiste el gran problema de crear tu software (en este caso, el juego) en el conjunto más pequeño de problemas de diseñar esos sistemas y luego implementar esos sistemas y luego probar esos sistemas por su cuenta y luego juntos.

Durante el desarrollo de cada uno de estos sistemas, puede dividir los problemas aún más en subsistemas. Por ejemplo, el sistema de renderizado debería poder dibujar líneas, círculos, rectángulos, elipses e imágenes para que pueda dividirlo en partes que realicen estas tareas elementales, etc.

Después de eso, cuando cada parte se diseña, implementa y luego se prueba por sí misma, realiza pruebas de integración y ve cómo estos sistemas funcionan juntos para dar la forma final del primer prototipo de su producto, y sigue modificando el diseño e implementando los nuevos diseños y pruébelos hasta que cumpla con todos los requisitos originales y es cuando dice que terminé de desarrollar el software. (También hay mantenimiento de software y nuevas características, pero eso vendrá después de que haya un software, así que consideremos que es parte de la sostenibilidad del producto y no del desarrollo).

Ideas que pueden hacer que su desarrollo de software sea un asunto exitoso

Cada negocio tiene diferentes requisitos de desarrollo de software. Sin embargo, numerosos Whitepaper e informes en Internet lo educan en el desarrollo de un excelente software para su negocio. Con lo que se debe y no se debe hacer, las mejores prácticas y las mejores prácticas de proceso, seguro que es una buena lectura. Pero todos no abordan que cada negocio y cada vertical son diferentes y las características respectivas hacen que el desarrollo del software sea completamente diferente.

Sumérjase en los conocimientos profundos presentados en el Informe de desarrollo de software de Damco, preparado después de años de amplia experiencia intercultural y multidimensional en ingeniería de productos y desarrollo de software.

Es posible que se encuentre en cualquier etapa de su desarrollo de software, las ideas nunca pueden pasarse por alto. Si está involucrado en el desarrollo de software, técnica o estratégicamente, una hoja de ruta con visión de futuro es esencial. Este informe de desarrollo de software ayuda a decidir sobre las consideraciones básicas de desarrollo de software que le permiten tomar decisiones informadas.

Descargue el Informe gratuito de desarrollo de software desde aquí: http://bit.ly/SoftwareDevelopeme

More Interesting

¿Tomar un trabajo en pruebas de software hará que sea más difícil obtener un puesto de desarrollador en otra compañía más adelante?

¿Por qué es tan difícil hacer la arquitectura desde el principio?

¿Cuál es el puntaje mínimo de GRE requerido para la maestría en ingeniería de software en Canadá?

¿Cuáles son algunas sugerencias y temas que debo considerar si voy a dar una charla sobre tecnología y desarrollo de software a un grupo local de no técnicos en mi comunidad local?

¿Cómo describirías la arquitectura cliente-servidor en términos simples?

¿Cómo uno o un equipo cumplen con éxito los compromisos / pronósticos de Scrum mientras producen código de calidad?

¿Cuál es la diferencia en las oportunidades profesionales entre los 2 cursos: ingeniería de software y bioinformática?

¿Cómo podemos actualizar la metáfora Catedral contra Bazar para reflejar la Campaña de Steve Yegge?

¿En qué se diferencia la administración de un pequeño equipo de programadores a la administración de un gran equipo de programadores?

¿Son felices los programadores competitivos cuando trabajan como ingenieros de software?

Cómo prepararse para un hackathon

¿Es posible crear un script para Photoshop que interactúe con otra pieza de software que haya programado?

¿Puedo cambiar a su dominio después de tener 1 año de experiencia en el dominio de telecomunicaciones?

¿Es posible escribir software libre de errores? ¿Qué tan buenos somos para atrapar todas las posibles excepciones? ¿Debemos prestar más atención a cada escenario de excepción o falla? ¿Es ese el problema fundamental? ¿Eso merece su propia línea de trabajo?

Cómo mejorar en la depuración de código