La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería del Software Universidad de los Andes Demián Gutierrez Abril 2009.

Presentaciones similares


Presentación del tema: "Ingeniería del Software Universidad de los Andes Demián Gutierrez Abril 2009."— Transcripción de la presentación:

1 Ingeniería del Software Universidad de los Andes Demián Gutierrez Abril 2009

2 ¿Quién soy? Prof. Demián Gutierrez demian@ula.ve ● Profesor Instructor del Dpto. de Computación. ● Miembro del GIDyC (Grupo de Investigación en Ingeniería de Datos y Conocimiento). ● Empresario (inactivo por los momentos) en el área de Desarrollo de Software. ● Programador, Desarrollador de Software y aventurero del mundo de la tecnología...

3 Objetivos Introducir al estudiante en los conceptos fundamentales y tendencias de la Ingeniería de Software, en los métodos, técnicas y herramientas comúnmente utilizadas en el desarrollo de sistemas programados. Adiestrar al estudiante en el uso de métodos y técnicas orientadas por objetos (OO) para modelar y construir un sistema programado. Realizar un proyecto de desarrollo de software aplicando métodos, técnicas y herramientas OO.

4 ¡Objetivos del Curso! ¡Debata, cuestione, sea inquisitivo! ¡Lea, lea y lea! ¡Lea libros (de ingeniería), literatura, blogs, foros, trate de entender que piensa la gente y vea que puede usted aportar a esas ideas. ¡Piense!, ¡Piense diferente!...pero sobre todo... ¡Use el sentido común!

5 Plan de Evaluación

6 Plan del Curso Unidad I y II (I Examen Parcial)

7 Plan del Curso Unidad III y IV (II Examen Parcial)

8 Plan del Curso Unidad V y VI (III Examen Parcial)

9 ¿Qué es el Software? ¿Qué es el Software?...para hacer un producto, hay que entender la naturaleza del producto, para hacer un edificio, hay que entender la naturaleza de un edificio, para hacer software de forma eficaz y eficiente hay que entender la naturaleza del software...

10 ¿Qué es el Software? SOFTWARE: El software se forma con: 1) Las instrucciones (programas de computadora) que al ejecutarse proporcionan las características, funciones y el grado de desempeño deseados 2) las estructuras de datos que permiten que los programas manipulen información de manera adecuada; y 3) los documentos que describen la operación y el uso de los programas Roger S. Pressman

11 ¿Qué es el Software? PROGRAMAS (líneas de código, XML, HTML, C/C++ SQL, otros) DATOS (estructuras de datos, bases de datos, otros) DOCUMENTACI ÓN (manuales de usuario, documentación de construcción, otros) CONCEPCIÓN + DESARROLLO + MANTENIMIENTO SOFTWARE = PROGRAMAS + DATOS + DOCUMENTACIÓN...y algunos autores consideran que las reglas de negocios y los procedimientos usados para construir el software también son parte de este...

12 ¿Características del Software? No es visible / tangible o tiene propiedades físicas El software se desarrolla o construye; no se manufactura El software no se “desgasta” (pero se deteriora) la mayoría del software se construye a la medida (a pesar de la tendencia de componentes) Es un elemento lógico (no físico) Tiene una estructura modificable: Cambia con el tiempo

13 ¿Características del Software? No existen repuestos... A diferencia del hardware, que si una pieza se daña simplemente se reemplaza y se resuelve el problema. En el software las fallas no son consecuencia de desgaste, son consecuencia de errores de diseño, codificación, configuración, plataforma, u otros. Esto hace que el mantenimiento del software sea mucho mas complejo que el del hardware.

14 ¿Características del Software?

15

16 ¡Aceptar y Prepararse para el Cambio!...el software es algo “vivo” que nace, crece, evoluciona, cambia y muere...

17 Categorías / Tipos de Software Software de Sistema Software de Aplicación Software Científico y de Ingeniería Software Empotrado Software de Línea de Productos Aplicaciones WEB Software de Inteligencia Artificial... muchos más, y la combinación de estos...

18 ¿Qué es el Software? ¿Qué es la Ingeniería del Software?...que tiempos aquellos, en los que un programador solitario usando apenas un 8085 y una vieja cafetera, era capaz conquistar al mundo escribiendo en un fin de semana en un garaje unas cientos de líneas de código...

19 ¿Qué es el Software? Pdf/8-11

20 La “Crisis del Software” Es un término informático acuñado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, de la cual nació formalmente la rama de la Ingeniería de Software. Para entender la “Ingeniería del Software” es necesario entender la “Crisis del Software”

21 La “Crisis del Software” (Causas) Hardware más potente Mayor demanda de software (Desarrollo y Mantenimiento) Sistemas mas complejos Uso inadecuado de recursos (humanos y de otros tipos) Poca información (formación / calificación) de los desarrolladores (falta de personal calificado) Falta de metodologías y técnicas (y fallas en su adecuada aplicación)

22 La “Crisis del Software” (Síntomas) Los proyectos no terminan a tiempo Los proyectos no se ajustan al presupuesto El software producido es de muy baja calidad El Software producido no cumple con las especificaciones del cliente El código producido no es mantenible, dificultando la gestión y evolución del proyecto Insatisfacción generalizada del cliente / usuario

23 La “Crisis del Software” (Consecuencias) Baja Productividad Baja Calidad...hoy en día se considera más que de una crisis se trata de una enfermedad crónica... Un desastre de software tras otro... En promedio, hay 60 errores por cada 1000 líneas de código

24 La “Crisis del Software” (Una “verdadera” Historia de Terror) 16.2 % 52.7 % 31.1 % 19 % 35 % 46 % Es decir que hoy en día el 19% de los proyectos fracasan totalmente y el 46% o bien sobrepasan las estimaciones en tiempo, en presupuesto, ambas cosas o no satisfacen completamente las necesidades de los clientes y usuarios.

25 ¿Qué es el Software? ppt/8-9

26 La “Crisis del Software” (Solución) Aplicar Ingeniería a la Construcción de Sistemas Informáticos, es decir, hacer Ingeniería del Software Bien, pero entonces, ¿Qué es la Ingeniería del Software?

27 Es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software, desde las etapas iniciales de la especificación del sistema hasta el mantenimiento de este después de que se utiliza. Ian Sommerville Es el establecimiento y uso de principios (métodos) sólidos de ingeniería con el fin de obtener sistemas programados en forma económica, confiable y que trabajen en máquinas reales [computadores]" Friedrich Ludwig Bauer (1968)

28 ¿Qué es la Ingeniería? Bien, pero entonces, ¿Qué es la Ingeniería?

29 "Arte de aplicar los conocimientos científicos a la invención, perfeccionamiento o utilización de la técnica [o tecnología] en todas sus determinaciones" Diccionario Real Academia Actividad Humana Procesos de Diseño, Construcción y Mantenimiento (de algo) Supone Eficiencia y Eficacia ¡Implica Gestión!, No sólo técnica o cálculo

30 ¿Qué es la Ingeniería? (Proceso) Un proceso define quien está haciendo qué, cuándo y cómo lograr cierta meta. The three “Amigos”

31 ¿Qué es la Ingeniería? (Gestión) Gestionar es realizar diligencias conducentes al logro de un negocio o de un deseo cualquiera. El concepto de gestión hace referencia a la acción y al efecto de gestionar y de administrar. Administrar, por otra parte, consiste en gobernar, dirigir, ordenar, disponer u organizar. El término gestión, por lo tanto, implica al conjunto de trámites que se llevan a cabo para resolver un asunto o concretar un proyecto.

32 ¿Qué es la Ingeniería? (Eficacia / Eficiencia) ¿Cuál es más eficaz? ¿Cuál es más eficiente?

33 ¿Cómo Resuelve la Ingeniería un Problema? Formulación del Problema Análisis del Problema Búsqueda de Soluciones Toma de Decisiones Especificaciones de Diseño Implementación Solución a Problemas Similares Reconocimiento del Problema Información Irrelevante y otros Datos Erróneos Solución Operativa Documentación Problema Formulado Definición Detallada del Problema (Especificaciones, Limitaciones, Criterios, otros) Soluciones Potenciales y Soluciones Parciales Solución Seleccionada Diseño Detallado, Modelo, Informes y Documentación del Diseño El proceso de solución de problemas en ingeniería

34 ¿Qué es la Ingeniería del Software? Entonces, la Ingeniería del Software consiste en aplicar principios, técnicas y métodos de Ingeniería y Gestión al desarrollo de Proyectos de Software / Sistemas Informáticos. Es decir: ¡¡¡Realizar un proyecto de software NO es sólo programar!!!

35 ¿Qué es la Ingeniería del Software? ppt/12

36 ¿Ingeniería del Software, Ciencias de la Computación y Programación?

37 ¿Qué Produce la Ingeniería del Software? La Ingeniería del software produce software que: Se produce a tiempo (dentro de lo establecido en el plan del proyecto) (Ayuda a estimar correctamente) Su costo total está dentro de lo establecido en su presupuesto (Ver punto anterior) Está validado y es útil (hace lo se supone debe hacer) Es: Amistoso, Confiable, Libre de Errores, Flexible, Adaptable, Comprensible, Mantenible, Eficiente, Usable

38 Participantes en el Desarrollo de Software CLIENTE (Patrocina el desarrollo del sistema) USUARI O (Utiliza el Sistema) DESARROLLADO R (Construye el Sistema) Tiene Obligaciones Contractuale s Proporciona Financiamient o Proporciona Sistemas de Software Tiene Necesidade s Pfleeger (1998)

39 ¿Cómo Resuelve la Ingeniería un Problema? pdf/46

40 ¿Cómo Resuelve la Ingeniería un Problema? Análisis/Definició n de Requerimientos Diseño de Sistema Diseño de Programa Implementación Pruebas Unitarias Pruebas de Integración Pruebas de Sistema Entrega del Sistema Mantenimiento ANALISTA DISEÑADOR PROGRAMADOR PROBADOR CAPACITADOR ¡TODOS! Papel del Grupo de Desarrollo en el Proceso de Ingeniería del Software Pfleeger (1998)

41 Funciones de un Ingeniero de Software Gerenciar un proyecto de desarrollo de software: 1) Planificación del proyecto: planes, presupuestos, calendarios, eventos, hitos. 2) Organización y Dirección del grupo de trabajo (gestión de recursos humanos). 3) Control del Proyecto: control de costos, tiempos, recursos, otros. Determinar las necesidades y requerimientos de los usuarios de un sistema programado. Analizar y especificar formal o gráficamente los requerimientos, a fin de determinar y resolver posibles conflictos en la verificación y validación del sistema.

42 Funciones de un Ingeniero de Software Establecer un diseño del sistema que satisfaga los requerimientos dentro de restricciones de costos, tiempo, recursos humanos, equipos, etc. Desarrollar, evaluar y mantener software (Programar, resolver problemas técnicos) Asegurar la calidad y confiabilidad del sistema producido. Garantizar, a través del mantenimiento, la operación eficiente y económica de los sistemas producidos.

43 Evolución de la Ingeniería del Software

44


Descargar ppt "Ingeniería del Software Universidad de los Andes Demián Gutierrez Abril 2009."

Presentaciones similares


Anuncios Google