TEMA 1 INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Dr. José Ignacio Peláez Sánchez E.T.S.I. Informática de Sistemas. 3 er Curso.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TEMA 1 INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Dr. José Ignacio Peláez Sánchez E.T.S.I. Informática de Sistemas. 3 er Curso."

Transcripción

1 TEMA 1 INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE Dr. E.T.S.I. Informática de Sistemas. 3 er Curso. Año 2004/2005

2 Visión General Importancia de la Ingeniería del Software. Retraso en la llegada de la Ingeniería del Software 23 de febrero de 1984 la revista Bussiness week software: the new driving force. Software un factor que marca diferencias. Tareas de la Ingeniería del Software. Análisis, Especificación, Planificación, Diseño, Codificación, Prueba y Mantenimiento. 2 de 87

3 Sistemas Basados en Computadora Definición de sistema. Conjunto de elementos relacionados entre sí, de manera que todos juntos forman un todo. Definición de Sistema Basado en Computadora (SBC). Conjunto de elementos organizados para llevar a cabo algún método, procedimiento o control, mediante el procesamiento de la información. Elementos de los SBC. Software, Hardware, Bases de Datos, Documentación, Gente, Procedimientos. 3 de 87

4 Concepto de Software Definición de Software. Conjunto de instrucciones que cuando se ejecutan suministan la función y comportamiento adecuados, un conjunto de estructuras de datos que facilitan la manipulación adecuada de la información, y finalmente, los documentos que describen la operación y uso de los programas. 4 de 87

5 Evolución del Software Decada de los 50. Orientación por lotes; Distribución limitada; Software a medida. Desde 1960 hasta mediado de los años 70. Multiusuario; Tiempo real; Bases de datos; Producción software. Desde mitad de los años 70 hasta mitad de los 80. Sistemas distribuidos; Inteligencia empotrada; Hardware de bajo coste; Impacto en el consumidor. Desde mitad de los años 80 hasta nuestros días. Sistemas expertos; Máquinas de I.A; Arquitecturas paralelas. 5 de 87

6 Evolución y las Mismas Preguntas Preguntas de las programadores, ya sean programadores solitarios o grupos de programadores. Por qué lleva tanto tiempo terminar los programas? Por qué son tan elevados los costes de desarrollo? Por qué no podemos encontrar todos los errores antes de entregar el software a nuestros clientes? Por qué nos resulta tan difícil constatar el progreso conforme se desarrolla el software?. 6 de 87

7 Caracteristicas del Software El software es desarrollado y no fabricado en sentido clásico. El software no se deteriora en sentido hardware. No existen piezas de repuesto. Cada fallo indica un error de diseño o de traducción a código. El software se construye a medida y no ensamblando componentes. 7 de 87

8 Caracteristicas del Software El software es desarrollado y no fabricado en sentido clásico. El software no se deteriora en sentido hardware. No existen piezas de repuesto. Cada fallo indica un error de diseño o de traducción a código. El software se construye a medida y no ensamblando componentes. 8 de 87

9 Caracteristicas del Software El software no se deteriora en sentido hardware. MORTALIDAD INFANTIL INCREMENTO DEL ÍNDICE DE FALLOS POR EFECTOS LATERALES ÍNDICE DE FALLOS SE ESTROPEA ÍNDICE DE FALLOS CAMBIO CURVA REAL CURVA IDEALIZADA TIEMPO CURVA DE FALLOS HARDWARE TIEMPO CURVAS DE FALLOS REAL E IDEALIZADA DEL SOFTWARE 9 de 87

10 Caracteristicas del Software El software es desarrollado y no fabricado en sentido clásico. El software no se deteriora en sentido hardware. No existen piezas de repuesto. Cada fallo indica un error de diseño o de traducción a código. El software se construye a medida y no ensamblando componentes. 10 de 87

11 Aplicaciones del Software Sistemas de tiempo real. Sistemas. Gestión. Ingeniería y científico. Empotrado. Inteligencia artificial. Computadores personales. Basado en Web. 11 de 87

12 Crisis del Software La crisis del software es una serie de problemas que hacen que el software no alcance las expectativas u objetivos esperados por desarrolladores, gestores, clientes, etc. Problemas fundamentales. La sofisticación del hardware no esta acompañada de la del software. Demanda creciente. Mantenimiento difícil. 12 de 87

13 Crisis del Software SOLUCIÓN INGENIERÍA DEL SOFTWARE 13 de 87

14 Crisis del Software Problemas de los expertos. Planificación y precios imprecisos. La productividad de la gente del software no se corresponde con la demanda. La calidad muchas veces no es la adecuada. Motivos de estos problemas No hay tiempo para recoger los datos para el proceso de desarrollo. Falta comunicación con el cliente. Calidad cuestionable. Dificultad en el mantenimiento. 14 de 87

15 Crisis del Software SOLUCIÓN INGENIERÍA DEL SOFTWARE 15 de 87

16 Mitos del Software Los mitos del software son frases hechas que propagan información errónea y confusa, en lugar de sabiduría y buen hacer 16 de 87

17 Mitos de Gestión Los gestores con responsabilidad en el software, como los gestores en la mayoría de las disciplinas, están normalmente bajo la presión de cumplir los presupuestos, hacer que no se retrase el proyecto y mejorar la calidad. Un gestor de software se agarra frecuentemente a un mito del software, aunque tal creeencia sólo disminuya la presión temporal. 17 de 87

18 Mitos de Gestión Por qué debemos cambiar nuestra forma de desarrollar software, si estamos haciendo el mismo tipo de programación que hace 10 años? Tenemos un libro que esta lleno de estándares y procedimientos para construir software! Nuestra gente tiene las mejores máquinas para el desarrollo! Si fallamos en la planificación, añadimos más programadores y adelantamos el tiempo perdido. (Horda Mongoliana). 18 de 87

19 Mitos del Cliente Un cliente que solicita un aplicación de software puede ser una persona del despacho de al lado, un grupo técnico de la sala de abajo, el departamento de ventas o una compañía exterior que solicita un software bajo contrato. En muchos casos, el cliente cree en los mitos que existen sobre el software, debido a que los gestores y desarrolladores del software hacen muy poco para corregir la mala información. Los mitos conducen a que el cliente se cree una falsa expectativa y, finalmente, quede insatisfecho con el desarrollo del software. 19 de 87

20 Mitos del Cliente Una declaración general de los objetivos es suficiente para comenzar a escribir los programas. Podemos dar los detalles más adelante. Los requerimientos cambian continuamente, pero los cambios pueden acomodarse fácilmente ya que el software es flexible. Cómo afecta un cambio en las diferentes fases del desarrollo del software? 20 de 87

21 Mitos del Cliente Impacto del Cambio X IMPACTO DEL CAMBIO 1,5-6X 1X DEFINICIÓN DESARROLLO DESPUÉS DE LA ENTREGA 21 de 87

22 Mitos de los Realizadores Los mitos en los que aún creen muchos desarrolladores se han ido fomentando durante 50 años de cultura informática. Durante los primeros días del desarrollo del software, la programación se veía como un arte. Las viejas formas y actitudes tardan en morir. 22 de 87

23 Mitos de los Realizadores No hay métodos para el análisis, diseño y prueba que funcionen bien, simplemente me voy al terminal y comienzo a codificar. Una vez que hacemos que el programa funcione, nuestro trabajo ha terminado. Hasta que no esté el programa terminado no puedo establecer su calidad. Lo único que se entrega al terminar el proyecto es el programa funcionando. Una vez que el software se está usando, el mantenimiento es mínimo y puede manejarse sobre la base de hacerlo como se pueda. 23 de 87

24 Reflexión sobre los Mitos Muchos profesionales del software reconocen la falacia de los mitos descritos anteriormente. Lamentablemente, las actitudes y métodos habituales fomentan una pobre gestión y una mala aplicación de las técnicas, incluso cuando la realidad dicta un método mejor. El reconocimiento de las realidades del software es el primer paso hacia la formulación de soluciones prácticas para su desarrollo. 24 de 87

25 Ingeniería del Software Definición de Ingeniería del Software (IS). La IS es una disciplina o área de la Informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar, mantener y documentar software de calidad qué, resuelve problemas de todo tipo, se ejecuta en máquinas reales y satisface las necesidades del cliente. La IS integra: Métodos, herramientas y procesos para el desarrollo del software bajo un enfoque de calidad. 25 de 87

26 Métodos Los métodos indican cómo construir técnicamente el software. Tareas que componen los métodos. Planificación; Estimación de proyectos. Análisis de requerimientos del software y hardware. Diseño de estructuras de datos, Arquitectura de los programas. Procedimientos algorítmicos. Codificación; Prueba; y Mantenimiento. 26 de 87

27 Herramientas y Procesos Las herramietas son un soporte automático o semiautomático para el proceso y los métodos. Microsoft Project (Planificación). UML (Modelado). RationalRose, visio (Modelado soportan UML). Designer Erwin (Bases de datos). MAGERIT (Seguridad). Los procesos son los encargados de integrar los métodos y herramientas, además de definir la secuencia en la que se aplican los métodos, las entregas que requieren, los controles de calidad y las guías para el desarrollo. 27 de 87

28 Fases Genéricas de la IS Definición. Tareas que la componen: Análisis del sistema. Planificación del Proyecto. Análisis de requisitos. Desarrollo. Tareas que la componen: Diseño del software. Codificación. Prueba del Software. Mantenimiento. Tipos de cambios: Corrección. Adaptación. Mejora. Prevención o Reingeniería. QUÉ CÓMO TIPO 28 de 87

29 Preguntas que debe Responder la IS cuál es el problema a resolver? Cuáles son las características de la entidad (solución) que se utiliza para resolver el problema? Cómo se realizará la solución? Cómo se construirá la entidad? Qué enfoque se va a utilizar para no contemplar los errores que se cometieron en el diseño y en la construcción de la solución? Cómo se apoyará la solución cuando usuarios soliciten correcciones, adaptaciones y mejoras de la entidad?. 29 de 87

30 Proceso del Software El proceso del software es un marco común para el proceso que define un pequeño número de actividades del marco de trabajo que son aplicables a todos los proyectos con independencia de su tamaño o complejidad. 30 de 87

31 Proceso del Software El proceso del software es un marco común para el proceso que define un pequeño número de actividades del marco de trabajo que son aplicables a todos los proyectos con independencia de su tamaño o complejidad. Marco de trabajo común Actividades del marco de trabajo Conjunto de trabajo Tareas Hitos, entregas SQA=Puntos de garantía de calidad Seguridad 31 de 87

32 Paradigma de la IS El modelo de proceso o paradigma de la IS es la estrategía que comprenden métodos, herramientas y procesos. El ingeniero debe seleccionar un modelo de proceso para ingeniería del software según la naturaleza del proyecto y de la aplicación, los métodos, las herramientas a utilizar, y los controles y entregas que se requieren. Los diferentes paradigmas lo que intentan es ordenar las actividades en el desarrollo del software, de manera que no sean llevadas a cabo de manera caótica. 32 de 87

33 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 33 de 87

34 Visión Generalizada de los Paradigmas Definición Desarrollo Mantenimiento 34 de 87

35 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 35 de 87

36 Modelo Lineal Secuencial Enfoque sistemático y secuencial Ingeniería de Sistemas Análisis Diseño Codificación Prueba Mantenimiento 36 de 87

37 Modelo Lineal Secuencial Ingeniería de sistemas. Se establecen los requerimientos de los elementos del sistema y se realiza la asignación. Análisis de requerimientos. Se establece y documenta el dominio del software. Se revisa con el cliente. Diseño. Se traducen los requerimientos en estructuras. Codificación. Prueba. Mantenimiento. 37 de 87

38 Problemas del Modelo Sec. Lineal Raramente los proyectos siguen este ciclo de vida. El cliente pocas veces establece todos los requerimientos al principio. El cliente no tiene un producto hasta el final. 38 de 87

39 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 39 de 87

40 Ciclo de Vida del Prototipado Recolección de Requerimientos Diseño Rápido Construcción del Prototipo Evaluar y Refinar los Requerimientos Producto Construido 40 de 87

41 Modelo de Construcción de Prototipos Por qué se usa este Modelo? El cliente no puede especificar todos los requerimientos al principio. Existen dudas de alguna parte del sistema. Facilita un modelo al programador. 41 de 87

42 Tipos de Prototipos Totales. Parciales. Interfaces. Modelos. Estructuras de datos. 42 de 87

43 Problemas del Prototipado El cliente lo quiere, aunque no es un producto software Módulos ineficientes se convierten en partes del sistema. 43 de 87

44 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 44 de 87

45 Modelo DRA El Modelo DRA consiste en un desarrollo rápido de aplicaciones basado en el modelo lineal secuencial, pero donde se enfatiza un ciclo de desarrollo extremadamente corto. Es una adaptación a alta velocidad del modelo lineal secuencial, donde se puede aumentar la velocidad haciendo uso de componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un sistema completamente funcional, dentro de periodos cortos de tiempo. 45 de 87

46 Modelo DRA EQUIPO Nº 1 MODELADO DE GESTIÓN MODELADO DE DATOS EQUIPO Nº 2 MODELADO DE GESTIÓN MODELADO DE DATOS EQUIPO Nº 3 MODELADO DE GESTIÓN MODELADO DE DATOS MODELADO DE PROCESOS GENERACIÓN DE APLICACIONES PRUEBAS Y ENTREGA MODELADO DE PROCESOS GENERACIÓN DE APLICACIONES PRUEBAS Y ENTREGA MODELADO DE PROCESOS GENERACIÓN DE APLICACIONES PRUEBAS Y ENTREGA 46 de 87

47 Problemas del Modelo DRA Para proyectos grandes necesitamos de recursos suficientes para formar los equipos necesarios. Compromiso de colaboración entre desarrolladores y clientes. No todas las aplicaciones son susceptibles de aplicar este modelo. Cuando los riesgos técnicos son altos DRA no es apropiado. Cuando el grado de interoperatividad con programas ya existentes es alto, no es apropiado. 47 de 87

48 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 48 de 87

49 Modelos Anteriores Modelo Lineal Secuencia. Diseñado para entregar un producto al final. Modelo de Construcción de Prototipos. Diseñado para que los clientes interactúen con los desarrolladores. Ninguno de los modelos anteriores se tiene en cuenta la naturaleza evolutiva del software. Las empresas son entes vivos que van evolucionando con el tiempo 49 de 87

50 Modelos Evolutivos Los modelos evolutivos se caracterizan porque permiten a los ingenieros del software, desarrollar de manera iterativa, nuevas versiones del software cada vez más completas. Los modelos que componen este tipo son: Modelo Incremental. Modelo en Espiral. Modelo en Espiral Victoria-Victoria (WINWIN). Modelo de Desarrollo Concurrente. 50 de 87

51 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos ágiles. Programación extrema. 51 de 87

52 Modelo Incremental El modelo Incremental combina elementos del modelo lineal secuencial (aplicados repetidamente) con la filosofía interactiva de construcción de prototipos. INGENIERÍA DE SISTEMAS ANÁLISIS DISEÑO CÓDIGO PRUEBA ENTREGA 1 ER INCREMENTO INGENIERÍA DE SISTEMAS ANÁLISIS DISEÑO CÓDIGO PRUEBA ENTREGA 2 ER INCREMENTO INGENIERÍA DE SISTEMAS ANÁLISIS DISEÑO CÓDIGO PRUEBA ENTREGA 3 ER INCREMENTO 52 de 87

53 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 53 de 87

54 Modelo en Espiral El Modelo en Espiral, propuesto originalmente por Boehm, es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Ideal para realizar versiones incrementales de manera rápida. El software se desarrolla en una serie de versiones incrementales. 54 de 87

55 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 55 de 87

56 Modelo en Espiral Victoria-Victoria El modelo en espiral visto anteriormente, dispone de una actividad de comunicación con el cliente. Comunicación Ideal. El desarrollador pregunta al cliente y el cliente facilita suficiente información para continuar. Comunicación Real. El cliente y el desarrollador entran en un proceso de negociación, donde el cliente puede ser preguntado para sopesar la funcionalidad, rendimiento, y otras características. Las mejores negociaciones se esfuerzan en obtener <<victoriavictoria>>. Este modelo definido por Boehm, define un conjunto de actividades de negociación al principio de cada paso alrededor de la espiral. 56 de 87

57 Modelo en Espiral Victoria-Victoria 57 de 87

58 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos ágiles. Programación extrema. 58 de 87

59 Modelo de Desarrollo Concurrente El Modelo de Desarrollo Concurrente dado por Davis y Sitaram, se puede representar en forma de esquema como una serie de actividades técnicas importantes, tareas y estados asociados a ellas. El modelo Concurrente define una serie de acontecimientos que dispararán transiciones de estado a estado para cada una de las actividades de la Ingeniería del software. Este modelo se utiliza a menudo como el paradigma de desarrollo de aplicaciones cliente/servidor. 59 de 87

60 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 60 de 87

61 Modelo Basado en Componentes La tecnología de objetos proporciona el marco de trabajo técnico para un modelo de proceso basado en componentes para la IS. El paradigma orientado a objetos enfatiza en la creación de clases que encapsulan tanto los datos como los algoritmos que se utilizan para manejar los datos. Si se diseñan e implementan las clases correctamente, podrían ser reutilizables por las diferentes aplicaciones y arquitecturas de sistemas basados en computadores. 61 de 87

62 Modelo Basado en Componentes El modelo de desarrollo basado en componentes incorpora muchas de las características del modelo en espiral. Es evolutivo por naturaleza y exige un enfoque iterativo para la creación de software. Configura aplicaciones desde componentes preparados de software. El modelo basado en componentes conduce a la reutilización del software, proporcionando beneficios a los ingenieros de software. 62 de 87

63 Modelo Basado en Componentes La reutilización según estudios: Reduce el ciclo de vida en un 70%. Reduce el coste del proyecto en un 84%. Aumenta la productividad. 63 de 87

64 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 64 de 87

65 Modelo de Métodos Formales El Modelo de Métodos Formales comprende un conjunto de actividades que conducen a la especificación matemática del software de computadora. Los métodos formales permiten que un ingeniero de software especifique, desarrolle y verifique un sistema basado en computadora aplicando una notación rigurosa y matemática. Con este modelo se consigue software libre de errores. Es difícil de aplicar, por diferentes motivos, pero para software de alta seguridad es muy adecuado. También se le conoce como Ingeniería del Software de Sala Limpia. 65 de 87

66 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 66 de 87

67 Técnicas de 4ª Generación El término técnicas de cuarta generación abarca un amplio espectro de herramientas de software que tienen algo en común: Todas facilitan al ingeniero del software la especificación de algunas características del software de alto nivel. Las herramientas general el código automáticamente en base a las especificaciones del ingeniero. Herramientas de 4ª Generación. Lenguajes no procedurales para consultas de BD. Generación de Informes. Manipulación de Datos. Definición de pantallas y código. Gráficos. Hoja de cálculo. 67 de 87

68 Ciclo de Vida de las Técnicas de 4 Gen. Recolección de Requerimientos Estrategias de Diseño Implementación usando L4G Producto 68 de 87

69 Paradigmas de la IS Paradigmas. Ciclo de vida clásico Modelo lineal secuencial Modelo en cascada. Prototipos. Modelo DRA (RAD. Rapid Application Development). Modelos Evolutivos de Proceso Incremental. Espiral. Espiral WINWIN. Modelo de desarrollo concurrente. Modelo basado en componentes. Modelo basado en métodos formales. Técnicas de cuarta generación. Modelos agiles. Programación extrema. 69 de 87

70 Modelos Ágiles/Programación Extrema La idea de la Ingeniería de requisitos es conseguir un cuadro totalmente entendido de los requisitos antes de empezar a construir el software. Conseguir la firma del cliente sobre los requisitos y preparar los procedimientos para limitar los cambios después de la firma. El problema surge cuando se intenta añadir un nuevo requisito porque la estimación del coste es difícil. Por qué es difícil esta tarea? Porque la actividad de desarrollo del software es una actividad de Diseño. 70 de 87

71 Procesos Adaptables o Ágiles Si bien el desarrollo iterativo tiene sentido en los procesos predictivos, también lo es en los procesos adaptables porque este tipo de proceso necesita poder tratar con los cambios. Este estilo nos lleva a que los planes a largo plazo son adaptables y los únicos planes adaptables son los que se hacen a corto plazo. En un proceso adaptable el cliente tiene mucho control sobre el proceso de desarrollo, ya que en cada iteración puede interactuar como alterar la dirección del mismo. En este tipo de procesos se forma un verdadero equipo entre los desarrolladores y los clientes. 71 de 87

72 Modelos Ágiles/Programación Extrema Se consigue un producto que funciona pronto con los beneficios que esto conlleva para el cliente, comprende el sistema y puede introducir mejoras que lo hacen eficaz. Un proyecto es bueno cuando se ajusta al plan. Sin embargo un proyecto ágil tiene que obtener mejores resultados que los que fueron establecidos inicialmente. El problema de los modelos ágiles es que requieren de un equipo eficaz de desarrollo, tanto a nivel individual como de equipo. En los proyectos tradicionales el personal puede ser reemplazado, sin embargo en los modelos ágiles esto varia, los desarrolladores pueden tomar todas las decisiones. 72 de 87

73 Modelos Ágiles/Programación Extrema Los equipos ágiles tienen una gran comunicación tanto los desarrolladores como los expertos del negocio (cambios continuos en la tecnología). La Programación Extrema (XP) comienza con cuatro valores: Comunicación, Retroalimentación, Simplicidad y Coraje. La XP agrupas todas las técnicas y pone todo su énfasis en realizar pruebas, donde cada programador escribe sus pruebas conforme desarrolla software. La XP es un desarrollo evolutivo donde en cada iteración de consigue un producto final. 73 de 87

74 Proceso Unificado de Desarrollo del Software El Proceso Unificado de Desarrollo del Software (PUDS) es un proceso basado en componentes que ha sido propuesto por la industria. El proceso unificado dispone de un Lenguaje de Modelado Unificado (UML), que es utilizado construir el sistema y las interfaces que conectarán los componentes. El PUDS combina un desarrollo incremental e iterativo, definiendo la función del sistema aplicando un enfoque basado en escenarios. 74 de 87

75 Proceso Unificado de Desarrollo del Software El PUDS se puede decir que es un proceso: Dirigido por los casos de uso. Basándose en el modelo de casos de uso y en su análisis los desarrolladores crean los modelos de diseño e implementación que llevan a cabo los casos de uso. Centrado en la arquitectura. La arquitectura de un sistema software se describe mediante diferentes vistas del sistema en construcción. Iterativo e Incremental. El desarrollo de un proyecto se divide en iteraciones, encargadas de pequeñas partes del trabajo y que dan como resultado un crecimiento del producto, incremento. Estas iteraciones se planifican y se prueban cada vez que terminan. 75 de 87

76 Proceso Unificado ANÁLISIS DISEÑO CÓDIGO PRUEBA ENTREGA 1 INCREMENTO Prototipo Exploratorio ANÁLISIS DISEÑO CÓDIGO PRUEBA ENTREGA 2 INCREMENTO Línea Base de la Arquitectura ANÁLISIS DISEÑO CÓDIGO PRUEBA ENTREGA 3 INCREMENTO Versión Operativa Inicial ANÁLISIS DISEÑO CÓDIGO PRUEBA ENTREGA 4 INCREMENTO Entrega del Producto 76 de 87

77 Métrica 3 La metodología Métrica 3 es un instrumento para la sistematización de las actividades que dan soporte al ciclo de vida del software. Contempla el desarrollo de sistemas de información para las distintas tecnologías que actualmente conviven. En la elaboración de Métrica 3 se han tenido en cuenta los métodos de desarrollo más extendidos, así como los últimos estándares de ingeniería del software y calidad, además de referencias especificas en cuanto a seguridad y gestión de proyectos. 77 de 87

78 Métrica 3 Cubre el desarrollo estructurado y orientado a objetos. Facilita los procesos de apoyo y de organización a través de interfaces: Gestión de proyectos; Gestión de configuración; Aseguramiento de calidad y seguridad. La automatización de sus actividades es posible ya que existe una amplia variedad de herramientas de ayuda al desarrollo. Existe una herramienta que adapta Métrica 3 a las condiciones especificas de cada proyecto, permitiendo el control y seguimiento desde diferentes perfiles. Posee un curso de formación. 78 de 87

79 Por que una Metodología de Desarrollo? La utilización de una metodología en el desarrollo de sistemas permite: Disponer de un marco estratégico que permite conseguir los fines de la organización. Dotar a la organización de productos software que satisfagan las necesidades de los usuarios dando una mayor importancia al análisis de requisitos. 79 de 87

80 Metodología de Desarrollo Mejorar la productividad de los departamentos de sistemas y tecnologías de la información y las comunicaciones, permitiendo una mayor capacidad de adaptación a los cambios y teniendo en cuenta la reutilización en la medida de lo posible. Facilitar la comunicación y entendimiento entre los distintos participantes en la producción de software a lo largo del ciclo de vida del proyecto, teniendo en cuenta su papel y responsabilidad, así como las necesidades de todos y cada uno de ellos. Facilitar la operación, mantenimiento y uso de los productos software obtenidos. 80 de 87

81 Metodología DUM DUM es una metodología evolutiva e incremental de desarrollo del software que ha sido creada en el departamento de Lenguajes y Ciencias de la Computación de la. Basada en un enfoque iterativo incremental esta metodología realiza una especificación exhaustiva de todas las actividades y tareas que se realizan en las diferentes fases, prestado especial atención por alcanzar un nivel superior de madurez según el marco CMMI/Carnegie Mellon. Las fases en las que se subdivide la metodología DUM son las siguientes: fase preliminar, fase de Inicio, fase de elaboración, fase de construcción, fase de transición; y finalmente, una fase de mantenimiento. 81 de 87

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Agenda Objetivo. Unidades de aprendizaje. Formas de evaluación. Bibliografía. 2 Datos del profesor Correo electrónico: egonzalez@upemor.edu.mx Asesorías Jueves de 11:00 a 13:00

Más detalles

Modelos de Proceso Tradicionales

Modelos de Proceso Tradicionales Modelos de Proceso Tradicionales Capitulo 2,QJHQLHUtDGHO6RIWZDUH (VSHFLDOL]DFLyQHQ*HUHQFLDGH6LVWHPDVGH,QIRUPDFLyQ 8QLYHUVLGDG6DQWLDJRGH&DOL Profesor: MSc. MIGUEL ANGEL NIÑO ZAMBRANO Programación: Tiempo

Más detalles

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA Resumen AUTORIA CARLOS CABALLERO GONZÁLEZ TEMATICA INFORMÁTICA ETAPA ESO-BACHILLERATO-CFGM(ESI,ASI,DSI) Se describe la revolución que supuso la incursión

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

INTRODUCCION A LA INGENIERIA DE SOFTWARE

INTRODUCCION A LA INGENIERIA DE SOFTWARE UNIDAD I INTRODUCCION A LA INGENIERIA DE SOFTWARE Contenido: 1.1 Definiciones 1.2 Evolucion del Software 1.3 Importancia del Software 1.4 Problemas del Software 1.5 Caracteristicas del Software 1.6 Conceptos

Más detalles

Tema 1 Introducción a la Ingeniería de Software

Tema 1 Introducción a la Ingeniería de Software Tema 1 Introducción a la Ingeniería de Software Curso Ingeniería de Software UMCA Profesor Luis Gmo. Zúñiga Mendoza 1. Software En la actualidad todo país depende de complejos sistemas informáticos. Podemos

Más detalles

Ciclo de vida del Software

Ciclo de vida del Software Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por

Más detalles

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred. cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.com CICLO DE VIDA DEL SOFTWARE Para apreciar un poco más el problema

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Modelos de desarrollo de software. septiembre de 2007 1

Modelos de desarrollo de software. septiembre de 2007 1 Modelos de desarrollo de software septiembre de 2007 1 Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville,

Más detalles

JUSTIFICACIÓN DEL DESARROLLO DE UN SE

JUSTIFICACIÓN DEL DESARROLLO DE UN SE JUSTIFICACIÓN DEL DESARROLLO DE UN SE El beneficio económico que representa la solución del problema es alto La experiencia humana puede desaparecer La experiencia humana no se encuentra comúnmente disponible

Más detalles

Tema 13. Metodologías en el desarrollo de Sistemas de Software. Prof. Oscar Adolfo Vallejos

Tema 13. Metodologías en el desarrollo de Sistemas de Software. Prof. Oscar Adolfo Vallejos Tema 13 Metodologías en el desarrollo de Sistemas de Software Prof. Oscar Adolfo Vallejos Desarrollo de Sistemas de Software Objetivo Conceptos en el contexto más amplio de Software e Ingeniería de Software

Más detalles

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L REFERE CIA AL SISTEMA EDUCATIVO ACTUAL. Los contenidos de este tema, están enfocados a introducir al alumno en el concepto de Ingeniería del

Más detalles

Cristian Blanco www.cristianblanco.es

Cristian Blanco www.cristianblanco.es 3.1.- INTRODUCCIÓN Para realizar el desarrollo de cualquier proyecto de software es necesario llevar una sistemática de trabajo, que nos asegure el éxito del mismo. Lo que tenemos que evitar, en el desarrollo

Más detalles

TRABAJO FINAL ESPECIALIDAD EN CONTROL Y GESTION DE SOFTWARE GESTIÓN DE CONFIGURACIÓN DE PRODUCTOS SOFTWARE EN ETAPA DE DESARROLLO

TRABAJO FINAL ESPECIALIDAD EN CONTROL Y GESTION DE SOFTWARE GESTIÓN DE CONFIGURACIÓN DE PRODUCTOS SOFTWARE EN ETAPA DE DESARROLLO TRABAJO FINAL ESPECIALIDAD EN CONTROL Y GESTION DE SOFTWARE GESTIÓN DE CONFIGURACIÓN DE PRODUCTOS SOFTWARE EN ETAPA DE DESARROLLO Autor: Lic. Claudio Jorge Rancán Directora: M.Ing. Paola Britos Julio 2003

Más detalles

Ingeniería de Software. Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María visconti@inf.utfsm.

Ingeniería de Software. Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María visconti@inf.utfsm. Ingeniería de Software Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María visconti@inf.utfsm.cl Ingeniería?? de Software Grandes Problemas Actuales Retraso respecto

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Tabla de Contenidos PARTE I INTRODUCCIÓN Capítulo 1: Evolución Los hitos en la evolución histórica del Desarrollo de Software Problemas y soluciones... Fallas, malas estimaciones

Más detalles

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software IX Contenidos Prólogo... XIX Prefacio... XXI Guía de lectura...xxiii Parte I - Introducción Capítulo 1 - Evolución 1.1 Introducción... 2 1.2 Los hitos en la evolución histórica del desarrollo de software...

Más detalles

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG)

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Grupo de Ingeniería del Software Antonio José Sáenz Albanés (C.T.O) Reconocimiento No Comercial Compartir Igual - 3.0 - España 1 Objetivos del Tema Qué

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: CICLO DE VIDA VISIÓN TRADICIONAL DEL CICLO DE VIDA DEL DESARROLLO DE SISTEMAS DE INFORMACIÓN STEMAS DE INFORMACIÓN Material diseñado y elaborado por: Prof. Luis Eduardo Mendoza M. Material revisado

Más detalles

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Introducción Este documento recopila las preguntas, opiniones y respuestas que se produjeron en un pequeño curso sobre las

Más detalles

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular. El proceso software Un conjunto estructurado de actividades y resultados asociados que conducen a la creación de un producto de software Especificación: Definir la funcionalidad y las restricciones en

Más detalles

Ciclo de vida y Requerimientos de software. Laboratorio de Programación

Ciclo de vida y Requerimientos de software. Laboratorio de Programación Ciclo de vida y Requerimientos de software Laboratorio de Programación b d ó Parte 1 Un modelo es una estructura guía, abstracciones, marcos del proceso que pueden se extendidos y adaptados d para crear

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Ingeniería de Software

Ingeniería de Software UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA MODULO ESCUELA DE CIENCIAS BASICAS, TECNOLOGÍA E INGENIERIA PROGRAMA INGENIERIA DE SISTEMAS Ingeniería de Software Autor: Ing. Alexandra Aparicio Revisado y Editado:

Más detalles

METODOLOGÍA TRADICIONAL.

METODOLOGÍA TRADICIONAL. COMPARACIÓN DE METODOLOGÍAS METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) Este documento presenta un resumen de Rational Unified Process (RUP). Se describe la historia de la metodología, características principales y estructura del proceso. RUP

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

METODOLOGÍA TRADICIONAL.

METODOLOGÍA TRADICIONAL. METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

Departamento de Lenguajes y Sistemas Informáticos. Ciclo de vida del software

Departamento de Lenguajes y Sistemas Informáticos. Ciclo de vida del software El Ciclo de Vida Software Departamento de Lenguajes escuela técnica superior de ingeniería informática Grupo de Ingeniería a Software Febrero 2006 Versión original: Amador Durán Toro (septiembre 2004)

Más detalles

PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE. Carlos Barra Peñaloza *

PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE. Carlos Barra Peñaloza * 1 PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE Carlos Barra Peñaloza * El Ciclo de Vida del Software. El Ciclo de Vida del Software (CVS) describe todo el proceso de software de un sistema dado, desde

Más detalles

El Producto. Qué es la Ingeniería de Software? Tecnología para construir software Un proceso Un conjunto de métodos Herramientas

El Producto. Qué es la Ingeniería de Software? Tecnología para construir software Un proceso Un conjunto de métodos Herramientas El Producto Qué es la Ingeniería de Software? Tecnología para construir software Un proceso Un conjunto de métodos Herramientas Evolución Primeros años Principios 1960 s orientación batch distribución

Más detalles

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Cenditel, Mayo 2011 Licencia de Uso Copyright (c) 2010, Alvarez J., Solé S., Briceño R., Fundación CENDITEL. La Fundación CENDITEL

Más detalles

TEMA INFORMÁ TICA. Desarrollo de los temas. elaborado por EL EQUIPO DE PROFESORES DEL CENTRO DOCUMENTACIÓN

TEMA INFORMÁ TICA. Desarrollo de los temas. elaborado por EL EQUIPO DE PROFESORES DEL CENTRO DOCUMENTACIÓN TEMA 48 INFORMÁ TICA Desarrollo de los temas Ingeniería del «software». Ciclo de desarrollo del «software». Tipos de ciclos de desarrollo. Metodologías de desarrollo. Características distintivas de las

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 7. Modelos del ciclo de vida del software

Fundamentos de Ingeniería del Software. Capítulo 7. Modelos del ciclo de vida del software Fundamentos de Ingeniería del Software Capítulo 7. Modelos del ciclo de vida del software Caminar sobre las aguas y desarrollar programas a partir de las especificaciones es fácil, si ambas están congeladas

Más detalles

IT Project Management Desarrollo de Software

IT Project Management Desarrollo de Software IT Project Management Desarrollo de Software Es posible una mezcla de Waterfall y Agile? Cómo se acerca el PMBOK a Agile? Autor: Norberto Figuerola Resulta muy frecuente que se suela confundir una aproximación

Más detalles

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software 3.010 CONCEPTO DE CICLO DE VIDA Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software IEEE 1074 Un marco de referencia que contiene los

Más detalles

El Producto: Software

El Producto: Software Este material está basado en el curso preparado por A.Navarro, UCM U (que a su vez sigue el texto del libro de Pressman) El Producto: Software Ingeniería del Software de Gestión 1 Facultad de Informática

Más detalles

2.1 Ingeniería de Software

2.1 Ingeniería de Software Capítulo 2 Marco Teórico Se pretende desarrollar un software que pueda ser aplicado como una herramienta útil para la administración de una empresa. Es necesario tener en cuenta que, en todo desarrollo

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

MANTENIMIENTO DE SOFTWARE

MANTENIMIENTO DE SOFTWARE MANTENIMIENTO DE SOFTWARE Definición de Mantenimiento El estándar IEEE 1219 [IEEE, 1993] define el Mantenimiento del Software como la modificación de un producto software después de haber sido entregado

Más detalles

INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE

INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE Agenda El software. Definición de software Dominios de aplicación Software heredado La naturaleza de las webapps Ingeniería del software

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

Fundamentos de Ingeniería de Software [Modelos]

Fundamentos de Ingeniería de Software [Modelos] Fundamentos de Ingeniería de Software [Modelos] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 13-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software

Más detalles

Construcción de sistemas de soporte a la toma de decisiones

Construcción de sistemas de soporte a la toma de decisiones INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO Construcción de sistemas de soporte a la toma de decisiones M. En C. Eduardo Bustos Farías 1 Desarrolla en Sistemas de Apoyo de Decisión Como

Más detalles

SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE

SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE Recibido: 23 de febrero de 2011 Aceptado: 29 de marzo de 2011 SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE MSc. Ailin Orjuela, MSc. Luis Alberto Esteban, MSc.

Más detalles

INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE Sira Vegas Hernández Ingeniería del Software II Octubre 2008 Índice Perspectiva histórica y conceptual de la IS Proceso software Ciclos de vida 2 PERSPECTIVA HISTÓRICA

Más detalles

Denominación de la materia. N créditos ECTS = 36 carácter = OBLIGATORIO SISTEMAS DE SOFTWARE. Ubicación dentro del plan de estudios y duración

Denominación de la materia. N créditos ECTS = 36 carácter = OBLIGATORIO SISTEMAS DE SOFTWARE. Ubicación dentro del plan de estudios y duración Denominación de la materia SISTEMAS DE SOFTWARE N créditos ECTS = 36 carácter = OBLIGATORIO Ubicación dentro del plan de estudios y duración La materia Sistemas de Software está formada por 6 asignaturas

Más detalles

El proceso unificado en pocas palabras

El proceso unificado en pocas palabras El Proceso Unificado de Desarrollo de Software Ivar Jacobson Grady Booch James Rumbaugh Addison Wesley Resumen Capítulo 1. El proceso unificado: dirigido por casos de uso, centrado en la arquitectura,

Más detalles

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A. Cátedra : Sistemas de Información Administrativa S.I.A. Escuela de Contadores Auditores Tema: Ingeniería del Software SLC -ERS Relator: Sr. Eduardo Leyton G Ingeniería de Software (IS) Es una disciplina

Más detalles

Definir el problema/oportunidad. Desarrollar soluciones alternativas. Seleccionar la solución. Desarrollar / Seleccionar-Adquirirconfigurar

Definir el problema/oportunidad. Desarrollar soluciones alternativas. Seleccionar la solución. Desarrollar / Seleccionar-Adquirirconfigurar 1 Definir el problema/oportunidad Definir problema de negocio o la oportunidad de mejora utilizando el pensamiento sistémico. Mapa Conceptual Desarrollar soluciones alternativas Seleccionar la solución

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica C1. Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar

Más detalles

Proceso de desarrollo de aplicaciones software.

Proceso de desarrollo de aplicaciones software. Programación orientada a objetos: Lenguages, Metodologías y Herramientas Master de Computación Proceso de desarrollo de aplicaciones software José M. Drake Computadores y Tiempo Real Santander, 2008 Ingeniería

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE INGENIERÍA DEL SOFTWARE Sesión No. 2 Nombre: Procesos de ingeniería del software INGENIERÍA DEL SOFTWARE 1 Contextualización La ingeniería de software actualmente es muy importante, pues con los avances

Más detalles

PRINCIPIOS DE PRUEBAS. ENFOQUE ESTRATEGICO.

PRINCIPIOS DE PRUEBAS. ENFOQUE ESTRATEGICO. PRINCIPIOS DE PRUEBAS. ENFOQUE ESTRATEGICO. 0. Consideraciones iniciales. Las pruebas son un conjunto de actividades que se pueden planificar por adelantado y llevar a cabo sistemáticamente. Por esta razón,

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 2 Unidad 1 Ciclo de vida del software y Diseño Orientado a Objetos Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto

Más detalles

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile Ciclo de Vida del Desarrollo de un Sistema de Información Departamento de Ingeniería Industrial Universidad de Chile Temario Noción de un Ciclo de Vida Ventajas y Desventajas Modelos de Ciclos de Vida

Más detalles

Metodologías de Desarrollo de Sistemas de Información

Metodologías de Desarrollo de Sistemas de Información Metodologías de Desarrollo de Sistemas de Información Metodología para el Desarrollo de SI Las metodologías son sistemas completos de técnicas que incluyen procedimientos paso a paso, productos resultante,

Más detalles

El Proceso de Desarrollo de Software. Diseño de Software Avanzado Departamento de Informática

El Proceso de Desarrollo de Software. Diseño de Software Avanzado Departamento de Informática El Proceso de Desarrollo de Software La Ingeniería del Software Ingeniería... La profesión en la que el conocimiento de las ciencias naturales y matemáticas, ganado con estudio, experiencia y práctica,

Más detalles

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL DNI Apellidos y nombre 1. Cuál de las siguientes afirmaciones no es una causa de los problemas del software?

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización

Más detalles

CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE.

CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE. CAPÍTULO I NUEVOS ENFOQUES DE LA INGENIERÍA DE SOFTWARE. 1.1. INTRODUCCIÓN. La ingeniería de software esta inmiscuida en cada proyecto que lleva implícita la calidad total de un sistema, si bien es posible

Más detalles

Sistemas de Información

Sistemas de Información Sistemas de Información SISTEMAS DE INFORMACIÓN 1 Lectura No. 7 Nombre: Modelo en espiral, proceso unificado y tendencias modernas de modelos de desarrollo de sistemas Contextualización Como ya es bien

Más detalles

INGENIERÍA DEL SOFTWARE: METODOLOGÍAS Y CICLOS DE VIDA

INGENIERÍA DEL SOFTWARE: METODOLOGÍAS Y CICLOS DE VIDA INGENIERÍA DEL SOFTWARE: METODOLOGÍAS Y CICLOS DE VIDA Laboratorio Nacional de Calidad del Software Marzo 2009 NOTA DE EDICIÓN Esta guía ha sido desarrollada por el Laboratorio Nacional de Calidad del

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Fundamentos de Ingeniería de Software

Fundamentos de Ingeniería de Software Fundamentos de Ingeniería de Software Marcello Visconti y Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María {visconti,hernan} at inf.utfsm.cl Fundamentos de Ingeniería

Más detalles

Por qué es importante? Porque proporciona. a una actividad que puede, si no se controla, volverse caótica.

Por qué es importante? Porque proporciona. a una actividad que puede, si no se controla, volverse caótica. CAPÍTULO H OWARD Baetjer, Jr. [BAE98], en un libro fascinante que proporciona un punto de vista economicista del software y de la ingeniería del software, comenta sobre el proceso: Como el software, al

Más detalles

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo Ingeniería de Software Procesos Laboratorio de Ingeniería de Software 2004 La ingeniería de software trata sobre la aplicación de practicas y métodos para construir productos de software que cumplan las

Más detalles

Fundamentos del diseño de software

Fundamentos del diseño de software Fundamentos del diseño de software El diseño es el primer paso de la fase de desarrollo de cualquier producto o sistema de ingeniería. Definición de diseño según Taylor Proceso de aplicar distintas técnicas

Más detalles

INSTITUTO TECNOLÓGICO SUPERIOR DE APATZINGÁN

INSTITUTO TECNOLÓGICO SUPERIOR DE APATZINGÁN INSTITUTO TECNOLÓGICO SUPERIOR DE APATZINGÁN INVESTIGACIÓN DOCUMENTAL Alumno: Alejandra Virrueta Méndez Carrera: Ingeniería en Informática. Docente: Esmeralda Villegas Zamudio Asignatura: Fundamentos de

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Tema 1: Computadores y Programas

Tema 1: Computadores y Programas Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

Unidades temáticas de Ingeniería del Software. Software e Ingeniería del Software 5ª edición (2008)

Unidades temáticas de Ingeniería del Software. Software e Ingeniería del Software 5ª edición (2008) Unidades temáticas de Ingeniería del Software Software e Ingeniería del Software 5ª edición (2008) la importancia del software El software ha evolucionado durante las últimas cinco décadas aunque no al

Más detalles

Mantenimiento del Software

Mantenimiento del Software Mantenimiento del Software S3 Francisco Ruiz, Macario Polo Grupo Alarcos Dep. de Informática ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASTILLA-LA MANCHA http://alarcos.inf-cr.uclm.es/doc/mso/ Ciudad

Más detalles

Mantenimiento del Software

Mantenimiento del Software Mantenimiento del Software S1 Francisco Ruiz, Macario Polo Grupo Alarcos Dep. de Informática ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASTILLA-LA MANCHA http://alarcos.inf-cr.uclm.es/doc/mso/ Ciudad

Más detalles

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software Hugo F. Arboleda Jiménez. MSc. Docente-Investigador, Facultad de Ingenierías, Universidad de San

Más detalles

Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software

Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software Jorge Bozo jbozo@inf.ucv.cl Escuela de Ingeniería Informática Universidad Católica de Valparaíso Valparaíso, Chile

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

Más detalles

El Proceso Unificado

El Proceso Unificado El Proceso Unificado de Desarrollo de Software Prof. Gustavo J. Sabio Alcance de la presentación QA Entradas Proceso de desarrollo Salida equipo Cliente sistemas Cliente necesidades actividades varias

Más detalles

Contenido TEMARIO... 2 INTRODUCCIÓN... 4 INGENIERÍA DEL SOFTWARE... 5 EL INICIO... 6 GESTIÓN DE PROYECTOS... 10 INGENIERÍA DE SISTEMAS...

Contenido TEMARIO... 2 INTRODUCCIÓN... 4 INGENIERÍA DEL SOFTWARE... 5 EL INICIO... 6 GESTIÓN DE PROYECTOS... 10 INGENIERÍA DE SISTEMAS... Contenido TEMARIO... 2 INTRODUCCIÓN... 4 INGENIERÍA DEL SOFTWARE... 5 EL INICIO... 6 GESTIÓN DE PROYECTOS... 10 INGENIERÍA DE SISTEMAS... 20 ANÁLISIS DE REQUERIMIENTOS... 22 DISEÑO DE LA SOLUCIÓN... 30

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6

En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6 2. MÉTODO, METODOLOGÍA Y MÉTRICA 2.1 MÉTODO Un método de ingeniería del software es un enfoque estructurado para el desarrollo de software cuyo propósito es facilitar la producción de software de alta

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

Análisis y Diseño de Aplicaciones

Análisis y Diseño de Aplicaciones Análisis y Diseño de Aplicaciones Ciclo de Vida Docente: T/RT Gonzalo Martínez CETP EMT Informática 3er Año Introducción En el desarrollo de sistemas, el ciclo de vida son las etapas por las que pasa un

Más detalles

Ingeniería de Software: Parte 2

Ingeniería de Software: Parte 2 Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

Más detalles

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Desarrollo Ágil Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Coordinación de Ciencias Computacionales INAOE 2011 Preguntas

Más detalles

Administración de proyectos. Organizar, planificar y programar los proyectos de software

Administración de proyectos. Organizar, planificar y programar los proyectos de software Administración de proyectos Organizar, planificar y programar los proyectos de software Administración de proyectos Trata de las actividades que hay que realizar para asegurar que el software se entregará

Más detalles