Вы находитесь на странице: 1из 67

Ingeniera de Software Introduccin a la Ingeniera de Software

INGENIERA DE SOFTWARE
Ingeniera de Software Introduccin a la Ingeniera de Software
Administracin de la Configuracin
del Software
o
Gestin de configuraciones
Ingeniera de Software Introduccin a la Ingeniera de Software
Resultado del aprendizaje.
Identificar los elementos de la configuracin del
software
Establecer los lineamientos para el control de
cambios y versiones del software
Definir el procedimiento para auditar la
integridad de los productos de software que
estn bajo configuracin.
Ingeniera de Software Introduccin a la Ingeniera de Software
Cuando se construye software, el
cambio es inevitable.
qu efectos tiene en el equipo de
desarrollo?
Ingeniera de Software Introduccin a la Ingeniera de Software
El arte de coordinar el desarrollo de software para
minimizar [] la confusin se llama
administracin de la configuracin, que es el arte de
identificar, organizar y controlar las modificaciones que se hacen al software
que construir un equipo de programacin. La meta es
maximizar la productividad al minimizar errores.
Babich.
Ingeniera de Software Introduccin a la Ingeniera de Software
La ACS, tambin llamada gestin del cambio
es un conjunto de actividades de rastreo y
control que inicia cuando comienza un
proyecto de ingeniera de software y slo
termina cuando el software se retira de la
operacin.
Ingeniera de Software Introduccin a la Ingeniera de Software
Cmo me aseguro de que lo hice bien?
Cuando todo producto de trabajo puede
explicarse, rastrearse y controlarse;
cuando todo cambio pueda rastrearse y
analizarse;
cuando todos los que deben saber acerca
de un cambio estn informados, entonces
la gestin del cambio se hizo
correctamente.
Ingeniera de Software Introduccin a la Ingeniera de Software
cul es el origen de los cambios
que se solicitan para el software?
No hay nada permanente, excepto el cambio.
Herclito, 500 a.C.
Ingeniera de Software Introduccin a la Ingeniera de Software
Cuatro fuentes fundamentales de cambio.
1. Nuevas condiciones empresariales o de mercado dictan los
cambios en los requerimientos del producto o en las reglas
empresariales.
2. Nuevas necesidades de los accionistas demandan modificacin
a los datos producidos por los sistemas de informacin, a la
funcionalidad que entregan los productos o a los servicios que
ofrece un sistema basado en computadora.
3. La reorganizacin o crecimiento/reduccin de la empresa
produce cambios en las prioridades proyectadas o en la estructura
del equipo de ingeniera de software.
4. Restricciones presupuestales o de calendario causan una
redefinicin del sistema o del producto.
Ingeniera de Software Introduccin a la Ingeniera de Software
Primera Ley de la Ingeniera de Sistemas
Sin importar donde se est en el ciclo de vida
del sistema, el sistema cambiar, y el deseo por
cambiar persistir a lo largo del ciclo de vida.
Ingeniera de Software Introduccin a la Ingeniera de Software
cules son las metas de y las
actividades realizadas por cada uno
de los elementos constituyentes
involucrados en la AC?
Ingeniera de Software Introduccin a la Ingeniera de Software
Escenario Operativo de Administracin del
Cambio.
Gerente de proyecto
Gerente de configuracin
Ingenieros de software
Cliente
Escenario ACS
Ingeniera de Software Introduccin a la Ingeniera de Software
Gerente de proyecto. La meta es garantizar que
el producto se desarrolle dentro de cierto marco
temporal.
Ingeniera de Software Introduccin a la Ingeniera de Software
Gerente de configuracin.
La meta es garantizar que se sigan los
procedimientos y polticas para crear, cambiar y
probar el cdigo, as como hacer accesible la
informacin acerca del proyecto.
Son responsables de llevar los registros de las diferencias entre las versiones
del software, para asegurar que las nuevas versiones se deriven de forma
de forma controlada y para entregar las nuevas versiones a los clientes correctos en
el momento justo.
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingenieros de software. La meta es trabajar
eficazmente. Es decir, que los ingenieros no deben
interferir innecesariamente unos con otros en la creacin y
prueba del cdigo y en la produccin de productos
operativos de apoyo.
Se comunican y coordinan al notificarse unos con otros las
tareas requeridas y las tareas completadas.
Los ingenieros tienen su propio espacio de trabajo para
crear, cambiar, poner a prueba e integrar cdigo.
Ingeniera de Software Introduccin a la Ingeniera de Software
Cliente. Usa el producto. Puesto que ste se
encuentra bajo control AC, el cliente sigue
procedimientos formales para solicitar cambios y
para indicar errores en el producto.
Ingeniera de Software Introduccin a la Ingeniera de Software
Gerente de
Proyecto
Ve la AC como un mecanismo de Auditora.
Gerente de
Configuracin
Considera como mecanismo de control,
rastreo y generacin de polticas
Ingeniero de
Software
Mecanismo de control de cambio,
construccin y acceso
Cliente
Camino para garantizar la calidad.
Ingeniera de Software Introduccin a la Ingeniera de Software
El software se entrega al equipo de gestin de configuraciones
despus de que el desarrollo haya sido completado y se hayan
probado los componentes de software.
ste equipo gestiona las pruebas del sistema.
Los fallos encontrados durante las pruebas del sistema se devuelven
al equipo de desarrollo para su reparacin.
A continuacin reparan el fallo y entregan una nueva versin del
componente reparado al equipo de garanta de calidad.
Si la calidad es aceptable, ste pasa a ser la nueva lnea base para el
desarrollo del sistema.
PROCESO TRADICIONAL DE DESARROLLO DE
SOFTWARE.
Ingeniera de Software Introduccin a la Ingeniera de Software
El software se entrega al equipo de gestin de configuraciones
despus de que el desarrollo haya sido completado y se hayan
probado los componentes de software.
ste equipo gestiona las pruebas del sistema.
Los fallos encontrados durante las pruebas del sistema se devuelven
al equipo de desarrollo para su reparacin.
A continuacin reparan el fallo y entregan una nueva versin del
componente reparado al equipo de garanta de calidad.
Si la calidad es aceptable, ste pasa a ser la nueva lnea base para el
desarrollo del sistema.
PROCESO TRADICIONAL DE DESARROLLO DE
SOFTWARE.
Ingeniera de Software Introduccin a la Ingeniera de Software
La gestin de configuraciones en el desarrollo gil y desarrollo rpido
no pueden basarse en rgidos procedimientos y papeleo
papeleo burocrtico; pueden ralentizar el proceso de desarrollo.
desarrollo.
Sin embargo, esto no significa que, cuando se requiera un desarrollo
rpido, la gestin de configuraciones deba ser totalmente abandonada.
DESARROLLO GIL.
Ingeniera de Software Introduccin a la Ingeniera de Software
Los procesos giles utilizan herramientas simples de gestin de
configuraciones, como:
un gestor de versiones y,
herramientas para la construccin del sistema,
que incorporarn algo de control. Todos los miembros del equipo
tienen que aprender a utilizar estas herramientas y asumir las
asumir las disciplinas que ellas imponen.
DESARROLLO GIL.
Ingeniera de Software Introduccin a la Ingeniera de Software
Lneas de referencia.
Una especificacin o producto que se revis
formalmente y con el que es estuvo de acuerdo,
que a partir de entonces sirve como base para un
mayor desarrollo y que puede cambiar slo a
travs de procedimientos de control de cambio
formal.
Ingeniera de Software Introduccin a la Ingeniera de Software
Una lnea de referencia se marca al entregar
uno o ms tems de configuracin del software
que se aprobaron como consecuencia de una
revisin tcnica.
Una vez que todas las partes del modelo se
revisaron, corrigieron y luego aprobaron, el
modelo de diseo se convierte en lnea de
referencia.
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingeniera de Software Introduccin a la Ingeniera de Software
Consideraciones
Despus de revisar y aprobar los ICS, se colocan en
una base de datos del proyecto (librera de proyecto o
repositorio de software)
Cuando un miembro de un equipo de ingeniera de
software quiere hacer una modificacin a un ICS que
se ha convertido en lnea de referencia, se copia de la
BD del proyecto en el espacio de trabajo privado del
ingeniero.
Este ICS extrado puede modificarse solamente si se
siguen controles ACS.
Ingeniera de Software Introduccin a la Ingeniera de Software
Explique con sus palabras las razones para
las lneas de referencia.
Suponga que usted es el gerente de un
proyecto pequeo. Qu lneas de referencia
definira para el proyecto y cmo las
controlara?
Ingeniera de Software Introduccin a la Ingeniera de Software
tems de configuracin de cambio.
Un ICS podra considerarse como una sola
seccin de una gran especificacin o como un
caso de prueba en una gran suite de pruebas.
Ejemplos:
Un documento
Toda una suite de casos de prueba
Un componente de programa nominado.
Ingeniera de Software Introduccin a la Ingeniera de Software
Muchas organizaciones de Ingeniera de Software,
tambin colocan las herramientas de software bajo
control de configuracin, es decir, versiones
especficas de editores, compiladores,
navegadores y otras herramientas automatizadas
se congelan como parte de la configuracin del
software.
Por ejemplo, las versiones de compiladores,
pudiendo convertirse en lneas de referencia como
parte de un proceso de ACS.
Ingeniera de Software Introduccin a la Ingeniera de Software
Los ICS se organizan para formar objetos de
configuracin que puedan catalogarse con un
solo nombre en la base de datos del proyecto.
Un objeto de configuracin tiene un nombre y
atributos, y est conectado con otros objetos
mediante relaciones.
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingeniera de Software Introduccin a la Ingeniera de Software
EL REPOSITORIO ACS
El repositorio, es una que acta como el centro de
acumulacin y de almacenamiento de la informacin de ingeniera de
software.
El conjunto de mecanismos y estructuras de datos que permiten a un
equipo de software administrar el cambio en forma efectiva.
Ingeniera de Software Introduccin a la Ingeniera de Software
Qu debe almacenarse en l y qu servicios especficos proporciona?
Ingeniera de Software Introduccin a la Ingeniera de Software
Un repositorio robusto proporciona dos clases de servicios diferentes:
1. Los mismos tipos de servicios que pueden esperarse de
cualquier sistema sofisticado de administracin de base de
datos
2. Los servicios que son especficos del entorno de ingeniera de
software
Ingeniera de Software Introduccin a la Ingeniera de Software
Finalmente, para apoyar el ACS, el repositorio debe tener un conjunto
de herramientas que proporcionan apoyo a las siguientes
caractersticas:
1. Versiones. Debe guardar todas las versiones de los productos
los productos para permitir la administracin efectiva de los
productos liberados y, a los desarrolladores, regresar a
versiones anteriores durante las pruebas y la depuracin.
Ingeniera de Software Introduccin a la Ingeniera de Software
2. Rastreo de dependencia y gestin del cambio. El
repositorio administra una amplia variedad de
elementos de datos almacenados en l.
Por ejemplo, si un diagrama de clase UML se
modifica, el repositorio puede detectar si clases
descripciones de interfaz y componentes de cdigo
modificacin y si pueden llevar los ICS afectados a la
desarrollador.
Ingeniera de Software Introduccin a la Ingeniera de Software
3. Rastreo de requerimientos.
Rastreo hacia adelante. Rastrear todos los
construccin, as como entregables que resulten de
especificacin de requerimientos.
Rastreo hacia atrs. Capacidad de identificar qu
algn producto de trabajo determinando.
Ingeniera de Software Introduccin a la Ingeniera de Software
4. Administracin de la configuracin.
Una instalacin de Administracin de la configuracin
una serie de configuraciones que representa hitos de
especficos o liberaciones de produccin.
Ingeniera de Software Introduccin a la Ingeniera de Software
5. Ensayos de auditora.
Establece informacin adicional acerca de cuando,
realiza los cambios.
Un mecanismo de activacin de repositorio es til
que se modifique un elemento de diseo, se avise al
Ingeniera de Software Introduccin a la Ingeniera de Software
EL PROCESO ACS
Ingeniera de Software Introduccin a la Ingeniera de Software
El proceso ACS, define una serie de tareas que
tienen los siguientes objetivos.
1. Identificar todos los tems que de manera colectiva
definen la configuracin del software.
2. Administrar los cambios a uno o ms de estos tems
3. Facilitar la construccin de diferentes versiones de una
aplicacin y,
4. Garantizar que la calidad del software se conserva
conforme la configuracin evoluciona con el tiempo.
Ingeniera de Software Introduccin a la Ingeniera de Software
El proceso ACS, conlleva las siguientes cinco tareas.
1. Identificacin
2. Control de versin
3. Control de cambio
4. Auditora de la configuracin
5. Reporte
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingeniera de Software Introduccin a la Ingeniera de Software
Consideraciones
Los ICS fluyen hacia afuera a travs de estas capas a lo largo de su
vida til, y al final de cuentas se vuelven parte de la configuracin del
software de una o ms versiones de una aplicacin o sistema.
Ingeniera de Software Introduccin a la Ingeniera de Software
Identificacin de objetos en la Configuracin del
Software.
Para controlar y administrar ICS, cada uno debe
nombrarse por separado y luego organizarse usando
un enfoque orientado a objetos.
1
Objetos bsicos
2
Objetos agregados
Ingeniera de Software Introduccin a la Ingeniera de Software
Objeto
bsico
Es una unidad de informacin que se crea durante
el anlisis, el diseo, el cdigo o la prueba.
Por ejemplo.
Una seccin de una especificacin de
requerimientos
Parte de un modelo de diseo
Cdigo fuente para un componente
Una suite de casos de prueba que se utilice para
ejercitar el cdigo.
Ingeniera de Software Introduccin a la Ingeniera de Software
Objeto
agregado
Es una coleccin de objetos bsicos
y de otros objetos agregados.
Ingeniera de Software Introduccin a la Ingeniera de Software
Cada objeto tiene un conjunto de caractersticas distintivas que lo
identifican de manera nica: un nombre, una descripcin, una lista de
recursos y una realizacin.
Nombre: es una cadena de caracteres que identifica el objeto sin ambigedades.
Descripcin: Es una lista de tems de datos que identifican el tipo ICS, representado
por el objeto, un identificador de proyecto e informacin de cambio y/o versin.
Ingeniera de Software Introduccin a la Ingeniera de Software
Cada objeto tiene un conjunto de caractersticas distintivas que lo
identifican de manera nica: un nombre, una descripcin, una lista de
recursos y una realizacin.
Recursos: son entidades que se proporcionan, procesan, referencian o que de algn
modo el objeto requiere. P.e. los tipos de datos, las funciones especficas o incluso los
nombres de variable.
Realizacin: es un puntero hacia la unidad de texto para un objeto bsico, y nulo
para un objeto agregado.
Ingeniera de Software Introduccin a la Ingeniera de Software
Control de versin.
Combina procedimientos y herramientas
para administrar diferentes versiones de objetos de
configuracin que se crean durante el proceso de
software.
Ingeniera de Software Introduccin a la Ingeniera de Software
Un sistema de control de versiones implementa las
siguientes 04 capacidades.
1. Una base de datos de proyecto que almacena
todos los objetos de configuracin relevantes
2. Capacidad de administracin de versin que
almacena todas las versiones de un objeto de
configuracin o que permita la construccin de
cualquier versin usando diferencias de las
versiones pasadas.
Ingeniera de Software Introduccin a la Ingeniera de Software
Un sistema de control de versiones implementa las
siguientes 04 capacidades.
3. Una facilidad para elaboracin que le permite
recopilar todos los objetos de configuracin
relevantes y construir una versin especfica del
software.
4. Una capacidad de rastreador de conflictos
(rastreador de errores) que permita al equipo
registrar y rastrear el estado de todos los conflictos
sobresalientes asociados con cada objeto de
configuracin.
Ingeniera de Software Introduccin a la Ingeniera de Software
Control de cambio.
Combina procedimientos humanos y
herramientas automatizadas a fin de
proporcionar un mecanismo para el control de cambio.
El arte de avanzar es preservar el orden en medio del
cambio y preservar el cambio en medio del orden.
Alfred North Whitehead
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingeniera de Software Introduccin a la Ingeniera de Software
El control de cambio y de versin, implementan
elementos de la gestin del cambio: control del acceso
y control de la sincronizacin.
Control del
acceso
Determina qu ingenieros de software tienen autoridad
para acceder y modificar un objeto de configuracin
particular.
Control de la
sincronizacin
Ayuda a garantizar que cambios paralelos, realizados
por dos personas diferentes, no se sobrescriban
mutuamente,
Ingeniera de Software Introduccin a la Ingeniera de Software
Como percibes el proceso de control de cambio?
Ingeniera de Software Introduccin a la Ingeniera de Software
Antes de que un ICS se convierta en referencia, slo es
necesario aplicar control de cambio informal.
Cuando el ICS se convierte en referencia, se implementa un
control de cambio en el nivel del proyecto.
Para hacer un cambio, el desarrollador debe obtener la
aprobacin del gerente del proyecto o del ACC.
Ingeniera de Software Introduccin a la Ingeniera de Software
Cuando el producto de software se libera a los clientes,
se instituye el control de cambio formal.
NOTA IMPORTANTE. La ACC juega un papel activo en el control
de cambios. Dependiendo del tamao y carcter de un
proyecto de software, la ACC puede componerse de una
persona (gerente del proyecto) o de algunas personas.
Ingeniera de Software Introduccin a la Ingeniera de Software
Auditora de configuracin.
1) Revisiones tcnicas
2) Auditora a la configuracin del software
Cmo puede un equipo de software asegurarse de que
el cambio se implement adecuadamente?
Ingeniera de Software Introduccin a la Ingeniera de Software
Auditora de configuracin.
Una auditora de configuracin del software
complementa la revisin tcnica al valorar un objeto
de configuracin acerca de las caractersticas que por
lo general no se consideran durante la revisin.
Ingeniera de Software Introduccin a la Ingeniera de Software
La auditora hace y responde las siguientes preguntas:
se realiz el cambio especificado en la OCI?
se incorpor alguna modificacin adicional?
Se llev a cabo un revisin y se aplicaron adecuadamente
los estndares de ingeniera de software?
El cambio se resalto en el ICS. se especificaron la fecha
del cambio y el autor del cambio? los atributos del objeto
de configuracin reflejan el cambio?
Se siguieron los procedimientos ACS para anotar, registrar y
reportar el cambio?
Los ICS relacionados se actualizaron adecuadamente?
Ingeniera de Software Introduccin a la Ingeniera de Software
Cuando la ACS es una actividad formal, la auditora de la
configuracin la realiza por separado el grupo de aseguramiento de
la calidad.
Ingeniera de Software Introduccin a la Ingeniera de Software
Reporte de estado.
Es una tarea ACS que responde las siguientes
preguntas:
Qu ocurri?
Quin lo hizo?
Cundo ocurri?
Qu mas se afectar?
Ingeniera de Software Introduccin a la Ingeniera de Software
Reporte de estado.
Cada vez que
Se actualiza un ICS
El ACC aprueba un cambio
Se lleva a cabo una auditora de configuracin
REC = Reporte del estado de la configuracin.
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingeniera de Software Introduccin a la Ingeniera de Software
Ingeniera de Software Introduccin a la Ingeniera de Software
Evidencia.
Cuadro comparativo sobre las diferentes
herramientas ACS existentes en el mercado.

Вам также может понравиться