
1. Importancia
1.1. El software en la actualidad es de una importancia vital en todo los ámbitos y para todos los rubros, por ejemplo: los sistemas automatizados, entretenimiento, videojuegos, cine y televisión, la industria musical, restaurantera, comercial etc. Para los sistemas de educación, seguridad, políticos, gubernamentales, etcétera.
2. Concepto de Práctica
2.1. Es la acción que se desarrolla con la aplicación de ciertos conocimientos. De su esencia se desprenden 4 Elementos:
2.1.1. Elementos de la Práctica Vicion genrica
2.1.1.1. Extender el problema: (comunicación y análisis)
2.1.1.1.1. Escuchar, prestar atención y hacernos unas preguntas:
2.1.1.2. Planear la solución: (modelado y diseño del Software)
2.1.1.2.1. Antes de comenzar con el código tomarnos tiempo y preguntarnos:
2.1.1.3. Ejecutar el plan: (generación del código)
2.1.1.3.1. Durante el desarrollo del producto pueden haber cambios pero el plan nos servirá de guía.
2.1.1.4. Examinar la exactitud del resultado: (probar y asegurar la calidad)
2.1.1.4.1. No podemos estar seguros de que la solución sea perfecta, pero si podemos asegurarnos de realizar las pruebas suficientes para todos los errores posibles.
3. Concepto
3.1. La ingeniería del software es una disciplina formada por un conjunto de técnicas, métodos y herramientas que se utilizan para el desarrollo de los sistemas o programas informáticos los cuales nos permiten solucionar problemas de todo tipo y para todos los rubros
4. Definición de Principio
4.1. Una ley importante o suposición que subyace y se requiere en un sistema de pensamiento.
4.1.1. Principios Generales
4.1.1.1. La razón de que exista todo
4.1.1.1.1. Un software existe por una razón: dar valor a sus usuarios debemos plantearnos preguntas como; ¿Esto agrega valor real al sistema si tu respuesta es no, mejor no lo hagas.
4.1.1.2. MSE (Mantenlo sencillo, estupido...)
4.1.1.2.1. Todo diseño debe ser tan simple como sea posible, pero no más. Pero simple no significa rápido y sucio.
4.1.1.3. Mantener la visión
4.1.1.3.1. Una visión clara es esencial para el éxito de un proyecto. sin visión la arquitectura de un sistema de software se debilita y hasta puede colapsar.
4.1.1.4. Otros consumirán lo que usted produce
4.1.1.4.1. Todo software desarrollado es susceptible de probables modificaciones, o de manipulaciones por otros usuarios, por lo tanto debemos codificar pensando en aquellos que deben darles mantenimiento o ampliar el sistema. Al hacerlo de esta forma agregamos valor a nuestro sistema.
4.1.1.5. Ábrase al futuro
4.1.1.5.1. Un sistema con larga vida útil tiene más valor, Los sistemas se deben de crear desde un principio con la cualidad de adaptarse y actualizarse para mantenerse ante los cambios tecnológicos de hardware tan constantes y comunes de estos tiempos. Por lo tanto al desarrollar debemos preguntarnos constantemente "Qué pasa si" para poder encontrar soluciones a cosas generales y no a una específica.
4.1.1.6. Planee por anticipado la reutilización
4.1.1.6.1. La reutilización ahorra tiempo y esfuerzo, la planeación anticipada en busca de la reutilización disminuye el costo e incrementa el valor tanto de los componentes reutilizables como de los sistemas en los que se incorpora.
4.1.1.7. ¡Piense!
4.1.1.7.1. Tal ves este principio sea el que más se olvida, pensar en todo claramente produce mejores resultados, La aplicación a los primeros seis principios requiere pensar con intensidad y en consecuencia las recompensas potenciales son enormes.
5. Definición de proceso:
5.1. Conjunto de actividades, acciones y tareas que se ejecutan cuando se va a crear algún producto.
5.1.1. Elementos del Proceso de Software
5.1.1.1. Comunicación
5.1.1.1.1. Se busca entender los objetivos de los participantes y reunir los requerimientos para definir características y funciones del Software
5.1.1.2. Planeación
5.1.1.2.1. Crea un "mapa" que guía al equipo durante el proyecto, describiendo; tareas técnicas, probables riesgos, recursos requeridos, actividades y productos obtenidos.
5.1.1.3. Modelado
5.1.1.3.1. Crea modelos a fin de entender mejor los requerimientos del software y el diseño.
5.1.1.4. Construcción
5.1.1.4.1. Combina la generación de código y las pruebas que se requieren para descubrir errores del software.
5.1.1.5. Despliegue
5.1.1.5.1. El Software como entidad completa se entrega al consumidor quién lo evalúa y en su caso retroalimenta.