actividades en el proceso de desarrollo de software centro isys escuela de computación facultad de...

22
Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Upload: claudia-arroyo-alvarado

Post on 24-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Actividades en el Proceso de desarrollo de SoftwareCentro ISYS

Escuela de Computación

Facultad de Ciencias. UCV

Prof. Zulma González

Page 2: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

2

Conceptos Básicos• Método

Pasos

• HerramientasSoporte

• ModeloRepresentación

• ProcesoEjecución de pasos. Conjunto de actividades

• Modelo de ProcesoRepresentación de un conjunto de actividades

Page 3: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

3

Actividades en el Proceso de Desarrollo de Software• Se relacionan conformando

Modelo

• Se desarrollan aplicando Métodos

• El método se fundamenta en Principios

• El método puede ser soportado por Herramientas

Page 4: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

4

Actividades en el Proceso de Desarrollo de Software• ¿Cómo encadenar las actividades del proceso de

desarrollo de software? − Modelos (ciclo de vida). Ej.: Modelo Cascada, Modelo

Basado en Prototipos…

• ¿Cómo realizar las actividades del proceso de desarrollo de software?− Métodos. Ej.: Orientado a objeto.

• ¿Cuáles principios se aplican en el proceso de desarrollo de software?− Ej.: Incrementalidad, Abstracción, Modularidad…

• ¿Cuáles herramientas podemos utilizar en el desarrollo de software?− Ej.: IDE Netbeans, JCreator, IDE Eclipse, Microsoft

Visio…

Page 5: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

5

Actividades en el Proceso de Desarrollo de Software

Identificación y Especificación de Requerimientos

Análisis

Diseño

Implementación

Pruebas

Mantenimiento

Page 6: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

6

Identificación y Especificación de Requerimientos• Comprende:

− Reuniones con el cliente.− Documentar requerimientos.− Análisis del sistema existente.− Estudios de factibilidad.− IMPORTANTE: Aplicar el principio de Abstracción.

• Objetivo:− Identificar los requerimientos funcionales y no

funcionales del sistema.− Define el QUÉ?.

• Produce el siguiente artefactos: − Documento de requerimientos.− Especificación del sistema.

Identificación y Especificación de Requerimientos

Page 7: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

7

Análisis• Comprende:

−Refinamiento del listado de requerimientos.

• Objetivo:−Descripción formal de los requerimientos del

sistema.

• Artefactos:−P.Ej: Diagramas de Casos de Uso.−Modelo de Objetos del Dominio.

Identificación y Especificación de Requerimientos

Análisis

Page 8: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

8

Diseño• Comprende:

−Refinamiento del Análisis. (Programación).

• Objetivo:−Descripción detallada de los requerimientos

por parte del desarrollador.

• Artefactos:−Diagramas de Clase, de secuencia, de

actividades, de despliegue…

Análisis

Diseño

Page 9: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

9

Implementación• Comprende:

−Codificación de los requerimientos. (Echar Código!).

• Objetivo:−Obtener componentes del sistema, o el sistema

completo.

• Artefactos:−Código fuente.−Archivos ejecutables.

Implementación

Diseño

Page 10: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

10

Prototipaje• Comprende:

−Desarrollo (rápido) de partes del sistema.

• Objetivo: −Validar y precisar la especificación de

requerimientos y características del producto final.

• Productos:−Prototipos a nivel de interfaz y componentes.

Page 11: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

11

Pruebas• Comprende:

− Pruebas de Aceptación. (cliente)− Pruebas Funcionales. (componente)− Pruebas de Integración. (componentes)

• Objetivo:− Conseguir errores!!.

• Artefactos:− Código fuente.− Componentes de software verificados.

Page 12: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

12

Proceso de Desarrollo• Conjunto estructurado de actividades y

resultados que se requieren para desarrollar un producto de software.

• Las actividades se pueden agrupar en 4 áreas fundamentales:−Especificación.−Implementación.−Validación.−Evolución.

Page 13: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

13

Actividades en el Proceso de Desarrollo de Software• Áreas:

− Especificación: Precisar los requerimientos y las restricciones del sistema.

− Implementación: Actividades de Codificación o Desarrollo del producto de software.

− Validación: Actividades que verifican las especificaciones del software y si este se ajusta a las necesidades del usuario. (Pruebas)

− Evolución: Separación entre el desarrollo y el mantenimiento. (Reparar fallas, ajustes).

Page 14: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

14

Modelos de Proceso de Software• Un modelo de proceso de desarrollo de software

es la representación de un conjunto de actividades (ciclo de vida) que duran un tiempo finito para desarrollar un producto de software.

• Modelos de Proceso:− Cascada.− Espiral.− Basados en Componentes.

Page 15: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

15

Modelo en Cascada• Modelo secuencial de

actividades.

• Cada fase genera productos (artefactos) que fluyen a la próxima fase.

• Se completa una fase antes de proceder a la siguiente.

• Cascada con feedback: Modelo iterativo e incremental.

Definición de Requerimiento

s

Análisis

Diseño

Implementación

Pruebas

Mantenimiento

Page 16: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

16

Modelo en Cascada• Ventajas:

− Modelo sencillo (estructura intuitiva).− Bajo riesgo para desarrollos bien conocidos usando

tecnologías familiares.

• Desventajas:− Es aplicable sólo en aplicaciones simples con requerimientos

bien definidos.

− La implementación se post-pone hasta las últimas actividades del proceso. (obj)

− Dificultad de responder a los cambios de los requerimientos del cliente.

− El gran problema de este modelo es la dificultad de realizar cambios después que el proceso ha avanzado.

Page 17: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

17

Modelo Espiral• Modelo evolutivo que

se centra en eliminar los factores de riesgo.

• El proceso se representa como una espiral, en lugar de una secuencia de actividades.

• Cada ciclo en el espiral representa una fase en el proceso.

• No hay fases fijas.

Page 18: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

18

Modelo Espiral

Page 19: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

19

Modelo Espiral• Consideración explícita del riesgo.

• Comienza con la elaboración de los objetivos y cómo alcanzarlos.

• Por cada objetivo se identifican las fuentes de riesgo.

• Resolver riesgos detallando más, construyendo prototipos y simulaciones.

• Desarrollar y planificar la siguiente fase.

Page 20: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

20

Modelo Espiral• Ventajas

− Se enfoca en la eliminación de errores.

− Aplica la Reusabilidad.

− Integra desarrollo y mantenimiento.

− Proporciona marco de trabajo para desarrollo de hardware y software.

• Desventajas− Dificultad para

identificar el fin del desarrollo.

− Requiere experticia en evaluación de riesgos.

Page 21: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

21

Modelos Basados en Componentes

En estos modelos el sistema se desarrolla partir de componentes de software existentes.

Especificación de

Requerimientos

Análisis de Componentes

Modificación de Componentes

Diseño del sistema con reutilización

Desarrollo e Integración

Validación y Verificación

Page 22: Actividades en el Proceso de desarrollo de Software Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Prof. Zulma González

Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008

22

Modelos Basados en Componentes• Se basa en la reutilización de

componentes.

• Requiere de una librería de componentes.

• La reutilización puede ser de componentes de especificación, de programas…

• La reusabilidad permite reducir el tiempo y los costos asociados a la construcción de productos de software.