Top Banner
Ingeniería de Software Clase 3 Gloria Lucia Giraldo Gómez [email protected] Escuela de Sistemas Universidad Nacional de Colombia – Sede Medellín El proceso del software
27

Clase3 Is 0702 V1

Jun 18, 2015

Download

Technology

marlonyesith
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Clase3 Is 0702 V1

Ingeniería de SoftwareClase 3

Gloria Lucia Giraldo Gó[email protected] de SistemasUniversidad Nacional de Colombia – Sede Medellín

El proceso del software

Page 2: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 2

¿ Qué es el proceso del software?

Metodología seguida por una organización para el desarrollo del software

Esta metodología incluye todas las fases del ciclo de vida clásico

Este proceso se define de manera general para todas las aplicaciones de una organización

Igualmente se definen tareas especificas a cada aplicación en particular

Page 3: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 3

El proceso del software

Marco de trabajo común

Actividades del marco de trabajo

Conjunto de tareas

Hitos, entregas

Tareas

Puntos SQA

Page 4: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 4

Modelos del proceso del software

Modelo lineal Modelo de construcción de prototipos Modelo de desarrollo rápido de

aplicaciones (DRA) Modelos evolutivos: incremental,

espiral, de desarrollo concurrente Modelos de métodos formales Técnicas de cuarta generación

Page 5: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 5

Modelo lineal secuencialo Cascada

Desarrollado entre 1960-1980 Basado en el modelo en cascada de

Winston Royce Se conoce como el ciclo de vida básico 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.

Page 6: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 6

Modelo lineal secuencialo en cascada

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

Definición de requisitos:• Las restricciones y metas del sistema se definen a partir de la

interacción con el interesado.• Se comprende la naturaleza de la aplicación y el dominio de

información, así como su funcionalidad, rendimiento e interconexión • Se reúnen todos los requisitos que debe cumplir el software

Page 7: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 7

Modelo lineal secuencialo en cascada

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

Se concentra en cuatro características básicas:Estructura de datosArquitectura del softwareRepresentaciones de interfazDetalle procedimental (algoritmo)

Page 8: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 8

Modelo lineal secuencialo en cascada

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

• Se llama también Implementación• Generación de código entendible por la máquina• Actualmente se investiga mucho sobre la manera

de generar código automáticamente

Page 9: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 9

Modelo lineal secuencialo en cascada

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

• Proceso de depuración de programas• Chequear la validez de las sentencias• Pruebas para detectar errores, asegurando que a

partir de los datos de entrada si se genere la salida deseada

Page 10: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 10

Modelo lineal secuencialo en cascada

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim.

• Corrección de errores no detectados en la etapa de pruebas

• Posibles mejoras funcionales debidas a nuevos requerimientos del cliente

• En esta fase se vuelven a aplicar todas las etapas anteriores sobre el software existente

Page 11: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 11

Modelo lineal secuencialo en cascada

Definición Análisis

Diseño Desarrollo

Pruebas Mantenim. LIMITACIONES

• En la realidad no estrictamente secuencial (se traslapan las etapas)

• 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

• 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

Page 12: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 12

Modelo de Construcción de Prototipos

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.

Page 13: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 13

Modelo de Construcción de Prototipos

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:

El cliente cree que el prototipo es una primera versión funcional del Sistema.

El desarrollador construye el prototipo rápidamente y en ocasiones sin hacer uso de la tecnología optima disponible.

Page 14: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 14

Modelo de Desarrollo Rápido de Aplicaciones (DRA)

Basado en el Modelo Lineal Secuencial Modelo llevado a cabo por varias equipos de trabajo

que siguen las etapas del proceso de manera simultanea.

Modelo aplicable a la construcción de sistemas de información fácilmente modularizables.

El Modelo DRA necesita clientes y desarrolladores comprometidos con el proceso.

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.

Page 15: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 15

Modelo de Desarrollo Rápido de Aplicaciones (DRA)

Page 16: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 16

Modelos evolutivos del proceso del SW

Modelos flexibles que permiten la modificación del sistema durante su proceso de desarrollo.

Procesos iterativos que permiten a los desarrolladores construir versiones del software cada vez más completas

Ejemplos: Modelo Incremental. Modelo Espiral. Modelo Espiral WINWIN. Modelo de Desarrollo Concurrente.

Page 17: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 17

Modelo Incremental Aplica el enfoque lineal secuencial

escalonadamente Incrementos parciales de la herramienta

completa (versiones) Cada incremento agrega funcionalidad

adicional o mejorada sobre el sistema Cada etapa debe cumplir con los requisitos

de las desarrolladas

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

Page 18: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 18

Modelo Incremental Ventajas:

Los clientes no tienen que esperar hasta que el sistema se entregue completamente para comenzar a hacer uso de él.

Los clientes pueden usar los incrementos iniciales como prototipo para precisar los requerimientos posteriores del sistema.

Minimización del riesgo de falla en el proyecto porque los errores se van corrigiendo progresivamente.

Problemas: 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.

Nota: Una evolución de este enfoque se conoce como Programación Extrema (XP-Extreme Programming).

Page 19: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 19

Modelo Espiral

Utilización de ciclos en lugar de sucesión de actividades.

Facilita el desarrollo rápido de versiones incrementales de software.

Page 20: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 20

Modelo Espiral WINWIN

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

El proceso de negociación busca que ambos ganen, tanto cliente como analista: el cliente obtiene el producto que satisface gran

parte de sus necesidades y el desarrollador intenta obtener requisitos que

le permitan cumplir con tiempos de entrega realistas

Page 21: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 21

Modelo Concurrente Provee una meta descripción del proceso de software 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.

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.

Por lo tanto en este modelo, diversas actividades pueden estar ocurriendo concurrentemente

Posibilita el conocimiento del verdadero estado del proyecto

Page 22: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 22

Modelo de Métodos Formales

El proceso de desarrollo se basa en la transformación matemática formal de la especificación del sistema a un programa ejecutable

Facilita la verificación de programas a través de un riguroso análisis matemático.

La ejecución de este tipo de modelos requiere mucho tiempo y esfuerzo.

“Ingeniería de Software de Sala Limpia”

Page 23: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 23

Modelo de Métodos Formales

Ventaja: Consistencia!!!

Desventaja: complejo, demanda mucho tiempo

Page 24: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 24

Técnicas de cuarta generación 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í.

Existencia de herramientas CASE (Computer Aide Software Engineering) Ingeniería de software asistida por computador

Page 25: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 25

Algunos métodos de desarrollo de software

RUP CDM FDD XP UN-METODO

Page 26: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 26

RUP (Rational Unified Process) Proceso Unificado de Modelado

Surge a mediados de los 90s junto con UML

Así como el CDM es ampliamente documental

Se basa en UML y es iterativo e incremental

El punto de partida es la elicitación de requisitos del software

Page 27: Clase3 Is 0702 V1

3004582 - I.S Universidad Nacional de Colombia 27

CDM (Custom Development Method) Método de desarrollo adaptable

Creado por ORACLE CorporationPermite 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”.

Genera mucha documentación