Fundamentos de Ingeniería de Software [Modelos]

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

Download "Fundamentos de Ingeniería de Software [Modelos]"

Transcripción

1 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 1 / 59

2 Modelos de proceso de software Modelos de proceso de software I Un proceso de software es una secuencia de actividades que conducen a la elaboración de un producto de software. El desarrollo puede ser desde cero o extendiendo y modificando software ya existente. Actividades básicas de un proceso de software. Especificación del software. Definir el alcance del proyecto. Clientes Ingenieros. Desarrollo del software. Diseño y Programación. Ingenieros. Validación del software. Pruebas. Ingenieros + Clientes. Evolución del software. Estar al día con las necesidades del cliente. Ingenieros + Clientes. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 2 / 59

3 Modelos de proceso de software Modelos de proceso de software II Las descripciones de los procesos deben considerar: El producto final. Diseño de software arquitectura del software. Roles/Funciones. Responsabilidades y funciones de los involucrados en el proyecto. Precondiciones y postcondiciones. Declaraciones válidas de actividades/módulos del proceso. Se analizarán los siguientes modelos de proceso de software: En cascada. Royce En espiral. Barry Bohem Incremental. Orientado a la reutilización. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 3 / 59

4 Modelos de proceso de software Modelo en cascada I Modelo en cascada Se denomina modelo en cascada por que cada fase del modelo conduce a otra. También se conoce como ciclo de vida del software. Consiste de cinco fases. Análisis y definición de requerimientos. Diseño del sistema y del software. Implementación y pruebas de unidad. Integración y pruebas del sistema. Operación y mantenimiento. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 4 / 59

5 Modelos de proceso de software Modelo en cascada Modelo en cascada II Análisis y definición de requerimientos Se debe definir el alcance del proyecto -servicios, restricciones, metas- mediante consultas/entrevistas con el cliente y usuarios del sistema. Se debe establecer un documento de especificación de requisitos que servirá como referencia de lo que se debe hacer. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 5 / 59

6 Modelos de proceso de software Modelo en cascada Modelo en cascada III Diseño del sistema y del software Se establecen los requerimientos hardware y/o software del sistema global. Se deben describir a detalle los componentes principales del software y las relaciones entre ellos. Lo anterior debe quedar plasmado en un documento del diseño del software. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 6 / 59

7 Modelos de proceso de software Modelo en cascada IV Modelo en cascada Implementación y pruebas de unidad Se lleva a cabo la programación del diseño del sistema. Se deben realizar prototipos y pruebas sobre estos, que permitan detectar y corregir errores. La pruebas consisten en verificar que cada componente cumpla con su especificación. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 7 / 59

8 Modelos de proceso de software Modelo en cascada Modelo en cascada V Integración y pruebas del sistema Los componentes se integran a fin de formar el sistema global. Se debe verificar el funcionamiento del nuevo sistema acorde a los requerimientos establecidos. Se libera la nueva versión al cliente para sus usuarios también realicen pruebas. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 8 / 59

9 Modelos de proceso de software Modelo en cascada VI Modelo en cascada Operación y mantenimiento Una versión final del sistema queda instalada y puesta en práctica. Los errores que resulten deben ser corregidos. Las mejoras requeridas deben ser realizadas. El sistema debe ser flexible para adecuarse a nuevos requerimientos. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 9 / 59

10 Modelos de proceso de software Modelo en cascada VII Modelo en cascada Ventajas La organización y actividades de las fases se encuentran bien definidas. Funciona bien para proyectos donde se encuentran bien definidos los requerimientos y el software que se desea. La planificación es sencilla pues existe una secuencia bien definida de los pasos del proceso de software. La calidad del producto final es alta. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 10 / 59

11 Modelos de proceso de software Modelo en cascada Modelo en cascada VIII Desventajas Las iteraciones pueden ser costosas. Lleva demasiado tiempo atravesar por todo el ciclo. Algunas fases pueden quedar pendientes. Las actualizaciones pueden ser costosas. Si el proyecto es muy grande, su revisión completa puede implicar mucho tiempo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 11 / 59

12 Modelo en espiral I Modelos de proceso de software Modelo en espiral Es un modelo evolutivo. El modelo se puede visualizar como una espiral donde cada iteración es un conjunto de actividades. Las nuevas actividades se eligen en función de la iteración anterior. Cada giro se puede visualizar como una nueva versión del sistema. Es un enfoque más práctico. Existen diversas variantes de este modelo: Bohem, seis regiones, ganar-ganar. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 12 / 59

13 Modelos de proceso de software Modelo en espiral Modelo en espiral II Modelo de Bohem Planificación. En la primera iteración se realizan la recolección de requisitos y la planificación del proyecto. Después, la planificación puede ir cambiando en base a los comentarios del cliente. Análisis de riesgo. En la primera iteración se realiza el análisis de riesgo basado en los requisitos iniciales. Después, este se adecua a la reacción del cliente. Ingeniería. Una nueva versión del sistema es liberada. Evaluación del cliente. El cliente pone a prueba el sistema incluso puede poner la versión en producción. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 13 / 59

14 Modelos de proceso de software Modelo en espiral III Modelo en espiral Modelo de seis regiones Comunicación con el cliente. Se realiza la recolección de requisitos. Planificación. Planificación del proyecto -recursos, tiempo, etc.-. Análisis de riesgo. Análisis de riesgo basado en los requisitos. Tareas donde se ponen en claro los riesgos técnicos y todo lo relacionado al proyecto. Ingeniería. Construir toda la arquitectura del sistema. Construcción y adaptación. Programar, probar, instalar y dar soporte al usuario. Evaluación del cliente. Obtención de la reacción del cliente. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 14 / 59

15 Modelos de proceso de software Modelo en espiral IV Modelo en espiral Modelo ganar-ganar o teoría W [Boehm y Ross, 1989] Conjunto de precondiciones. Comprender la forma en que las personas quieren ganar. Establecer expectativas por parte de los implicados. Adecuar las tareas. Proceso de software. Establecer un plan realista. Planificar el proyecto. Identificar y gestionar los riesgos donde todos pierden o unos pierden y otros ganan. Mantener implicadas a las personas. Producto software. Adecuar el producto a las condiciones de éxito de los usuarios. Considerar a las personas que daran mantenimiento y soporte. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 15 / 59

16 Modelos de proceso de software Modelo en espiral V Modelo en espiral Ventajas Es un enfoque más realista en el desarrollo de sistemas. Es un modelo adaptativo. Existe mayor comunicación entre el desarrollador y el cliente. Durante la evolución del software se tienen diferentes prototipos. Se eliminan errores y al final se queda la mejor versión. Son mejores desarrollar con base en orientación a objetos. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 16 / 59

17 Modelos de proceso de software Modelo en espiral Modelo en espiral VI Desventajas Es difícil sostener y programar las interecciones con el cliente. Se requiere de gran habilidad para la evaluación de riesgos. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 17 / 59

18 Modelos de proceso de software Modelo incremental I Modelo incremental Como el modelo en espiral, este también es un modelo evolutivo. La idea es diseñar una implementación inicial y exponerla a los comentarios del usuario. La implementación pasa a través de varias versiones hasta llegar a un sistema final. Cada incremento o versión incorpora algunas de las funcionalidades que requiere el cliente. Las pimeras versiones incluyen las funciones más importantes. El cliente puede desde el inicio si lo que se desarrolla es lo que realmente requiere. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 18 / 59

19 Modelos de proceso de software Modelo incremental Modelo incremental II Bosquejo de descripción Se realiza un documento informal que contiene las principales funcionalidades deseables en el sistema. Este documento servirá como base para la especificación en forma. Especificación Contiene todos los requerimientos del cliente. El documento va evolucionando conforme avanza el proyecto y se adecua a los nuevos requerimientos por parte del cliente. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 19 / 59

20 Modelos de proceso de software Modelo incremental Modelo incremental III Desarrollo Se realiza la implementación con base en los requerimientos de cada iteración. Los errores encontrados en la iteración anterior son corregidos y se agrega la nueva funcionalidad. Validación El cliente evalúa la versión actual del sistema y proporciona las nuevas prioridades a los desarrolladores. Los desarrolladores obtienen retroalimentación constante por parte del cliente a través de las múltiples demostraciones del software. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 20 / 59

21 Modelos de proceso de software Modelo incremental IV Modelo incremental Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 21 / 59

22 Modelos de proceso de software Modelo incremental V Modelo incremental Ventajas Menor costo de desarrollo, pues la documentación es revisada y actualizada más frecuentemente. Es más fácil obtener retroalimentación del cliente. Para el cliente son más palpables los avances realizados a través de las demostraciones de software. La entrega de un software útil - aunque posiblemente no terminado- hacia el cliente se realiza en menor tiempo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 22 / 59

23 Modelos de proceso de software Modelo incremental Modelo incremental VI Desventajas Las entregas deben ser frecuentes con el objetivo de poder medir el avance. Si no se cuenta con el suficiente personal trabajando sobre el proyecto puede resultar contraproducente. Si el software no tiene bases fléxibles los cambios pueden degradar el sistema. La incorporación de demasiados cambios puede resultar más difícil y costoso. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 23 / 59

24 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización I Algunos productos de software son desarrollados reutilizando diseños y/o componentes. Es una estrategia propuesta por Douglas McIlroy (Laboratorios Bell - AT&T Bell Laboratories and Bell Telephone Laboratories-) en Este modelo puede ir de la mano con otros modelos de software. Los componentes basados en reutilización pueden ser modificados para expander su funcionalidad. Componentes típicos a reutilizarse: Servicios Web. Disponibles de forma remota. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 24 / 59

25 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización II Colecciones de objetos. Que se agregan como parte de un marco de componentes (NET, J2EE, Compuware). Sistemas de software indipendientes. De uso específico. Consiste de seis etapas: Especificación de requerimientos. Análisis de componentes. Modificación de requerimientos. Diseño del sistema con reutilización. Desarrollo e integración. Validación del sistema. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 25 / 59

26 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización III Hewlett-Packard ha tenido éxito utilizando esta filosofía. Libro: Software reuse: Architecture process and organization for business success. Ivar Jacobson, Martin Griss, Patrik Jonsson, ACM Press, Martin Gris de Hewlett-Packard, Ivar Jacobso de Ericsson, Patrik Jonsson de Rational Software Corporation (Suecia). Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 26 / 59

27 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización IV Análisis de componentes Se realiza una búsqueda de los componentes más adecuados para cumplir con los requerimientos. Pocas veces la coincidencia es exacta. Modificación de requerimientos Se replican los componentes y se modifican para adecuarse a los requerimientos. La modificación puede consistir en ligeros cambios o extensión de la funcionalidad. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 27 / 59

28 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización V Diseño del sistema con reutilización Se diseña el marco conceptual o se modifica uno existente. Se debe denotar la diferencia entre los componentes reciclados y los nuevos. Desarrollo e integración Se hacen la implementaciones necesarias. Se realiza la integración de los componentes para la creación del producto final. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 28 / 59

29 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización VI Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 29 / 59

30 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización VII Ventajas Confiabilidad creciente. El software reutilizable ha sido probado más veces. Reducción de riesgo de proceso. Se conoce ya el costo del software existente. Intervención de especialistas. No se reinventa la rueda y los componentes encapsulan el conocimiento de varios expertos. Cumplimiento de estándares. Las aplicaciones presentan los mismos formatos de menús para los usuarios. Desarrollo acelerado. El software llega más rapido al mercado. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 30 / 59

31 Modelos de proceso de software Modelo orientado a la reutilización Modelo orientado a la reutilización VIII Desventajas Costos crecientes de mantenimiento. Si no se tiene acceso al código fuente no se podrán resolver incompatibilidades con el sistema. Falta de herramientas. Puede ser que los componentes no sean flexibles. No aceptación del software existente. No se tiene confianza sobre el software ya existente y siempre se desea rescribir con la intención de mejorar. Difícil comprensión y adaptación de los componentes a reutilizar. Los desarrolladores deben conocer todos los componentes y sus requerimientos. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 31 / 59

32 Actividades del proceso de software Actividades del proceso de software I Un proceso de software debe considerar la relación entre las actividades técnicas, colaborativas y administrativas con el objetivo de especificar, diseñar, implementar y probar un producto de software. Los desarrolladores de software se apoyan de múltiples herramientas para la creación de software. Editores de diseño. Diccionarios de datos. Compiladores. Depuradores. (Debugger) Software para la construcción del sistema. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 32 / 59

33 Actividades del proceso de software Actividades del proceso de software II La combinación de estas herramientas se conoce como Ambiente de Desarrollo Interactivo -Integrated Development Environment IDE-. Eclipse. Ver C, C++, Java, ActiveState Komodo. Ver. 7. IntelliJ IDEA. Ver Oracle JDeveloper. Ver. 11g. NetBeans. Ver Microsoft Visual Studio. Ver MyEclipse. Ver Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 33 / 59

34 Actividades del proceso de software Actividades del proceso de software III WinDev y WebDev. Ver Uniface. Ver Actividades que automatizan los IDE s: Modelos de sistemas gráficos. Generación de código a partir de los modelos de sistemas gráficos. Producción de interfaces de usuario a partir de descripciones del usuario. Depuración del programa. Traducción automatizada de programas escritos. Estudiaremos las 4 principales actividades del proceso. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 34 / 59

35 Actividades del proceso de software Especificación del software I Especificación del software La especificación del software -requerimientos- consiste en comprender y definir los servicios que requiere el sistema. Además se deben identificar las restricciones sobre la operación y el desarrollo del sistema. Los errores en esta etapa conducen a problemas en el futuro. El objetivo es elaborar el documento de requerimientos que cumplirá el sistema. Tal documento puede presentar dos niveles de abstracción: detallado del sistema y de usuario. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 35 / 59

36 Actividades del proceso de software Especificación del software Especificación del software II Estudio de factibilidad Las necesidades del usuario se cubren con las tecnologías actuales?. Costo-beneficio sujeto a restricciones presupuestales y de tiempo. Se decidirá si se continúa o no con un análisis más detallado. Obtención y análisis de requerimientos Consiste en derivar los requerimientos en base a sistemas existentes, necesidades de los usuarios, análisis de las tareas, entre otros. Desarrollar prototipos puede ayudar a entender lo requerido. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 36 / 59

37 Actividades del proceso de software Especificación del software Especificación del software III Especificación de requerimientos Consiste en plasmar en un documento la información recopilada. Se contemplan los requerimientos del usuario y los del sistema. Validación de requerimientos Se verifica que los requerimientos sean realistas, coherentes y completos. Se corrigen los posibles errores encontrados en el documento. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 37 / 59

38 Actividades del proceso de software Especificación del software IV Especificación del software Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 38 / 59

39 Actividades del proceso de software Desarrollo e implementación I Desarrollo e implementación Esta estapa consiste en convertir las especificaciones en un sistema real. Un diseño de software implica describir la estructura del software a implementar, los componentes, las estructuras de datos a utilizar, las interfaces y los algoritmos. A los que realizan esta labor se le conoce como Arquitectos de Software -Software Architect-. Se parte de un diseño inicial que puede ser modificado o incrementado. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 39 / 59

40 Actividades del proceso de software Desarrollo e implementación II Desarrollo e implementación Se debe considerar que el software puede interactuar con otros sistemas. Sistema operativo Bases de datos Middleware Aplicaciones Si el sistema procesa ciertos datos entonces en el diseño del sistema se deben describir tales datos. Las herramientas de software permiten generar esqueletos a partir de diseños. Cada programador sigue su propia filosofía de desarrollo. Facíl Dfifícil Difícil Fácil Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 40 / 59

41 Actividades del proceso de software Desarrollo e implementación Desarrollo e implementación III Cada programador debe desarrollar pruebas del código que desarrollo y en su caso depurarlo. Es importante considerar múltiples casos de prueba. Diseño arquitectónico Se identifica la estructura global del sistema, los principales componentes y sus relaciones. Diseño de la base de datos Se crea el modelo -ER- de la base de datos y como será su representación física. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 41 / 59

42 Actividades del proceso de software Desarrollo e implementación Desarrollo e implementación IV Diseño de interfaz Se definen la interfaces entre los componentes. Los componentes deben ser como cajas negras para otros componentes. Si ya se cuenta con las especificaciones de la interfaz, los componentes se pueden desarrollar de forma concurrente. Diseño de componentes Se diseña el funcionamiento de cada componente. Cada programador se encarga del cómo teniendo siempre en cuenta el qué. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 42 / 59

43 Actividades del proceso de software Desarrollo e implementación V Desarrollo e implementación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 43 / 59

44 Actividades del proceso de software Validación de software I Validación de software La validación del software consiste en probar que un sistema cumple tanto con sus especificaciones como con las espectativas del cliente. La principal técnica de validación consiste en utilizar datos ficticios para probar el sistema. Generalmente las pruebas van de lo particular a lo general. Defectos a un nivel global puede implicar el volver a verificar componentes ya revisados. Este es un proceso totalmente iterativo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 44 / 59

45 Actividades del proceso de software Validación de software Validación de software II Prueba de desarrollo Es un proceso realizado por los programadores. Cada componente se prueba de forma independiente. Existen herramientas que automatizan este proceso o bien pueden ser creadas las propias. JUnit in Action, Petar Tahchiev, Felipe Leme, Vincent Massol and Gary Gregory, 2nd Ed Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 45 / 59

46 Actividades del proceso de software Validación de software Validación de software III Pruebas del sistema El objetivo es descubrir errores de las interacciones entre los componentes. También se busca verificar que el sistema cumple con los requerimientos funcionales. Puede consistir de varias etapas. Pruebas de aceptación El sistema se pone a prueba con datos reales. Los datos reales suelen revelar problemas no detectados con los datos ficticios. Permiten observar el rendimiento global del sistema. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 46 / 59

47 Actividades del proceso de software Validación de software IV Validación de software Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 47 / 59

48 Actividades del proceso de software Evolución del software I Evolución del software El software, a diferencia del hardware, puede ser modificado más facilmente. Es necesario que el software se adapte a las condiciones actuales: Avances tecnológicos. Cambios en el proceso de negocio. Cambios en los sistemas operativos o incluso el hardware. Nuevas necesidades del cliente. Raras veces el software creado es invariante a lo largo de su ciclo de vida. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 48 / 59

49 Actividades del proceso de software Evolución del software II Evolución del software Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 49 / 59

50 El Proceso Unificado El Proceso Unificado El Proceso Unificado Racional -Rational Unified Process RUPfue creado por Philippe Kruchten en Su antecesor es fue el Rational Objectory Process de Este es un modelo híbrido que considera la buena práctica en especificación y diseño y esta de acuerdo con la entrega de prototipos y entrega incremental. Este modelo puede ser utilizado según tres enfoques: Dinámico. Resalta las fases del modelo en el tiempo. Cliente. Estático. Presenta las actividades que se establecen para el proceso. Desarrolladores. Práctico. Sugiere buenas prácticas a utilizar durante el proceso. Desarrolladores. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 50 / 59

51 El Proceso Unificado Fases del Proceso Unificado Fases del Proceso Unificado I Inicio Consiste en modelar el problema del cliente/empresa. Se deben identificar todas las entidades externas (personas y sistemas) que interactuarán con el sistema. Se deben identificar los requisitos necesarios para resolver el problema. Se valora la aportación del sistema al cliente/empresa. Se establece el alcance del proyecto. Pueden generarse algunas estimaciones imprecisas. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 51 / 59

52 El Proceso Unificado Fases del Proceso Unificado Fases del Proceso Unificado II Elaboración Se desarrolla la comprensión del problema. Se resuelven los altos riesgos. Puede que se encuentren más requisitos y se redefina el alcance. Las estimaciones se vuelven más realistas. Se establece un marco conceptual arquitectónico del sistema. Se establecen los casos de uso UML, el diseño arquitectónico y la planificación del proyecto. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 52 / 59

53 El Proceso Unificado Fases del Proceso Unificado Fases del Proceso Unificado III Construcción Consiste en el diseño, programación y pruebas del sistema. Al finalizar esta etapa debe entregarse un software funcionando y la documentación asociada. Transición Consiste en liberar la versión a los usuarios para que la usen en el entorno real. Es una fase costosa y problemática. La documentación del sistema debe ir completamente acorde a éste. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 53 / 59

54 El Proceso Unificado Actividades de ingeniería del Proceso Unificado Actividades de ingeniería del Proceso Unificado I Modelado del negocio Se modelan los procesos del negocio utilizando los casos de uso de la empresa. Requerimientos Se identifican los actores del sistema y se desarrollan los propios casos de uso. Análisis y diseño Se crea y documenta el diseño del sistema mediante modelos arquitectónicos, de componentes, de objetos y de secuencias. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 54 / 59

55 El Proceso Unificado Actividades de ingeniería del Proceso Unificado Actividades de ingeniería del Proceso Unificado II Administración del proyecto Debe existir una planificación que cumpla con las restricciones de costo y tiempo. Además se deben cubrir las necesidades y expectativas del cliente. Entorno Se porporcionan al equipo de desarrollo las herramientas adecuadas al producto que se desea crear. Implementación Se implementan y estructuran los componentes del sistema. La generación automática de código puede acelerar esta actividad. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 55 / 59

56 El Proceso Unificado Actividades de ingeniería del Proceso Unificado Actividades de ingeniería del Proceso Unificado III Pruebas Son un proceso iterativo que va de la mano con la implementación. Administración de la configuración Consiste de varias actividades: Se realiza el ensamblaje de los componentes, librerías, datos y la compilación para crear el ejecutable del sistema. Se realiza la administración de los cambios así como de las versiones. Despliegue Se libera el producto hacia los usuarios. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 56 / 59

57 El Proceso Unificado Actividades de ingeniería del Proceso Unificado Actividades de ingeniería del Proceso Unificado IV Tomado de Unificado Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 57 / 59

58 El Proceso Unificado Buenas prácticas del Proceso Unificado Buenas prácticas del Proceso Unificado I Desarrollo de software de manera interactiva Realizar el desarrollo en base a las prioridades del cliente. Gestión de requerimientos Documentar explícitamente los requerimientos y realizar los cambios necesarios sobre estos. Evaluar el impacto de cambios en el sistema antes de aceptarlos. Usar arquitecturas basadas en componentes Estructurar la arquitectura del sistema en base a componentes. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 58 / 59

59 El Proceso Unificado Buenas prácticas del Proceso Unificado Buenas prácticas del Proceso Unificado II Software modelado visualmente Utilizar modelos UML para refresentar procesos en la fases y actividades de ingeniería del Proceso Unificado. Verificar la calidad del software Asegurar que el software cumple con los estándares de calidad establecidos en la empresa. Controlar los cambios al software Gestionar los cambios mediante un controlador de versiones. Además se deben documentar los procedimientos y todo lo necesario para la configuración del sistema. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software 59 / 59

Desarrollo y comercialización de productos de software [El proceso unificado]

Desarrollo y comercialización de productos de software [El proceso unificado] Desarrollo y comercialización de productos de software [El proceso unificado] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 13-P Sergio Luis Pérez (UAM CUAJIMALPA) Curso de desarrollo

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 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

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

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 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

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

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

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

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

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

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

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

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

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

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

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS Rubby Casallas, Andrés Yie Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes Agenda Contexto Ciclos de vida: Modelo

Más detalles

Anteproyecto Fin de Carrera

Anteproyecto Fin de Carrera Universidad de Castilla-La Mancha Escuela Superior de Informática Anteproyecto Fin de Carrera DIMITRI (Desarrollo e Implantación de Metodologías y Tecnologías de Testing) Dirige: Macario Polo Usaola Presenta:

Más detalles

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.

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. 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 Visión General Importancia de la Ingeniería del Software. Retraso en la llegada de la Ingeniería

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

PUD: Proceso de Desarrollo Unificado

PUD: Proceso de Desarrollo Unificado PUD: Proceso de Desarrollo Unificado 1 1998 Genealogía del PUD Rational Unified Process 5.0 1997 Rational Objectory Process 4.1 UML 1996 Rational Objectory Process 4.0 1995 Método Ericsson Rational Approach

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

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE 1 DEFINICIÓN DE CICLO DE VIDA DEL SOFTWARE ISO/IEC 12207-1 Marco de referencia que contiene

Más detalles

Herramientas de Software que posibilitan el BPM

Herramientas de Software que posibilitan el BPM Qué es BPM? BPM (Business Process Management) no es solamente una tecnología, sino en términos generales, una disciplina gerencial que trata a los procesos como bienes tangibles que contribuyen al desempeño

Más detalles

Desarrollo de software

Desarrollo de software Agenda 1. Introducción 2. Aspectos Metodológicos del Desarrollo de Software 3. Aplicación Web (Modelo del Producto) 4. Modelo del proceso 5. Dos enfoques Metodológicos 6. Métodos Seleccionados 7. Evaluación

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

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

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

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 12. Herramientas CASE

Fundamentos de Ingeniería del Software. Capítulo 12. Herramientas CASE Fundamentos de Ingeniería del Software Capítulo 12. Herramientas CASE Herramientas CASE Estructura 1. Introducción 2. Características deseables 3. Componentes de una herramienta CASE 4. Taxonomías de herramientas

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

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

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS USB Ing. De Software. Prof. I. C. Martínez Ing. De Software Ingeniería de Software La Ingeniería de Software es la ciencia

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

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

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN

PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN PLANEACIÓN DE SISTEMAS INFORMÁTICOS ING. KARINA RAMÍREZ DURÁN Principios y criterios para la evaluación del ciclo de vida de desarrollo de sistemas Se pueden enunciar algunos principios para desarrollar

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

Empresa Financiera Herramientas de SW Servicios

Empresa Financiera Herramientas de SW Servicios Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través

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

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

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

PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA. Plan de Pruebas. File: 20130211-QA-INF-V2-PLAN DE PRUEBAS.odt STD-INF-GENERAL Versión: 1.

PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA. Plan de Pruebas. File: 20130211-QA-INF-V2-PLAN DE PRUEBAS.odt STD-INF-GENERAL Versión: 1. Cliente: FCM-UNA Página 1 de 14 PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA Cliente: FCM-UNA Página 2 de 14 Tabla de contenido 1. INTRODUCCIÓN 1.1. PROPÓSITO 1.2. ALCANCE 1.3. DEFINICIONES, ACRÓNIMOS

Más detalles

El Proceso Unificado Rational para el Desarrollo de Software.

El Proceso Unificado Rational para el Desarrollo de Software. Instituto de Electrónica y Computación El Proceso Unificado Rational para el Desarrollo de Software. Carlos Alberto Fernández y Fernández Huajuapan de León, Oaxaca 26 de octubre de 2000 Objetivo Proporcionar

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

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

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Escuela Politécnica Superior. Proyectos de Desarrollo Software. Capítulo 5. daniel.tapias@uam.es. Dr. Daniel Tapias Curso 2014/ 15 PROYECTOS

Escuela Politécnica Superior. Proyectos de Desarrollo Software. Capítulo 5. daniel.tapias@uam.es. Dr. Daniel Tapias Curso 2014/ 15 PROYECTOS Escuela Politécnica Superior Proyectos de Desarrollo Software Capítulo 5 Dr. Daniel Tapias Curso 2014/ 15 daniel.tapias@uam.es PROYECTOS PROGRAMA DE LA ASIGNATURA Capítulo 1: Introducción. Capítulo 2:

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

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

Calidad de Sistemas de Información

Calidad de Sistemas de Información Calidad de Sistemas de Información Introducción (2) Concepto de calidad Conjunto de propiedades y características de un producto, proceso o servicio que le hace satisfacer las necesidades establecidas

Más detalles

Introducción a la Ingeniería de Software - Examen 20/07/2012

Introducción a la Ingeniería de Software - Examen 20/07/2012 Cada pregunta múltiple opción contestada correctamente tiene un valor de 2,5 puntos. Esta parte consta de 20 preguntas, haciendo un total de 50 puntos. Los ejercicios de desarrollo tienen un valor total

Más detalles

Programación del curso

Programación del curso Ingeniería Software 4º Físicas Programación del curso José M. Drake (drakej@unican.es) Patricia López Martínez ( lopezpa@unican.es ) Computadores y Tiempo Real Santander, 2008 Ingeniería de Programación

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

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

IBM Rational Software Architect V8.0.1 ofrece nuevos e innovadores enfoques para desarrollar arquitecturas de solución

IBM Rational Software Architect V8.0.1 ofrece nuevos e innovadores enfoques para desarrollar arquitecturas de solución con fecha de 14 de diciembre de 2010 IBM Rational Software Architect V8.0.1 ofrece nuevos e innovadores enfoques para desarrollar arquitecturas de solución Tabla de contenidos 1 Visión general 1 Fecha

Más detalles

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS METODOLOGIAS AGILES PROCESO UNIFICADO AGIL (AUP) MATERIA : INGENIERIA SOFTWARE DOCENTE : LIC. ERVIN FLORES ESTUDIANTE : JORGE LUIS CORDERO

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

Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación

Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación Liberando el sistema Ayudar a los usuarios a entender y usar el sistema Distintos tipos de usuarios Entrenamiento Documentación Solución de Problemas Conversión Instalación May-12 Ing. de Software Liberación

Más detalles

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos ZP09-0207, con fecha 2 de junio de 2009 IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos Índice 1 Resumen de características

Más detalles

IBM Rational Method Composer V7.5.1 ofrece creación de métodos simplificados e interoperabilidad en IBM Rational Team Concert

IBM Rational Method Composer V7.5.1 ofrece creación de métodos simplificados e interoperabilidad en IBM Rational Team Concert con fecha 30 de noviembre de 2010 IBM Rational Method Composer V7.5.1 ofrece creación de métodos simplificados e interoperabilidad en IBM Rational Team Concert Índice 1 Información general 2 Fecha de disponibilidad

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

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

Fundamentos de Ingeniería del Software. Capítulo 3. Análisis de Requisitos Introducción a los casos de uso

Fundamentos de Ingeniería del Software. Capítulo 3. Análisis de Requisitos Introducción a los casos de uso Fundamentos de Ingeniería del Software Capítulo 3. Análisis de Requisitos Introducción a los casos de uso Cap 3. Análisis de Requisitos Estructura 1. Actividades iniciales. 2. Técnicas de recogida de la

Más detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

ADMINISTRACIÓN DE PROYECTOS

ADMINISTRACIÓN DE PROYECTOS ADMINISTRACIÓN DE PROYECTOS QUÉ ES LA ADMINISTRACIÓN DE PROYECTOS? Es la planeación, organización, dirección y control de los recursos para lograr un objetivo a corto plazo. También se dice que la administración

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

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición.

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición. Glosario Aclaraciones Los conceptos del glosario están ordenados alfabéticamente. Un concepto puede ser un único término como meta o una frase como ambiente de ingeniería de software centrado en procesos.

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

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s Especificación de requerimientos Diseño de bases de datos Documento de especificación del sistema 1. Definición del problema 2. Descripción funcional 2. 3. Restricciones 4. Diagramas de flujo de datos

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

RUP. Rational Unified Process

RUP. Rational Unified Process RUP Rational Unified Process Rational Unified Process Basado en 6 mejores prácticas de la industria de software: Desarrollo incremental Administración de requisitos Uso de arquitecturas basadas en componentes

Más detalles

Guía Rápida Proceso de Desarrollo OPENUP/OAS Universidad Distrital Francisco José de Caldas Oficina Asesora de Sistemas

Guía Rápida Proceso de Desarrollo OPENUP/OAS Universidad Distrital Francisco José de Caldas Oficina Asesora de Sistemas Guía Rápida Proceso de Desarrollo OPENUP/OAS Universidad Distrital Francisco José de Caldas Oficina Asesora de Sistemas Información General del Documento Versión Actual del Documento 0.0.0.7 Descripción

Más detalles

Proyecto Tutelkán Tutelkan Reference Process (TRP) Versión 2.0

Proyecto Tutelkán Tutelkan Reference Process (TRP) Versión 2.0 Proyecto Tutelkán Tutelkan Reference Process (TRP) Versión 2.0 Parte 3: TRP Avanzado MAYO 2009 Tabla de Contenidos PREFACIO...5 DESARROLLO Y MANTENCIÓN DE SOFTWARE...6 DESARROLLO DE REQUERIMIENTOS...7

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

plataforma específica de desarrollo, limitaciones del recurso físico disponible, limitaciones del sistema a actualizar, etc).

plataforma específica de desarrollo, limitaciones del recurso físico disponible, limitaciones del sistema a actualizar, etc). REVISIÓN CONCEPTOS, METODOLOGÍAS Y HERRAMIENTAS SOPORTE EN INGENIERÍA MARLON MÚJICA Estudiante de Ingeniería de Sistemas Universidad Industrial de Santander mujica@cidlisuis.org COLOMBIA EDWIN LOGREIRA

Más detalles

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. Otro camino para el BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio Otro camino para el BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 El BPM El BPM (Business Process Management) no es solo una tecnología, además a grandes rasgos es una disciplina

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

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos Britos, P. 1,2 ; Fernández, E. 2,1 ; García Martínez, R 1,2 1 Centro de Ingeniería del Software e Ingeniería del Conocimiento.

Más detalles

Proceso Unificado de Rational (RUP)

Proceso Unificado de Rational (RUP) Especialización en Telemática Proceso Unificado de Rational (RUP) Arquitecturas de Sistemas Telemáticos Dr. Ing. Álvaro Rendón Gallón Cali, mayo de 2012 Temario 2 Antecedentes Objetivos Características

Más detalles

Ciclo de vida del software

Ciclo de vida del software RUP para Mantenimiento de Software Preparado por: Amelia Soriano Ciclo de vida del software Análisis del problema Liberación del producto Comprensión del problema Desarrollo del software RUP Ciclo Típico

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

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m. Arquitecto de Datos 1. Línea de Negocios: Soluciones de Negocios 2. Funciones Específicas: Participar en la realización de las actividades técnicas de actualización y migraciones a versiones mejoradas

Más detalles

Collaborative Lifecycle Management

Collaborative Lifecycle Management Collaborative Lifecycle Management IBM Rational Software Portafolio.. Documentación Técnica... COLLABORATIVE LIFECYCLE MANAGEMENT La solución de IBM Rational para la Gestión del Ciclo de Vida Colaborativo

Más detalles

Introducción a Rational Unified Process (RUP)

Introducción a Rational Unified Process (RUP) Qué es un Proceso de Desarrollo de SW? Introducción a Patricio Letelier letelier@dsic.upv.es Departamento Sistemas Informáticos y Computación (DSIC) (UPV) - España Define Quién debe hacer Qué, Cuándo y

Más detalles

Visión General GXflow. Última actualización: 2009

Visión General GXflow. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

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

Metodología para el diseño y desarrollo de interfaces de usuario

Metodología para el diseño y desarrollo de interfaces de usuario Metodología para el diseño y desarrollo de interfaces de usuario Versión Historia de Revisión Fecha Versión Descripción Responsable 20/06/2005 Creación. Alejandro Báez Cristian Castañeda Diego

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola BPMN vs UML Autor: Norberto Figuerola Los Requerimientos y el Modelo del Negocio Normalmente, siempre que iniciamos un esfuerzo de desarrollo de software éste tiene como objetivo automatizar procesos del

Más detalles

Objetivo Las personas que realicen el curso aprenderán a:

Objetivo Las personas que realicen el curso aprenderán a: Objetivo Las personas que realicen el curso aprenderán a: Describir el proceso de desarrollo de software orientado a objetos, lo que incluye las metodologías y los flujos de trabajo de la programación

Más detalles

CAPÍTULO 1. MARCO TEÓRICO

CAPÍTULO 1. MARCO TEÓRICO CAPÍTULO 1. MARCO TEÓRICO Capítulo 1. Marco teórico 1.1 Ingeniería Web (IWeb) Con el desarrollo de Internet, la mayoría de los proyectos y sistemas están enfocados para las aplicaciones basadas en la Web

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

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN Clase 6: Ingeniería de Requerimientos Metododología y Ejemplo Primer Cuatrimestre 2015 Mg. María Mercedes Vitturini

Más detalles

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Plan de iteraciones RUP Proceso Iterativo e Incremental El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes (miniproyectos)

Más detalles