¡Hacemos magia con una computadora! 🙂
Bueno, este fue uno de los comentarios de mi cliente cuando le solucioné un problema.
Permítame decirle el ciclo de vida simple de un software (no el ingeniero, pero puede estar seguro en cada fase en la que esté involucrado).
- ¿Debo aceptar un trabajo que me ayudará a crecer como ingeniero de software o un trabajo que sea menos profesional en sus prácticas pero que tenga un equipo que me guste?
- ¿Qué pasará con el talento y la habilidad si cada trabajo se realiza mediante softwares?
- ¿En qué tipo de oportunidades / habilidades deberían centrarse los desarrolladores para destacarse entre este grupo cada vez mayor de ingenieros de software talentosos?
- Cómo sentir que realmente estoy agregando valor como desarrollador de software
- Cómo encontrar un trabajo como ingeniero de software en Canadá desde India
1) El ciclo de vida de un software comienza con un requisito.
Requisito
El requisito es cualquier problema del mundo real para el cual los clientes necesitan una solución.
El requisito puede ser cualquier cosa como crear un software para administrar su dinero, software para hacer una aplicación como tinder o Facebook, hacer un sistema operativo de escritorio como Windows o Linux. un sitio web como Quora. Cada una de estas tesis atiende un problema particular del mundo real y proporciona una solución.
La ingeniería de software no se trata solo de escribir código, la ingeniería de software comienza con un requisito, como cualquier otro trabajo, un ingeniero de software necesita comprender cuál es su necesidad, él / ella debe tener experiencia en el desarrollo de soluciones similares a la suya.
2. ok, lo entendí, entonces, ¿qué sigue?
Análisis y diseño.
El análisis y el diseño son la parte central de la ingeniería de software.
Al igual que un constructor hace una copia del edificio antes de construirlo, analiza el espacio para la construcción, el número de pisos para el edificio, el número de pisos para cada piso, los requisitos de agua, los requisitos de electricidad, el gobierno. normas para hacer un edificio, etc.
El ingeniero de software tiene que crear un proyecto original para la solución, antes de implementarlo realmente. él tiene que verificar, ¿es factible el requisito? ¿Es viable? ¿Está disponible la tecnología para implementar el requisito? ¿puede hacerlo solo o necesita de otro equipo? ¿Se puede hacer con el dinero proporcionado por los clientes? ¿Se puede hacer dentro de los plazos proporcionados por ellos?
Después de analizar todo esto, el ingeniero de software creará un diseño, el núcleo del software, como patrones de diseño, marco para el software, funcionalidades centrales. En general, estos son realizados por arquitectos de software y arquitectos de soluciones, quienes tienen experiencia en la creación de soluciones de software.
3. Lo tengo … ¿qué pasa después?
Construir y codificar
Según el marco diseñado por los arquitectos, los ingenieros codificarán. Seguirán las pautas de codificación y los patrones establecidos por los clientes y convertirán los requisitos al código real. dividen los requisitos pieza por pieza y los convierten en una sola unidad de trabajo. Prueban la unidad de trabajo (llamada prueba de unidad).
Una vez que todas las unidades están funcionando, integran todo y ven si las unidades funcionan como un todo, si hay algún problema, entonces lo arreglan. Una vez que están satisfechos de que se cumplan todos los requisitos, lo envían a prueba.
4. whoo … acaban de probarlo … ¿por qué necesitan probarlo de nuevo?
Revisión y prueba
Los ingenieros de software que codifican tienen una mentalidad diferente, solo ven las cosas que se mencionan en los requisitos, pero hay posibilidades de que el ingeniero haya omitido algo que puede hacer que el software falle. O han hecho algo que en realidad no es la forma correcta de hacerlo.
Ingenieros experimentados revisan el código escrito por los subordinados y compañeros, para asegurarse de que el código esté completo, sea efectivo y no tenga efectos adversos. Luego, los evaluadores comienzan a probarlo. ¿El software cumple con el requisito completo de lo que los clientes pidieron? ¿Puede el software manejar la carga si lakhs de usuario lo usan a la vez? ¿Es pirateable? ¿Es a prueba de errores? Los evaluadores hacen estas preguntas al software y, si no se maneja algún caso, plantean una inquietud y lo envían al desarrollador.
Básicamente verifican la calidad del software y se aseguran de que se entregue a los clientes el mejor software de calidad.
5. ok .. entonces?
Despliegue y mantenimiento
Luego ocurre la implementación, la puesta en marcha, el inicio del software. La gente simplemente lo inicia y los clientes comienzan a usarlo y usan la solución creada para su problema.
El equipo de Software es responsable de mantener el software, corregir los errores y actualizar la tecnología, hacer que el software sea más rápido y hacer algunos cambios después de la implementación / lanzamiento y según el contrato con los clientes.
Y el ciclo comienza nuevamente con un nuevo equipo, con una nueva tecnología, un nuevo requisito y un nuevo cliente.
Esta es la forma en que creamos soluciones para cada problema. Hacemos mucho más que solo código para resolver sus problemas. A veces creamos cosas que parecían imposibles, brindamos una solución simple a su difícil problema. Algunas personas solo ven humanos nerds y no sociales en nosotros, otras ven a una persona perezosa que se sienta frente a la computadora y escribe, pero algunas personas entienden el valor del problema que resolvimos, si es mejor de lo que esperaban, lo llaman magia .