Procesos de Desarrollo de Software

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ciclo de vida de desarrollo de software
ingeniería de software
Proceso de desarrollo con UML y el modelo CMM
VALORACIÓN Y SELECCIÓN DE INVERSIONES EN RECURSOS INFORMÁTICOS
Metodologías ágiles.
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
Ingeniería de Software
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Modelos de Proceso del Software
Versión 2004 Enrique Bañuelos Gómez
Republica Bolivariana de Venezuela U.G.M.A 7mo semestre Ing. Sistema
M.S.C. Ivette Hernández Dávila
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Ingeniería de Software
Ingeniería de Software
Modelo de ciclo de vida en espiral
El Ciclo de Vida del Proyecto
Ingeniería de Software
Ciclo de Vida del Software Paradigmas de Desarrollo
Modelo de Capacidad y Madurez
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Ciclo de Vida del Software
Calidad y Garantía de Calidad
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Técnicas de Programación
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería de Software
Ingeniería del Software
Ingeniería de Requerimiento
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Gestión de la Configuración
Ximena Romano – Doris Correa
Tema 1: Introducción a la Ingeniería de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
El rol de SQA en PIS.
INGENIERIA DE SOFTWARE
Alexander Aristizabal Ángelo flores herrera
Capitulo 1 Roger S. Presman
Método iterativo Integrantes : Paola Ramón Armando 19 octubre 2011.
Roles de Open UP.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Elaborado por: Mayoral Cruz Matilde Morales Espinoza Anllhins
Proceso de desarrollo de software Pablo Gervás F. Informática, UCM, noviembre 2007.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
PROCESOS DE DESARROLLO DE SOFTWARE
Ingeniería de software
Actividades en el Proceso de desarrollo de Software
Ingeniería del Software I
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
JHENNIFER SANCHEZ ORTIZ CRISTIAN CAMILO RIASCOS ALEJANDRO PINEDA SANCHEZ FERNANDO JAVIER REBELLON.
Ciclo de Vida del Software
Sistema de control de calidad de software
INGENIERIA DE SOFTWARE
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Proceso de desarrollo de Software
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Fundamentos de Computación
Las fases del ciclo de la vida de desarrollo de sistemas
Software de Comunicaciones
Modelo de procesos de software
1 CICLO DE VIDA. 2 CICLO DE VIDA DE Los Sistemas de Información “ Es un proceso por el cual los analistas de sistemas, los ingenieros computacionales,
Verificación y Validación del Software
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
Transcripción de la presentación:

Procesos de Desarrollo de Software Víctor H. Bustamante O. vhbo@yahoo.es Facultad de Ingeniería de Sistemas e Informática Universidad Nacional Mayor de San Marcos

Ingeniería de Sw según PRESSMAN Es una tecnología multicapa que contempla: Herramientas Métodos Proceso (FUNDAMENTAL) Basado en un enfoque de calidad

Proceso: Marco de trabajo aplicable a un conjunto de áreas clave del proceso para entregar software de calidad. Las ACP establecen el contexto donde se aplican los métodos, se pruducen documentos, se asegura calidad y se gestiona el cambio.

Métodos: Indican “COMO” construir técnicamente el software, incluyen actividades de modelado y otras técnicas descriptivas. Herramientas: Proporcionan un enfoque automático para el proceso y para los métodos.

¿Qué es un proceso de desarrollo? Software Deseos, necesidades, Especificaciones, …

Proceso de desarrollo de SW Propósito del proceso de desarrollo de Software La producción eficaz y eficiente de un producto software que reúna los requisitos del cliente. Este proceso es intensamente intelectual, afectado por la creatividad y juicio de las personas involucradas.

Características del desarrollo de SW El SW en sí es complejo, es prácticamente inviable conseguir un 100% de confiabilidad de un programa por pequeño que sea. El SW es intangible y por lo general muy abstracto, esto dificulta la definición del producto y sus requisitos, sobre todo cuando no se tiene precedentes en productos software similares. Los cambios en los requisitos son inevitables…

Características del desarrollo de SW El proceso de desarrollo de software no es único, lo que hace muy difícil su automatización. La IS es todavía una actividad inmadura.

Actividades Fundamentales Existe un conjunto de actividades fundamentales que se encuentran presentes en todos proceso de desarrollo: Especificación de software: Se define la funcionalidad y restricciones operacionales que debe cumplir el software. Diseño e Implementación: Se diseña y construye el software de acuerdo a la especificación. Validación: El software debe validarse, para asegurar que cumpla con lo que quiere el cliente. Evolución: El software debe evolucionar, para adaptarse a las necesidades del cliente.

Actividades Protectoras Seguimiento y control de proyectos. Revisiones técnicas formales. Garantía de calidad del software. Gestión de configuración del software. Preparación y producción de documentos. Mediciones. Gestión de riesgos

El Proceso según Pressman Un marco común del proceso, son las actividades del marco de trabajo que son aplicables a todos los proyectos de software, con independencia del tamaño o complejidad. Un conjunto de tareas, cada actividad es una colección de tareas de IS, hitos de proyectos, entregas y productos de trabajo del software que permiten que las actividades del marco de trabajo se adapten a las características del proyecto de software y los requisitos del equipo del proyecto. Actividades de protección, tales como garantía de calidad del software, gestión de configuración del software y medición, abarcan el modelo del proceso. Son independientes de cualquier actividad del marco de trabajo y aparecen durante todo el proceso.

El Proceso de Software Marco de Trabajo Común del proceso. Actividades del Marco de Trabajo. Conuntos de Tareas. Tareas. Hitos, Entregas. Puntos de aseguramiento de la calidad SQA. Actividades de protección. Garantía de calidad, gestión de configuración y medición. Se define un Framework del proceso con un conjunto de actividades aplicables a todos los proyectos de SW. El conjunto de tareas permiten que las actividades se adapten a las caracterísiticas del proyecto y los requisitos del equipo. Las actividades de protección aparecen durante todo el proceso.

Elementos del proceso de desarrollo Quién debe hacer Qué, Cuándo y Cómo debe hacerlo. Actividades Herramientas Personas Proceso SW Roles Artefactos Notación

Elementos del proceso de desarrollo Quién: Las Personas participantes que desempeñan uno o más Roles específicos. Qué: Un Artefacto es producido por un Rol en una de sus Actividades. Estos se especifican utilizando Notaciones específicas. Las Herramientas apoyan la elaboración de los Artefactos. Cómo y Cuándo: Las Actividades son una serie de pasos que lleva a cabo un Rol durante el proceso de desarrollo. El avance del proyecto está controlado mediante hitos que establecen un determinado estado de terminación de ciertos Artefactos. 15

Artefacto Un artefacto es una pieza de información que: (1) es producida, modificada o usada por el proceso, (2) define un área de responsabilidad para un rol y (3) está sujeta a control de versiones. Un artefacto puede ser un modelo, un elemento de modelo o un documento.

Principios y Prácticas Forman la base para componer y sincronizar las actividades del proceso. Las Prácticas y Principios enfatizan ciertas actividades y/o la forma como deben realizarse, por ejemplo: desarrollar iterativamente, gestionar requisitos, desarrollo basado en componentes, modelar visualmente, verificar continuamente la calidad, gestionar los cambios, etc.

Modelo de Proceso de Software “Representación simplificada de un proceso de software, representada desde una perspectiva específica. Por su naturaleza los modelos son simplificados, por lo tanto un modelo de procesos del software es una abstracción de un proceso real.” [Ian Sommerville]

Algunos modelos de proceso El modelo es una representación simplificada de un proceso de software que conlleva una estrategia global para abordar el desarrollo de software Codificar y corregir Modelo en cascada Desarrollo evolutivo Desarrollo basado en reutilización Desarrollo incremental Desarrollo en espiral

Codificar y corregir Este es el modelo básico utilizado en los inicios del desarrollo de software. Contiene dos pasos: Escribir código. Corregir problemas en el código. Primero implementar algo de código y luego pensar acerca de requisitos, diseño, validación, y mantenimiento

Desarrollo en cascada La Versión Ideal (Perfecta) El Modelo en V El Helado de Cucurucho El Modelo Real Propuesta de Yourdon

Modelo en V Identificación de Necesidades Especificación Esencial Física Diseño Codificación Integración Empaquetado Validación Explotación

Helado de Cucurucho USUARIOS Identificación Explotación de Necesidades Especificación CLIENTES Validación Esencial Especificación ANALISTA Empaquetado Física Diseño Integración DISEÑADORES Y CODIFICADORES Codificación

Modelo Real Explotación de Necesidades Especificación Validación Esencial Especificación Empaquetado Física Diseño Integración Codificación

Propuesta de Yourdon Encuesta Análisis diseño Preliminar Estudio del HW Diseño Detallado Codificación Prueba de Unidad subsistema Sistema Requerimientos del Usuario Especificación Funcional Necesidades de Rendimiento del Sistema Configuración Final de los Programas Módulos Codificados Probados Subsistemas Probado

Construcción de Prototipos Aceptado Obtención Especificación Construcción Prototipo Ciclo de Vida Clásico Evaluación Cliente Mejora de la Especificación NO Aceptado

Clases de prototipos De INTERFACE. De COMPORTAMIENTO: Usualmente un modelo de papel o sobre PC en el que se muestran pantallas y listados. De COMPORTAMIENTO: En anchura. Ofrece todos los menús del sistema y simula débilmente los procesos. En profundidad. Cubre funciones que presentan ambigüedades al cliente o a los informáticos. Completo pero de baja calidad y rendimiento.

Incremental o Permite el desarrollo concurrente Bloque 1 Bloque N

Incremental

Modelo de Madurez de Capacidades CMM por sus siglas en inglés. Desarrollado por el Instituto de Ingeniería de Software (SEI). Basado en un conjunto de funciones de ISw que deberían estar presentes conforme se alcanzan diferentes grados de madurez del proceso del SW. Proporciona una medida de la efectividad global de las prácticas de ISw de una compañía. Establece 5 niveles de madurez del proceso

Nivel 1 – Inicial. Proceso caótico, existen pocos procesos y el éxito depende del esfuerzo individual. Situación sin ningún esfuerzo en la garantía de calidad y gestión del proyecto. Cada equipo del proyecto desarrolla el software a a su manera.

Nivel 2 – Repetible. Se establecen procesos de gestión de proyectos para hacer seguimiento del costo, planificación y funcionalidad. Para repetir exitos anteriores con proyectos similares se aplica la disciplina necesaria para el proceso. Se han definido algunas actividades tales como: Informe de esfuerzo y tiempo empleado. Informe de tareas realizadas.

Nivel 3 – Definido. El proceso de las actividades de gestión y de ingeniería se documenta, se estandariza y se integra dentro de un todo. Todos lo proyectos utilizan una versión documentada y aprobada del proceso. Se han definido tanto procesos técnicos como de gestión. Ejemplo: se definen estándares de programación y se hacen cumplir mediante auditorías. Pocos empresas han superado este nivel.

Nivel 4 – Gestionado. Se recopilan medidas detalladas del proceso del software y de la calidad del producto. Comprende el concepto de medición y métrica. Una métrica es una cantidad insignificante que se puede extraer de algún documento o código. Ejemplo: # de condicionales en una sección de código, la cual proporciona alguna indicación acerca del esfuerzo necesario para probar el código.

Nivel 5 – Optimización. Se utiliza la retroalimentación para mejorar el proceso. Representa la analogía del software con otros procesos de control de calidad que existen en otras industrias. Se pueden predecir resultados tales como el # de errores latentes en función de las mediciones tomadas durante la ejecución de un proyecto.