Publicado el 18 de Diciembre del 2018
607 visualizaciones desde el 18 de Diciembre del 2018
1,1 MB
20 paginas
Creado hace 9a (26/10/2015)
Tema 04 –
Gestión de configuración
Ingeniería del Software
Rubén Fuentes Fernández
Dep. Ingeniería del Software e Inteligencia Artificial
Facultad de Informática
Universidad Complutense Madrid
Trabajando con Antonio Navarro, Juan Pavón y Pablo Gervás
Contenidos
•
Introducción
– Problemática
• Aspectos de la solución
– Estándares
– Gestión de configuración
– Gestión de cambios
Rubén Fuentes Fernández
Ingeniería del Software
2
Generación de artefactos
• Miles de artefactos son generados para un gran sistema:
– Especificaciones
– Diseños
– Programas
– Pruebas
– Manuales de usuarios
– Planes de proyecto
– Planificaciones
– …
• Todos estos artefactos tendrán que ser gestionados de
manera eficiente.
– Los cambios en ellos son inevitables.
Rubén Fuentes Fernández
Ingeniería del Software
3
Fuentes de cambio
• Fallos
• Nuevos negocios o condiciones comerciales que dictan
cambios en los requisitos del producto
• Nuevas necesidades del cliente que demandan la
modificación de los datos, funciones o servicios
• Reorganización y/o reducción del volumen comercial que
provoca cambios en el proyecto
• Restricciones presupuestarias o de planificación que provocan
una redefinición del producto
Rubén Fuentes Fernández
Ingeniería del Software
4
Consecuencias indeseables de los cambios
• Los cambios aumentan el nivel de confusión en el equipo de
desarrollo.
• Confusión debida a:
– No se han analizado los cambios antes de realizarlos.
– No se han registrado antes de implementarlos.
– No se han comunicado a aquellas personas que necesitan saberlo.
– No se han controlado de manera que mejoren la calidad y reduzcan los
errores.
• Controlado mediante la Gestión de Configuración.
Rubén Fuentes Fernández
Ingeniería del Software
5
GESTIÓN DE CONFIGURACIÓN
Rubén Fuentes Fernández
Ingeniería del Software
6
Gestión de configuración
• La Gestión de Configuración (del Software) (GCS) es una
actividad de protección que gestiona el cambio en los
artefactos a lo largo del ciclo de vida del producto.
• Sus tareas clave son:
– Identificar el cambio
– Controlar el cambio
– Garantizar la correcta implementación del cambio
– Informar del cambio a todos aquellos que lo necesiten
• Para ello recurre a:
– Estándares
– Normas
– Procesos
Rubén Fuentes Fernández
Ingeniería del Software
7
Configuración del proyecto
• Una configuración del proyecto incluye:
– El conjunto de todos los artefactos relativos a un proyecto
• documentos, archivos, requisitos, manuales, código...
– en un momento, plataforma... dados.
• Cada uno de los artefactos de la configuración se denomina
Elemento de Configuración (Software) (ECS).
• Los ECSs producen otros ECSs para crear una jerarquía de
información en el proyecto.
– Ej. la especificación de requisitos produce un plan del proyecto y un
diseño que a su vez produce código...
Rubén Fuentes Fernández
Ingeniería del Software
8
Desafíos de la GCS
• Si simplemente hubiera una jerarquía de ECSs no habría
confusión.
– La confusión surge cuando entra en juego el cambio.
– Éste puede producirse en cualquier momento y por cualquier razón.
• Desafíos:
– Saber qué configuración es la que interesa para un cometido concreto
– Saber cuántas hay/ha habido
– Saber en qué se diferencian
Rubén Fuentes Fernández
Ingeniería del Software
9
Soluciones
PROCESOS DE GCS
Rubén Fuentes Fernández
Ingeniería del Software
10
Gestión de configuración
• Hay que iniciar la GCS durante las fases iniciales del proyecto.
• Su ejecución se plasma en el plan de GCS:
– Identifica y define los tipos de artefactos a gestionar (los ECSs).
• Los que pueden necesitarse para el desarrollo y futuros mantenimientos
del sistema.
– Establece criterios y protocolos para nombrar los ECSs.
– Define quién es responsable de los procedimientos de GCS y de la
creación de líneas base.
– Define políticas para el control de cambios y la gestión de versiones.
– Define los registros de GCS que deben mantenerse.
Rubén Fuentes Fernández
Ingeniería del Software
11
Línea base
• Las líneas base (baselines) son las configuraciones de
referencia del proyecto.
• Una línea base es [IEEE, 1997]:
– una especificación o producto
– que se ha revisado formalmente
– y sobre el que se ha llegado a un acuerdo,
– y que de ahí en adelante sirve como base para un desarrollo posterior
– y cuyo cambio está sometido a procedimientos formales de control de
cambios.
• Los procesos de revisión se conocen como Revisiones Técnicas
Formales (RTFs).
Rubén Fuentes Fernández
Ingeniería del Software
12
Productos de líneas base
• Los productos (del software) que necesariamente forman
parte de las líneas base de un proyecto son [IEEE, 1997]:
– Plan del proyecto, documento de especificación de requisitos, diseño,
código, casos de prueba, manual preliminar de usuario, manuales de
operación e instalación, documentos de mantenimiento, estándares y
procedimientos.
• Además de estos ECSs pueden inmovilizarse las herramientas
usadas en el proyecto.
– Ej. editores, compiladores, herramientas CASE…
Rubén Fuentes Fernández
Ingeniería del Software
13
Nombrado de los elementos de configuración
• El protocolo para poner nombres a los artefactos debe ser
definido de modo que:
– Los documentos relacionados tengan nombres relacionados.
– Se puedan identificar las versiones.
• Un esquema jerárquico con nombres a varios niveles es
probablemente la aproximación más flexible.
V1.1b
V1.1.1
Esquema numérico simple
V1.0
V1.1
V1.2
V2.0
V2.1
V2.2
Rubén Fuentes Fernández
Ingeniería del Software
14
V1.1a
El plan de GCS: herramientas
• Describe las herramientas a usar como soporte de la GCS.
– Cuáles
– Forma de uso y limitaciones
• En particular, define la base de datos de GCS a usar para
grabar la información de configuración.
Rubén Fuentes Fernández
Ingeniería del Software
15
Base de datos de configuración
• Toda la información sobre la GCS debe mantenerse en la base
de datos de la GCS.
• Debe permitir consultas sobre la configuración:
– ¿Quién tiene la versión V del sistema?
– ¿Qué plataforma se requiere para la versión V?
– ¿Qué versiones se alteran por un cambio en el componente X?
– ¿Cuántos fallos se han encontrado en la versión T del componente X?
– ...
• La base de datos de GCS debe estar ligada al software que
está siendo desarrollado.
Rubén Fuentes Fernández
Ingeniería del Software
16
Implementación de la base de datos de GCS
• Puede ser parte del entorno integrado de soporte al
desarrollo del software.
– La base de datos de la GCS y los documentos generados estarán todos
siendo mantenidos en el mismo sistema.
• Se pueden integrar con ella las herramientas CASE, de forma
que exista una relación entre las herramientas CASE y las
herramientas de GCS.
• Comúnmente la base de datos de GCS se mantiene
separadamente.
– Es más barato y más flexible.
Rubén Fuentes Fernández
Ingeniería del Software
17
Rubén Fuentes Fernández
Ingeniería del Software
18
Rubén Fuentes Fernández
Ingeniería del Software
19
Rubén Fuentes Fernández
Ingeniería del Software
20
Rubén Fuentes Fernández
Ingeniería del Software
21
Soluciones
ESTÁNDARES
Rubén Fuentes Fernández
Ingeniería del Software
22
Estándares de producto
• Los estándares de producto definen características que todos
los componentes deberán tener.
• Pueden definirse estándares de múltiples elementos.
– Ej. documentación, código, planes, casos de prueba, informes de
resultados, intercambio de documentos...
• Son útiles para unificar los resultados de grupos de trabajo
grandes, o de distintos proyectos de una misma organización.
Rubén Fuentes Fernández
Ingeniería del Software
23
Estándares de documentación
• Estándares de identificación de documentos
– De qué forma se identifica a los documentos
• Estándares de estructura de documentos
– Estructura estándar para documentos de proyecto
• Estándares de presentación de documentos
– Definir estilos y letras, uso de logos...
• Estándares de actualización de documentos
– Definir cómo los cambios de una versión vieja se reflejan en un
documento
Rubén Fuentes Fernández
Ingeniería del Software
24
Procesos de documentación
Review
draft
Incorporate
review
comments
Re-draft
document
Approved document
Produce
final draft
Check
final draft
Approved document
Review
layout
Produce
print masters
Print
copies
Create
initial draft
Stage 1:
Creation
Proofread
text
Stage 2:
Polishing
Layout
text
Stage 3:
Production
Rubén Fuentes Fernández
Ingeniería del Software
25
Mantenimiento de estándares
• Es un proceso controlado que permite la evolución de los
estándares cuando se quedan obsoletos o se descubre que no
funcionan.
• Hay que evitar que se conviertan en un impedimento al
proceso de desarrollo.
– O los desarrolladores dejarán de utilizarlos.
• Someter los estándares a Revisiones Técnicas Formales (RTFs)
en las que participen distintos miembros del equipo.
– Su formato ha de ser útil para todos.
Rubén Fuentes Fernández
Ingeniería del Software
26
Importancia de los estándares
• Reúnen las mejores prácticas
– Evitan la repetición de errores pasados.
• Proporcionan un marco para el análisis de calidad
– Implican verificar la conformidad con estándares.
• Proporcionan continuidad
– El personal nuevo puede entender la organización entendiendo los
estándares aplicados.
Rubén Fuentes Fernández
Ingeniería del Software
27
Soluciones
GESTIÓN DE CAMBIOS
Rubén Fuentes Fernández
Ingeniería del Software
28
Administración de los cambios
• Los sistemas están sujetos a peticiones continuas de cambios
– de los usuarios
– de los desarrolladores
– del mercado
• La administración de los cambios permite gestionar estos
cambios y asegurar que sean implementados de la manera
más efectiva.
Rubén Fuentes Fernández
Ingeniería del Software
29
El proceso de administración de cambios
Request c
Comentarios de: Tema 04 - Gestión de configuración - Ingeniería del Software (0)
No hay comentarios