INGENIERIA DE SOFTWARE
IMPORTANCIA
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.
Concepto de Práctica:
Es la acción que se desarrolla con la
aplicación de ciertos conocimientos.
De su esencia se desprenden 4 Elementos:
Elementos de la Práctica
Extender el problema:
(comunicación y análisis)
Escuchar, prestar atención y hacernos unas preguntas:
¿Quienes son los participantes?
¿Cuáles datos, funciones y características se requieren
para resolver el problema en forma apropiada?
¿Es posible representarlo con problemas más
pequeños y sea más fácil de entender?
Cuáles datos, funciones y características se requieren
para resolver el problema en forma apropiada?
Planear la solución:
(modelado y diseño del Software)
Antes de comenzar con el código
tomarnos tiempo y preguntarnos:
¿He visto antes problemas similares? ¿Hay algún
software existente que implemente datos,
funciones y características que se requieren?
¿Ha resuelto un problema similar? si asi es,
¿Son reutilizables lo elementos de la solución?
¿Pueden definirse problemas más pequeños? Si asi es,
¿hay soluciones evidentes para estos?
Ejecutar el plan:
(generación del código)
Durante el desarrollo del producto pueden haber cambios pero el plan nos servirá de guía.
¿Se ajusta la solución al plan? ¿el código
fuente puede apegarse al modelo del diseño?
¿Es probable que cada parte componente
de la solución sea correcta?
Examinar la exactitud del resultado:
(probar y asegurar la calidad)
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.
¿Puede probarse cada parte componente de la solución?
¿Se han implementado estrategias razonables para hacer pruebas?
¿La solución produce resultados óptimos en sus requerimientos? ¿El software se ha validado contra
todos los requerimientos de los participantes?
Definición de proceso: Conjunto de actividades, acciones y tareas que se ejecutan cuando se va a crear algún producto.
Elementos del Proceso de Software
Comunicación
Se busca entender los objetivos de los participantes y reunir los requerimientos para definir características y funciones del Software
Planeación
Crea un "mapa" que guía al equipo durante el proyecto, describiendo; tareas técnicas, probables riesgos, recursos requeridos, actividades y productos obtenidos.
Modelado
Crea modelos a fin de entender mejor los requerimientos del software y el diseño.
Construcción
Combina la generación de código y las pruebas que se requieren para descubrir errores del software.
Despliegue
El Software como entidad completa se entrega al consumidor quién lo evalúa y en su caso retroalimenta.
CONCEPTO
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
Definición de Principio:
Una ley importante o suposición que subyace y se requiere en un sistema de pensamiento.
Principios Generales
La razón de que exista todo
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.
MSE (Mantenlo sencillo, estupido...)
Todo diseño debe ser tan simple como sea posible, pero no más. Pero simple no significa rápido y sucio.
Mantener la visión
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.
Otros consumirán lo
que usted produce
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.
Ábrase al futuro
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.
Planee por anticipado
la reutilización
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.
¡Piense!
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.