Actividades en el Proceso de desarrollo de SoftwareCentro 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
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
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…
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
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
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
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
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
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.
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.
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.
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).
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.
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
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.
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.
Escuela de Computación - Facultad de Ciencias UCV - Prof. Zulma González - 2008
18
Modelo Espiral
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.
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.
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
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.
Top Related