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.