Generalidades de la Ingeniería de software

Historia

Alan Turing. 1936

Conferencia, Garmish Alemania. 1968: concepto de ingeniería de software.

Crisis de software. 19060 - 1980

Evolución y localización

1990 - 2000

-Estándar HTML. -Navegador MOSAIC. -Primera versión del UML. -Desarrollo de JAVA. -Expansión del uso de la Word Wide Web.

2001 - 2010

-Computación móvil. -Versión UML 2.0. -Redes sociales, geolocalización. -Computación en la nube. -Sistemas de colaboración en línea, protocolos de comunicación inalámbricos, gobierno en línea, teletrabajo. -Aumento de lenguajes de programación

Componentes

Técnico

1. Análisis: comprende en profundidad las necesidades de información de la organización y los requerimientos que cada unidad organizacional exige.

2. Concepción: Define la arquitectura de información y la estructura del nuevo sistema

3. Desarrollo: Esfuerzos encaminados a plasmar en un código eficaz y eficiente

4. Impletación: Versión final del producto de software que será puesta en producción

5. Soporte y mantenimiento: asegura la continuidad en la operación del sistema de información

No técnico

Definición del alcance: Delimitación de las fronteras del proyecto

Identificación de tareas: Una tarea es una unidad de trabajo manejable y cuantificable en términos del tiempo asignado para su ejecución y el recurso (días-hombre) destinado para su realización.

Estimación de la duración de tareas: El director de proyectos debe usar sus habilidades para ajustar la duración de las tareas acorde con las necesidades y características específicas del proyecto y sus dependientes.

Especificación de Interdependencias entre las tareas: - -FS (Finish-to-Start) -SS (Start-to-Start) -FF (Finish-to-Finish) -SF (Start-to-Start)

Asignación de Recursos

Dirigir el esfuerzo del equipo: La ejecución del plan exigirá del gerente de proyectos la administración del personal enfocándose al logro del éxito del proyecto.

Monitoreo y control de progreso del proyecto: Tomar como referencia el alcance, el cronograma y el presupuesto, permite realizar ajustes.

Control del resultado del proyecto y Evaluación: Sondeo o evaluación de los resultados del proyecto conjuntamente con el equipo de trabajo.

Conjunto lógico de instrucciones que permiten la operación armónica de los componentes de un sistema de información.

Surgimiento de la ingenieria de software

Surgió como una de las respuestas a la “crisis del software”; la mayoría de los proyectos de software acababan tarde y excedían el presupuesto, con errores y sin satisfacer plenamente las necesidades de los clientes. Debido a la complejidad del proceso de desarrollo se tenía que afrontar la construcción del software utilizando técnicas de ingeniería.

Enfoque: Herramienta de gestión que permite el desarrollo con calidad del software. Permite combatir prácticas de desarrollo empíricas y sin planificación.

Características: 1. La IS es una ingeniería. Eso implica que las técnicas que forman parte de ella tienen que estar bien fundamentadas, ya sea teórica o empíricamente. 2. El objetivo no es tan sólo producir un software que “funcione” sino producir un software de calidad (eficiente, libre de errores, usable...). 3. Se ocupa de todas las etapas del desarrollo del software, tanto las que deben hacerse antes de empezar la programación (como el análisis y el diseño) como las que vienen después (pruebas y mantenimiento).

Alcance: En general se busca la reducción de los costos, la optimización del tiempo de desarrollo, el aumento de la calidad del producto final y la satisfacción de los clientes o usuarios del sistema de información.

Ciclo de vida de Sistemas