Click here to load reader
View
242
Download
0
Embed Size (px)
Dr. Hugo A. Banda GamboaCORDICYT
2014
Un proceso para el desarrollo de software, tambin denominado ciclo de vida del desarrollo es una estructura aplicada a la construccin de un producto de software.
Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso.
Algunos autores consideran un modelo de ciclo de vida un trmino ms general que un determinado proceso para el desarrollo de software.
El estndar internacional que regula el mtodo de seleccin, implementacin y monitoreo del ciclo de vida del software es la norma ISO 12207.
Dr. Hugo A. Banda Gamboa - 2014 2
El Ciclo de Vida del Software
Procesos Principales
Procesos de Apoyo
Procesos Organizativos
Arquitectura del Software
Ingeniera del Software
Conclusin
Referencias
Dr. Hugo A. Banda Gamboa - 2014 3
Dr. Hugo A. Banda Gamboa - 2014 4
Esta norma establece un marco de referencia para los procesos del ciclo de vida del software.
Contiene procesos, actividades y tareas para aplicar durante la adquisicin de un sistema que contiene software, un producto software o un servicio software y durante el suministro, desarrollo, operacin y mantenimiento de productos software.
Incluye un proceso que se puede emplear para definir, controlar y mejorar los procesos del ciclo de vida del software.
Dr. Hugo A. Banda Gamboa - 2014 5
La norma ISO/IEC 12207 agrupa actividades que se pueden llevar a cabo durante el ciclo de vida del software en 5 procesos principales, 8 procesos de apoyo y 4 procesos organizativos.
Cada proceso est subdividido en actividades y cada actividad se subdivide en tareas.
El siguiente grfico presenta los procesos numerados de acuerdo con la seccin en la que la norma hace referencia a las definiciones, actividades y tareas.
Dr. Hugo A. Banda Gamboa - 2014 6
Dr. Hugo A. Banda Gamboa - 2014 7
Proceso de Adquisicin Define las actividades del adquiriente, la organizacin
que adquiere un sistema, producto o servicio software.
Proceso de Suministro Define las actividades del proveedor, organizacin que
proporciona un sistema, producto o servicio software al adquiriente.
Dr. Hugo A. Banda Gamboa - 2014 8
Proceso de Desarrollo
Define las actividades del desarrollador, organizacin que define y desarrolla el producto software.
Dr. Hugo A. Banda Gamboa - 2014 9
Proceso de Operacin Define las actividades del operador, organizacin que
proporciona el servicio de operar un sistema informtico en su entorno real, para sus usuarios.
Proceso de Mantenimiento Define las actividades del responsable de mantenimiento,
organizacin que proporciona el servicio de mantenimiento del producto software.
Dr. Hugo A. Banda Gamboa - 2014 10
Proceso de Documentacin Define las actividades para el registro de la informacin producida por un
procesos del ciclo de vida.
Proceso de Gestin de la Configuracin Define las actividades para identificar, definir y establecer la lnea base de los
elementos SW de un sistema; controlar modificaciones y versiones de los elementos.
Proceso de Aseguramiento de la Calidad Define las actividades para asegurar que los productos SW y los procesos son
conformes a sus requerimientos y se ajustan a sus planes establecidos.
Proceso de Verificacin Define las actividades (para el adquiriente, proveedor o una parte independiente)
para verificar hasta un nivel de detalle dependiente del proyecto SW, los productos SW.
Proceso de Validacin Define las actividades (para el adquiriente, proveedor o una parte independiente)
para validar los productos SW del proyecto SW.
Proceso de Revisin Conjunta Define las actividades para evaluar el estado y productos de una actividad.
Proceso de Auditora Define las actividades para determinar la conformidad con los requerimientos,
planes y contrato.
Proceso de Solucin de Problemas Define las actividades para analizar y eliminar los problemas (incluyendo las no
conformidades) que sean descubiertos durante la ejecucin del proceso de desarrollo, operacin, mantenimiento y otros.
Dr. Hugo A. Banda Gamboa - 2014 11
Proceso de Gestin Define las actividades bsicas de gestin, incluyendo la gestin de proyectos,
durante un proceso del ciclo de vida.
Proceso de Infraestructura Define las actividades bsicas para establecer la infraestructura de un proceso del
ciclo de vida.
Proceso de Mejora de Procesos Define las actividades bsicas que una organizacin (adquiriente, proveedor,
desarrollador, operador, responsable de mantenimiento o gestor de otro proceso) debe llevar a cabo para establecer, medir, controlar y mejorar sus procesos del ciclo de vida.
Proceso de Recursos Humanos Define las actividades bsicas para conseguir personal adecuadamente capacitado.
Dr. Hugo A. Banda Gamboa - 2014 12
La ingeniera de requerimientos es un proceso que comprende todas las actividades para crear y mantener los requerimientos de un sistema, contando con la activa participacin de los interesados: Los interesados a menudo slo conocen lo que desean en trminos muy
generales. Los interesados expresan los requerimientos con sus propios trminos
y con un conocimiento implcito de su propio trabajo. Diferente interesados tienen requerimientos distintos y los expresan de
varias formas. Influencia de factores polticos. El entorno es dinmico, la importancia de los requerimientos puede
cambiar, nuevos requerimientos pueden surgir.
Comprende cuatro actividades de alto nivel: Estudio de factibilidad Obtencin y anlisis de requerimientos Validacin de requerimientos Administracin de requerimientos
Dr. Hugo A. Banda Gamboa - 2014 13
ISO / IEC / IEEE 29148:2011 contiene disposiciones relativas a los procesos y productos relacionados con la ingeniera de requerimientos de los sistemas y productos de software y servicios en todo el ciclo de vida.
Define la construccin de requisitos, proporciona los atributos y caractersticas de los requisitos, y se analiza la aplicacin iterativa y recursiva de los procesos de requisitos durante todo el ciclo de vida.
ISO / IEC / IEEE 29148:2011 proporciona orientacin adicional para la aplicacin de los procesos de requisitos de ingeniera y de gestin de las actividades relacionadas con los requisitos de la norma ISO / IEC 12207:2008 e ISO / IEC 15288:2008.
El contenido de la norma ISO / IEC / IEEE 29148:2011 se puede aadir al conjunto existente de los procesos del ciclo de vida relacionados con los requisitos definidos por la norma ISO / IEC 12207:2008 o ISO / IEC 15288:2008, o se puede utilizar de forma independiente.
Dr. Hugo A. Banda Gamboa - 2014 14
Dr. Hugo A. Banda Gamboa - 2014 15
Una de las principales preocupaciones en el desarrollo de sistemas de software es la calidad.
Durante los ltimos aos, la Arquitectura de Software se ha convertido en el concepto adecuado para lograr calidad en el software desarrollado.
Esto se debe a que las comunidades cientficas e industriales han reconocido que la arquitectura de software establece los lmites para las cualidades del software del sistema resultante.
Dr. Hugo A. Banda Gamboa - 2014 16
IEEE Recommended Practice for Architectural Description of Software-Intensive Systems Esta recomendacin prctica se ocupa de las
actividades de la creacin, anlisis, mantenimiento de las arquitecturas de sistemas intensivos en software, y el registro de las descripciones arquitectnicas.
Establece un marco conceptual para la descripcin arquitectnica del software y la definicin de su contenido.
Los anexos proporcionan el fundamento de los conceptos clave y la terminologa, las relaciones con otros estndares y ejemplos de uso.
Dr. Hugo A. Banda Gamboa - 2014 17
La arquitectura de software es la especificacin de la estructura de una solucin, el comportamiento de los elementos estructurales, que se estiman y se especifican para cumplir con los objetivos estratgicos del negocio.
Dr. Hugo A. Banda Gamboa - 2014 18
IEEE Std 1471-2000
El objetivo del anlisis de la arquitectura de un sistema de software es predecir la calidad de un sistema antes de que sea construido. No trata de establecer estimaciones precisas, sino los principales efectos de una arquitectura.
El propsito de la evaluacin es analizar la arquitectura de SW para identificar los riesgos potenciales y verificar que los requisitos de calidad que se han abordado en el diseo.
Dr. Hugo A. Banda Gamboa - 2014 19
Dr. Hugo A. Banda Gamboa - 2014 20
SAAM: Scenario-based Architecture Analysis Method SAAMCS: SAAM Founded on Complex ScenariosESAAMI: Extending SAAM by Integration in the Domain SAAMER: Software Architecture Analysis Method for Evolution and Reusability
Dr. Hugo A. Banda Gamboa - 2014 21
ATAM: The Architecture Trade-Off Analysis Method SBAR: Scenario-Based Architecture ReengineeringALPSM: Architecture Level Prediction of Software Maintenance SAEM: Software Architecture Evaluation Model
Dr. Hugo A. Banda Gamboa - 2014 22
En resumen, el propsito de la evaluacin es analizar la arquitectura de SW para identificar los riesgos potenciales, mediante la prediccin de la calidad del sistema antes de que este sea construido.
En todos los mtodos propuesto