Clase3 Is 0702 V1

2,674 views
2,516 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,674
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
99
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Clase3 Is 0702 V1

    1. 1. Ingeniería de Software Clase 3 Gloria Lucia Giraldo Gómez [email_address] Escuela de Sistemas Universidad Nacional de Colombia – Sede Medellín El proceso del software
    2. 2. ¿ Qué es el proceso del software? <ul><li>Metodología seguida por una organización para el desarrollo del software </li></ul><ul><li>Esta metodología incluye todas las fases del ciclo de vida clásico </li></ul><ul><li>Este proceso se define de manera general para todas las aplicaciones de una organización </li></ul><ul><li>Igualmente se definen tareas especificas a cada aplicación en particular </li></ul>3004582 - I.S Universidad Nacional de Colombia
    3. 3. El proceso del software 3004582 - I.S Universidad Nacional de Colombia Marco de trabajo común Actividades del marco de trabajo Conjunto de tareas Hitos, entregas Tareas Puntos SQA
    4. 4. Modelos del proceso del software <ul><li>Modelo lineal </li></ul><ul><li>Modelo de construcción de prototipos </li></ul><ul><li>Modelo de desarrollo rápido de aplicaciones (DRA) </li></ul><ul><li>Modelos evolutivos: incremental, espiral, de desarrollo concurrente </li></ul><ul><li>Modelos de métodos formales </li></ul><ul><li>Técnicas de cuarta generación </li></ul>3004582 - I.S Universidad Nacional de Colombia
    5. 5. Modelo lineal secuencial o Cascada <ul><ul><li>Desarrollado entre 1960-1980 </li></ul></ul><ul><ul><li>Basado en el modelo en cascada de Winston Royce </li></ul></ul><ul><ul><li>Se conoce como el ciclo de vida básico </li></ul></ul><ul><ul><li>Secuencia de actividades, donde la estrategia principal es seguir el progreso del desarrollo de software hacia puntos de revisión bien definidos mediante entregas calendarizadas. </li></ul></ul>3004582 - I.S Universidad Nacional de Colombia
    6. 6. Modelo lineal secuencial o en cascada 3004582 - I.S Universidad Nacional de Colombia Definición Análisis Diseño Desarrollo Pruebas Mantenim. <ul><li>Definición de requisitos: </li></ul><ul><li>Las restricciones y metas del sistema se definen a partir de la interacción con el interesado. </li></ul><ul><li>Se comprende la naturaleza de la aplicación y el dominio de información, así como su funcionalidad, rendimiento e interconexión </li></ul><ul><li>Se reúnen todos los requisitos que debe cumplir el software </li></ul>
    7. 7. Modelo lineal secuencial o en cascada 3004582 - I.S Universidad Nacional de Colombia Definición Análisis Diseño Desarrollo Pruebas Mantenim. Se concentra en cuatro características básicas: Estructura de datos Arquitectura del software Representaciones de interfaz Detalle procedimental (algoritmo)
    8. 8. Modelo lineal secuencial o en cascada 3004582 - I.S Universidad Nacional de Colombia Definición Análisis Diseño Desarrollo Pruebas Mantenim. <ul><li>Se llama también Implementación </li></ul><ul><li>Generación de código entendible por la máquina </li></ul><ul><li>Actualmente se investiga mucho sobre la manera de generar código automáticamente </li></ul>
    9. 9. Modelo lineal secuencial o en cascada 3004582 - I.S Universidad Nacional de Colombia Definición Análisis Diseño Desarrollo Pruebas Mantenim. <ul><li>Proceso de depuración de programas </li></ul><ul><li>Chequear la validez de las sentencias </li></ul><ul><li>Pruebas para detectar errores, asegurando que a partir de los datos de entrada si se genere la salida deseada </li></ul>
    10. 10. Modelo lineal secuencial o en cascada 3004582 - I.S Universidad Nacional de Colombia Definición Análisis Diseño Desarrollo Pruebas Mantenim. <ul><li>Corrección de errores no detectados en la etapa de pruebas </li></ul><ul><li>Posibles mejoras funcionales debidas a nuevos requerimientos del cliente </li></ul><ul><li>En esta fase se vuelven a aplicar todas las etapas anteriores sobre el software existente </li></ul>
    11. 11. Modelo lineal secuencial o en cascada 3004582 - I.S Universidad Nacional de Colombia Definición Análisis Diseño Desarrollo Pruebas Mantenim. <ul><li>LIMITACIONES </li></ul><ul><li>En la realidad no estrictamente secuencial (se traslapan las etapas) </li></ul><ul><li>El interesado debería exponer los requisitos en la etapa inicial, pero en realidad él lo hace a través de todo el proceso y esto complica las cosas </li></ul><ul><li>La primera versión del software llega al final del proceso, a veces el afán del cliente hace que la aplicación final no cumpla con los requerimientos </li></ul>
    12. 12. Modelo de Construcción de Prototipos <ul><li>Comienza con una recolección inicial de requisitos para pasar a un diseño rápido y finalmente a la construcción de un prototipo de la solución. </li></ul>3004582 - I.S Universidad Nacional de Colombia
    13. 13. Modelo de Construcción de Prototipos <ul><li>El desarrollador y el cliente deben ser concientes de que el prototipo se utiliza para precisar los requisitos del software y así evitar inconvenientes como: </li></ul><ul><ul><ul><ul><li>El cliente cree que el prototipo es una primera versión funcional del Sistema. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>El desarrollador construye el prototipo rápidamente y en ocasiones sin hacer uso de la tecnología optima disponible. </li></ul></ul></ul></ul>3004582 - I.S Universidad Nacional de Colombia
    14. 14. Modelo de Desarrollo Rápido de Aplicaciones (DRA) <ul><li>Basado en el Modelo Lineal Secuencial </li></ul><ul><li>Modelo llevado a cabo por varias equipos de trabajo que siguen las etapas del proceso de manera simultanea. </li></ul><ul><li>Modelo aplicable a la construcción de sistemas de información fácilmente modularizables . </li></ul><ul><li>El Modelo DRA necesita clientes y desarrolladores comprometidos con el proceso. </li></ul><ul><li>No es muy útil para aplicaciones que requieren adopción de nuevas tecnologías porque la curva de aprendizaje puede afectar el cronograma del proyecto. </li></ul>3004582 - I.S Universidad Nacional de Colombia
    15. 15. Modelo de Desarrollo Rápido de Aplicaciones (DRA) 3004582 - I.S Universidad Nacional de Colombia
    16. 16. Modelos evolutivos del proceso del SW <ul><li>Modelos flexibles que permiten la modificación del sistema durante su proceso de desarrollo. </li></ul><ul><li>Procesos iterativos que permiten a los desarrolladores construir versiones del software cada vez más completas </li></ul><ul><li>Ejemplos: </li></ul><ul><ul><ul><ul><li>Modelo Incremental. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Modelo Espiral. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Modelo Espiral WINWIN. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Modelo de Desarrollo Concurrente. </li></ul></ul></ul></ul>3004582 - I.S Universidad Nacional de Colombia
    17. 17. Modelo Incremental <ul><li>Aplica el enfoque lineal secuencial escalonadamente </li></ul><ul><li>Incrementos parciales de la herramienta completa (versiones) </li></ul><ul><li>Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema </li></ul><ul><li>Cada etapa debe cumplir con los requisitos de las desarrolladas </li></ul>3004582 - I.S Universidad Nacional de Colombia Incremento 2 Incremento n ... ... ... ... Análisis Diseño Código Pruebas Análisis Diseño Código Pruebas Análisis Diseño Código Pruebas
    18. 18. Modelo Incremental <ul><li>Ventajas: </li></ul><ul><ul><li>Los clientes no tienen que esperar hasta que el sistema se entregue completamente para comenzar a hacer uso de él. </li></ul></ul><ul><ul><li>Los clientes pueden usar los incrementos iniciales como prototipo para precisar los requerimientos posteriores del sistema. </li></ul></ul><ul><ul><li>Minimización del riesgo de falla en el proyecto porque los errores se van corrigiendo progresivamente. </li></ul></ul><ul><li>Problemas: </li></ul><ul><ul><li>Adaptación de los requisitos del cliente para lograr incrementos pequeños (no mas de 20.000 líneas de código) que añadan funcionalidad al sistema. </li></ul></ul><ul><li>Nota : Una evolución de este enfoque se conoce como Programación Extrema (XP-Extreme Programming). </li></ul>3004582 - I.S Universidad Nacional de Colombia
    19. 19. Modelo Espiral <ul><li>Utilización de ciclos en lugar de sucesión de actividades. </li></ul><ul><li>Facilita el desarrollo rápido de versiones incrementales de software. </li></ul>3004582 - I.S Universidad Nacional de Colombia
    20. 20. Modelo Espiral WINWIN <ul><li>Hace énfasis en la etapa Comunicación con el Cliente definiendo un conjunto de actividades de negociación que se llevan a cabo al principio de cada ciclo </li></ul><ul><li>El proceso de negociación busca que ambos ganen, tanto cliente como analista: </li></ul><ul><ul><li>el cliente obtiene el producto que satisface gran parte de sus necesidades y </li></ul></ul><ul><ul><li>el desarrollador intenta obtener requisitos que le permitan cumplir con tiempos de entrega realistas </li></ul></ul>3004582 - I.S Universidad Nacional de Colombia
    21. 21. Modelo Concurrente <ul><li>Provee una meta descripción del proceso de software </li></ul><ul><li>Mientras que en el Espiral la principal contribución es que las actividades del software ocurran repetidamente, en el Concurrente es la capacidad de describir las múltiples actividades del software que ocurren simultáneamente. </li></ul><ul><li>Dado que los requerimientos cambian es muy probable que una vez haya comenzado la fase de diseño, sea necesario incorporar cambios. En estos casos No se debe detener el diseño, sino que se debe continuar “si es posible” al mismo tiempo que se modifican los requerimientos. </li></ul><ul><li>Por lo tanto en este modelo, diversas actividades pueden estar ocurriendo concurrentemente </li></ul><ul><li>Posibilita el conocimiento del verdadero estado del proyecto </li></ul>3004582 - I.S Universidad Nacional de Colombia
    22. 22. Modelo de Métodos Formales <ul><li>El proceso de desarrollo se basa en la transformación matemática formal de la especificación del sistema a un programa ejecutable </li></ul><ul><li>Facilita la verificación de programas a través de un riguroso análisis matemático. </li></ul><ul><li>La ejecución de este tipo de modelos requiere mucho tiempo y esfuerzo. </li></ul><ul><li>“ Ingeniería de Software de Sala Limpia” </li></ul>3004582 - I.S Universidad Nacional de Colombia
    23. 23. Modelo de Métodos Formales <ul><li>Ventaja: Consistencia!!! </li></ul><ul><li>Desventaja: complejo, demanda mucho tiempo </li></ul>3004582 - I.S Universidad Nacional de Colombia
    24. 24. Técnicas de cuarta generación <ul><li>Facilita al ingeniero desarrollador del software la especificación de las características del software a alto nivel, con el fin de generar automáticamente el código a partir de allí. </li></ul><ul><li>Existencia de herramientas CASE ( Computer Aide Software Engineering ) Ingeniería de software asistida por computador </li></ul>3004582 - I.S Universidad Nacional de Colombia
    25. 25. Algunos métodos de desarrollo de software <ul><li>RUP </li></ul><ul><li>CDM </li></ul><ul><li>FDD </li></ul><ul><li>XP </li></ul><ul><li>UN-METODO </li></ul>3004582 - I.S Universidad Nacional de Colombia
    26. 26. RUP (Rational Unified Process) Proceso Unificado de Modelado <ul><li>Surge a mediados de los 90s junto con UML </li></ul><ul><li>Así como el CDM es ampliamente documental </li></ul><ul><li>Se basa en UML y es iterativo e incremental </li></ul><ul><li>El punto de partida es la elicitación de requisitos del software </li></ul>3004582 - I.S Universidad Nacional de Colombia
    27. 27. CDM ( Custom Development Method) Método de desarrollo adaptable <ul><li>Creado por ORACLE Corporation </li></ul><ul><li>Permite hacer un seguimiento intensivo de las diferentes fases del desarrollo (Definición, Análisis, Diseño, Construcción, Transición y Producción). Para ello, realizan un conjunto de tareas que se agrupan en procesos. Cada proceso hace parte de cada una de las fases del desarrollo y se reporta mediante un documento denominado “entregable”. </li></ul><ul><li>Genera mucha documentación </li></ul>3004582 - I.S Universidad Nacional de Colombia

    ×