35
Procesos de Desarrollo de Software Víctor H. Bustamante O. [email protected] Facultad de Ingeniería de Sistemas e Informática Universidad Nacional Mayor de San Marcos

Proceso de Software

Embed Size (px)

DESCRIPTION

Diapositivas sobre el proceso de software

Citation preview

  • Procesos de Desarrollo de SoftwareVctor H. Bustamante [email protected]

    Facultad de Ingeniera de Sistemas e InformticaUniversidad Nacional Mayor de San Marcos

    * perusoftware.homelinux.org

    Ingeniera de Sw segn PRESSMANEs una tecnologa multicapa que contempla:HerramientasMtodosProceso (FUNDAMENTAL)Basado en un enfoque de calidad

    * perusoftware.homelinux.org

    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 mtodos, se pruducen documentos, se asegura calidad y se gestiona el cambio.

    * perusoftware.homelinux.org

    Mtodos: Indican COMO construir tcnicamente el software, incluyen actividades de modelado y otras tcnicas descriptivas.Herramientas: Proporcionan un enfoque automtico para el proceso y para los mtodos.

    * perusoftware.homelinux.org

    * perusoftware.homelinux.org

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

    * perusoftware.homelinux.org

    Proceso de desarrollo de SWPropsito del proceso de desarrollo de SoftwareLa produccin eficaz y eficiente de un producto software que rena los requisitos del cliente.Este proceso es intensamente intelectual, afectado por la creatividad y juicio de las personas involucradas.

    * perusoftware.homelinux.org

    Caractersticas del desarrollo de SWEl SW en s es complejo, es prcticamente inviable conseguir un 100% de confiabilidad de un programa por pequeo que sea.El SW es intangible y por lo general muy abstracto, esto dificulta la definicin del producto y sus requisitos, sobre todo cuando no se tiene precedentes en productos software similares.Los cambios en los requisitos son inevitables

    * perusoftware.homelinux.org

    Caractersticas del desarrollo de SWEl proceso de desarrollo de software no es nico, lo que hace muy difcil su automatizacin.La IS es todava una actividad inmadura.

    * perusoftware.homelinux.org

    Actividades FundamentalesExiste un conjunto de actividades fundamentales que se encuentran presentes en todos proceso de desarrollo:Especificacin de software: Se define la funcionalidad y restricciones operacionales que debe cumplir el software.Diseo e Implementacin: Se disea y construye el software de acuerdo a la especificacin.Validacin: El software debe validarse, para asegurar que cumpla con lo que quiere el cliente.Evolucin: El software debe evolucionar, para adaptarse a las necesidades del cliente.

    * perusoftware.homelinux.org

    Actividades ProtectorasSeguimiento y control de proyectos.Revisiones tcnicas formales.Garanta de calidad del software.Gestin de configuracin del software.Preparacin y produccin de documentos.Mediciones.Gestin de riesgos

    * perusoftware.homelinux.org

    El Proceso segn PressmanUn marco comn del proceso, son las actividades del marco de trabajo que son aplicables a todos los proyectos de software, con independencia del tamao o complejidad.Un conjunto de tareas, cada actividad es una coleccin 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 caractersticas del proyecto de software y los requisitos del equipo del proyecto.Actividades de proteccin, tales como garanta de calidad del software, gestin de configuracin del software y medicin, abarcan el modelo del proceso. Son independientes de cualquier actividad del marco de trabajo y aparecen durante todo el proceso.

    * perusoftware.homelinux.org

    El Proceso de SoftwareMarco de Trabajo Comn del proceso.Actividades del Marco de Trabajo.Conuntos de Tareas.Tareas.Hitos, Entregas.Puntos de aseguramiento de la calidad SQA.Actividades de proteccin.Garanta de calidad, gestin de configuracin y medicin.

    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 caractersiticas del proyecto y los requisitos del equipo.Las actividades de proteccin aparecen durante todo el proceso.

    * perusoftware.homelinux.org

    Elementos del proceso de desarrolloQuin debe hacer Qu, Cundo y Cmo debe hacerlo.ProcesoSWNotacinHerramientasPersonas

    * perusoftware.homelinux.org

    Elementos del proceso de desarrolloQuin: Las Personas participantes que desempean uno o ms Roles especficos.Qu: Un Artefacto es producido por un Rol en una de sus Actividades. Estos se especifican utilizando Notaciones especficas. Las Herramientas apoyan la elaboracin de los Artefactos.Cmo y Cundo: 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 terminacin de ciertos Artefactos.

    * perusoftware.homelinux.org

    ArtefactoUn artefacto es una pieza de informacin 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.

    * perusoftware.homelinux.org

    Principios y PrcticasForman la base para componer y sincronizar las actividades del proceso. Las Prcticas 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.

    * perusoftware.homelinux.org

    Modelo de Proceso de SoftwareRepresentacin simplificada de un proceso de software, representada desde una perspectiva especfica. Por su naturaleza los modelos son simplificados, por lo tanto un modelo de procesos del software es una abstraccin de un proceso real. [Ian Sommerville]

    * perusoftware.homelinux.org

    Algunos modelos de procesoEl modelo es una representacin simplificada de un proceso de software que conlleva una estrategia global para abordar el desarrollo de softwareCodificar y corregirModelo en cascadaDesarrollo evolutivoDesarrollo basado en reutilizacinDesarrollo incrementalDesarrollo en espiral

    * perusoftware.homelinux.org

    Codificar y corregirEste es el modelo bsico utilizado en los inicios del desarrollo de software. Contiene dos pasos:Escribir cdigo.Corregir problemas en el cdigo.Primero implementar algo de cdigo y luego pensar acerca de requisitos, diseo, validacin, y mantenimiento

    * perusoftware.homelinux.org

    Desarrollo en cascadaLa Versin Ideal (Perfecta)El Modelo en VEl Helado de CucuruchoEl Modelo Real Propuesta de Yourdon

    * perusoftware.homelinux.org

    Modelo en V

    * perusoftware.homelinux.org

    Helado de CucuruchoIdentificacin de NecesidadesEspecificacin EsencialEspecificacin FsicaDiseoCodificacinIntegracinEmpaquetadoValidacinExplotacinUSUARIOSCLIENTESANALISTADISEADORES Y CODIFICADORES

    * perusoftware.homelinux.org

    Modelo Realde NecesidadesEspecificacin EsencialEspecificacin FsicaDiseoCodificacinIntegracinEmpaquetadoValidacinExplotacin

    * perusoftware.homelinux.org

    Propuesta de Yourdon

    * perusoftware.homelinux.org

    Construccin de PrototiposAceptadoNO AceptadoEvaluacin ClienteMejora de la EspecificacinConstruccin PrototipoObtencin EspecificacinCiclo de Vida Clsico

    * perusoftware.homelinux.org

    Clases de prototiposDe INTERFACE.Usualmente un modelo de papel o sobre PC en el que se muestran pantallas y listados.De COMPORTAMIENTO:En anchura. Ofrece todos los mens del sistema y simula dbilmente los procesos.En profundidad. Cubre funciones que presentan ambigedades al cliente o a los informticos.Completo pero de baja calidad y rendimiento.

    * perusoftware.homelinux.org

    IncrementalBloque 1Bloque N

    Bloque 1Bloque N

    oPermite el desarrollo concurrente

    Requerimientos

    Diseo

    Implementacin

    Pruebas

    Requerimientos

    Diseo

    Implementacin

    Pruebas

    Requerimientos

    Diseo

    Implementacin

    Pruebas

    Diseo

    Implementacin

    Pruebas

    * perusoftware.homelinux.org

    Incremental

    * perusoftware.homelinux.org

    Modelo de Madurez de CapacidadesCMM por sus siglas en ingls.Desarrollado por el Instituto de Ingeniera de Software (SEI).Basado en un conjunto de funciones de ISw que deberan estar presentes conforme se alcanzan diferentes grados de madurez del proceso del SW.Proporciona una medida de la efectividad global de las prcticas de ISw de una compaa.Establece 5 niveles de madurez del proceso

    * perusoftware.homelinux.org

    Nivel 1 Inicial. Proceso catico, existen pocos procesos y el xito depende del esfuerzo individual.Situacin sin ningn esfuerzo en la garanta de calidad y gestin del proyecto.Cada equipo del proyecto desarrolla el software a a su manera.

    * perusoftware.homelinux.org

    Nivel 2 Repetible. Se establecen procesos de gestin de proyectos para hacer seguimiento del costo, planificacin 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.

    * perusoftware.homelinux.org

    Nivel 3 Definido. El proceso de las actividades de gestin y de ingeniera se documenta, se estandariza y se integra dentro de un todo. Todos lo proyectos utilizan una versin documentada y aprobada del proceso.Se han definido tanto procesos tcnicos como de gestin.Ejemplo: se definen estndares de programacin y se hacen cumplir mediante auditoras.Pocos empresas han superado este nivel.

    * perusoftware.homelinux.org

    Nivel 4 Gestionado. Se recopilan medidas detalladas del proceso del software y de la calidad del producto.Comprende el concepto de medicin y mtrica.Una mtrica es una cantidad insignificante que se puede extraer de algn documento o cdigo.Ejemplo: # de condicionales en una seccin de cdigo, la cual proporciona alguna indicacin acerca del esfuerzo necesario para probar el cdigo.

    * perusoftware.homelinux.org

    Nivel 5 Optimizacin. Se utiliza la retroalimentacin para mejorar el proceso.Representa la analoga 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 funcin de las mediciones tomadas durante la ejecucin de un proyecto.

    *