Está en la página 1de 6

25/9/2016

GestindeConfiguracindelSoftware

GestindeConfiguracindelSoftware
Generalidades
Alolargodelciclodevidadelprocesodesoftware,losproductosdesoftwareevolucionan.Desdelaconcepcindelproductoyla
captura de requisitos inicial hasta la puesta en produccin del mismo, y posteriormente desde el inicio del mantenimiento hasta su
retiro,sevanrealizandounaseriedecambios,tantoenelcdigocomoenladocumentacinasociada.LaGestindeConfiguracin
delSoftwareesunadisciplinaencargadadelcontroldelaevolucindelosproductosdesoftware.
Comotodoproceso,laGestindeConfiguracintambinpuedesersistematizadayautomatizada,loquesedenominaunSistema
de Gestin de Configuracin (SGC). Actualmente existen en el mercado diversas herramientas que permiten apoyar una o ms
actividadesdelaGestindeConfiguracin.

Definiciones
GestindeConfiguracineselprocesodeidentificarydefinirloselementosenelsistema,controlandoelcambiodeestoselementos
alolargodesuciclodevida,registrandoyreportandoelestadodeloselementosylassolicitudesdecambio,yverificandoquelos
elementosestncompletosyqueseanloscorrectos.
El propsito de la Gestin de Configuracin del Software es establecer y mantener la integridad de los productos de
softwareatravsdelciclodevidadelprocesodesoftware.
LaGestindeConfiguracindelSoftwareimplicalaidentificacindelaConfiguracindelsoftwareenpuntosdadoseneltiempo,el
controlsistemticodeloscambiosenlaConfiguracinyelmantenimientodelaintegridadytrazabilidaddelaConfiguracinatravs
delciclodevidadelsoftware.Losproductosincluidosson:
Softwaredistribuidoalcliente.
Documentosderequerimientosdelsoftware.
Cdigo.
Elementosrequeridosparacrearlos(ejemplo:elcompilador)

AspectosFuncionales
1. Identificacin: Se necesita definir un esquema de identificacin para reflejar la estructura del producto, esto involucra
identificar la estructura y clases de componentes, dando a cada uno un nombre, una identificacin de versin y una
identificacindeConfiguracin.
2. Control: Se deben controlar los cambios que se le hacen a travs del ciclo de vida, asegurando que el software sea
consistenteatravsdelacreacindeunalneabasedelproducto.
3.Estado:Sedeberegistraryreportarelestadodeloscomponentesysolicitudesdecambio.
4. Auditoria y revisin: Se debe validar que el producto este completo y se asi mantener la consistencia entre los
componentes,asegurandoqueestnenunestadoapropiadoatravsdetodoelciclodevidadelproductoyqueelmismosea
unacoleccinbiendefinidadecomponentes.

Solucinquelebrindamos
Nuestra empresa rene conocimientos especficos en la disciplina de Configuracin del Software y experiencia implementando y
aplicandoestosconceptosendiferentesorganizaciones.
Estosconocimientossecomplementanyenriquecenutilizandolasherramientasespecficasyunframeworkmetodolgicoadecuable
alproyectoyalcliente.
La suma de estos aspectos posibilita la implementacin de una solucin de Gestin Automatizada de Configuracin del Software,
amalgamandofuncionesydisciplinasaherramientasyprocesosautomticos.
As,nuestraempresalopuedeayudarenladecisinde:CulesproductosadquiriryCmoimplementarloeficientemente.
LasSuitesdeproductosIBMRationalabarcantodoelciclodevidadeldesarrollodelsoftware,peroquizsuempresaslorequiera
eficientizarunadelasetapasdelmismo.Nuestrosprofesionalesleayudarnaidentificarlaherramientaespecficaparaesadecisin
yelmtodoprecisoparasuimplementacineficiente.
http://www.histaintl.com/soluciones/configuracion/configuracion.php

1/6

25/9/2016

GestindeConfiguracindelSoftware

AlgunosconceptospresentesenlaDisciplina
Configuracin
Lascaractersticasfuncionalesyfsicasdeunaversinespecificadehardwareyelementosdesoftwarequecombinadosdeacuerdo
aprocedimientosdeconstruccinespecficoscumplenunpropsitoparticular.

Elementosdeconfiguracindesoftware
DefinimoscomounelementodeConfiguracinaunaunidadfsicay/olgicapartedeunconjuntomayordeelementos,producidao
adquirida,queporsuscaractersticasesdistinguibledelasdemsycuyaevolucininteresaadministrar.
SonelementosdeConfiguracinenunproyectodesoftware:

01.Elplandeproyecto.
02.ElplandeGestindeConfiguracin.
03.Eldocumentodedefinicinderequerimientos.
04.Estndaresdeanlisis,diseo,codificacin,pruebas,yauditoria.
05.Documentosdeanlisisdelsistema.
06.Documentosdediseodelsistema.
07.Prototipos.
08.Documentosdediseodealtonivel.
09.Documentosdediseodebajonivel.
10.Especificacionesdepruebadelsistema.
11.Elplandepruebasdelsistema.
12.ElCdigofuentedelprograma.
13.Cdigoobjetoyejecutable.
14.Especificacionesdepruebasdeunidad.
15.Planesdepruebasdeunidad.
16.Documentosdediseodebasededatos.
17.Datosdeprueba.
18.Datosdelproyecto.
19.Manualesdeusuario.

Versin
UnaversinesunainstanciadeunelementodeConfiguracin.EltrminoseusaparasealaraunelementodeConfiguracindel
softwarequetieneunconjuntodefinidodecaractersticasfuncionales.

Revisin
Se define revisin como una versin que se construye sobre otra versin anterior. El trmino revisin generalmente se asocia a la
nocindecorreccindeerrores,estoes,hacercambiosaunprogramaquecorrigensoloerroreseneldiseolgicoperonoafectan
lascapacidadesfuncionalesdocumentadas,dadoqueningnrequerimientohacambiado.

Variante
Se define variante como una versin que es una alternativa a otra versin. Las variantes pueden permitir a un elemento de
Configuracin satisfacer requerimientos en conflicto. Una variante es una nueva versin de un elemento que ser aadida a la
Configuracinsinreemplazaralaversinanterior.
Por ejemplo, si se desarrolla una aplicacin para varios sistemas operativos, algunas libreras pueden requerir modificaciones para
poder ser compiladas o ejecutadas en los diferentes sistemas la versiones para Unix y para Windows NT de una librera seran
variantesdelmismoelemento.
Lacreacindevariantesimplicalacreacinderamasenungrafodeevolucin.

Lneabase
Unalneabaseesunaespecificacinoproductorevisadoyaprobadoformalmente,quesirvecomobaseparaeldesarrolloposterior,
ypuedesermodificadosoloatravsdeprocedimientosformalesdecontroldecambios.
El trmino tambin se usa para referirse a una versin particular de un elemento de software que ha sido aprobado. En cualquier
http://www.histaintl.com/soluciones/configuracion/configuracion.php

2/6

25/9/2016

GestindeConfiguracindelSoftware

caso, la lnea base solo se puede modificar a travs de procedimientos formales de control de cambios. Una lnea base, junto con
todosloscambiosaprobadosalalneabase,representalaConfiguracinaprobadaactual.

ProcesosAsociados
El estndar ISO/IEC 12207 ([ISO 12207]) para Procesos del Ciclo de Vida del Software, establece el Proceso de Gestin de
Configuracin como uno de los Procesos de Soporte del Ciclo de Vida. Un Proceso de Soporte apoya a otro proceso como una
parteintegral,conunpropsitodistinto,ycontribuyealxitoyalacalidaddelproyectodesoftware.
Esteprocesoconsistedelassiguientesactividades:
1.ImplementacindelProceso:SedesarrollaunPlandeGestindeConfiguracinquedescribelasactividadesdeGestin
de Configuracin, los procedimientos y el cronograma para su realizacin, y los responsables de dichas actividades. Dicho
plandebeserdocumentadoeimplementado.
2. Identificacin de la Configuracin: Se establece un esquema de identificacin de los elementos de software y sus
versionesasercontroladosporelproyecto.
3.Control de la Configuracin: Se identifican y registran las solicitudes de cambio, se analiza y evala los cambios, se
apruebaorechazalasolicitud,seimplementa,verificaydistribuyeelelementodesoftwaremodificado.
4.Contabilidad de Estado de la Configuracin: Se preparan registros de Gestin y reportes de estado que muestren el
estadoehistoriadeloselementosdesoftwarecontrolados,incluyendolneasbase.
5.EvaluacindelaConfiguracin:Sedeterminayaseguraqueloselementosdesoftwareseanfuncionalmente(versussus
requerimientos)yfsicamentecompletos(esdecir,sisudiseoyCdigoreflejanunadescripcintcnicaactualizada).
6. Gestin de actualizacin y distribucin: Se controla formalmente la actualizacin y distribucin de los productos de
software.
En la figura 1 se presenta un modelo de este proceso elaborado utilizando el perfil de UML para modelamiento de procesos de
software,
propuesto
por
el
Object
Management
Group
(OMG)

ElestndarIEEEStd.10741995([IEEE1074])paraelDesarrollodeProcesosdelCiclodeVidadelSoftware,estableceelProceso
deGestindeConfiguracindelSoftwarecomounodelosProcesosIntegrales.EstossonlosProcesosnecesariosparacompletar
exitosamentelasactividadesdelproyecto,ysonutilizadosparaasegurarlafinalizacinycalidaddelasfuncionesdelproyecto.Este
procesoconsistedelassiguientesactividades:

http://www.histaintl.com/soluciones/configuracion/configuracion.php

3/6

25/9/2016

GestindeConfiguracindelSoftware

1.PlanificarlaGestindeConfiguracin.
2.DesarrollarlaIdentificacindelaConfiguracin.
3.RealizarelControldelaConfiguracin.
4.RealizarlaContabilidaddeEstado.

EscenariosdeConfiguracinenelProcesodeSoftware
Gestindeconfiguracindelcdigofuente
La evolucin del Cdigo fuente es quizs el ejemplo mas claro en la Gestin de Configuracin. A lo largo del desarrollo (y
posteriormenteenelmantenimiento)lasmodificacionesalsoftwareserealizansobreelCdigofuente.YessegnelCdigofuente
quesevalidaladocumentacinasociada.
Lossistemasadministradoresdeversionessesuelenintegraralosentornosdedesarrolloyrealizanadministracindeversionesdel
Cdigo fuente. Cada modificacin de uno de los archivos del programa va generando una revisin del mismo, y peridicamente se
creanlneasbasedetodoelproyecto.
De este modo, un equipo de desarrollo puede trabajar en paralelo, compartiendo versiones de archivos de Cdigo fuente y
actualizndolosperidicamentesegnsevancreandoomodificandolosarchivosqueconformanelproyecto.

Gestindeconfiguracineneldesarrollodesoftware
Como ya habamos comentado, un elemento de Configuracin puede ser prcticamente cualquier producto o subproducto del
desarrollodesoftware.Lasespecificacionesderequisitos,losdocumentosdeanlisisydediseo,elCdigofuenteyejecutable,y
losprocedimientosydatosdepruebapuedensersometidosacontroldeConfiguracin.
Conuncontrolriguroso,esposibleentoncesmantenerregistrodelestadodetodosestoselementos,loquefacilitalaintroduccinde
cambios si se tiene registro de las dependencias entre ellos, adems de facilitar la elaboracin de entregables por ejemplo, si se
tiene registro de las dependencias entre los elementos de Configuracin, es posible que si se produce un cambio en las
especificaciones, los documentos de anlisis y diseo y el Cdigo fuente asociados puedan ser actualizados sin que tome
demasiadotiemporealizarsubsqueda.

Gestindeconfiguracinenelmantenimientodesoftware
Enelmantenimientodesoftware,cobraimportancialafuncindelComitdeControldeCambios(CCC),queseencargaderecibir,
estudiaryaprobarlassolicitudesdecambioenelsoftwarequesonpresentadas,seaporlosusuariosoporlospropiosencargados
delmantenimiento.Enestecaso,lasfuncionesdecontrolydeauditoriasevuelvencasiindispensables,puesesnecesariomantener
registro de todas las solicitudes de cambio presentadas y del estado actual de cada una de ellas. Un sistema de Gestin de
ConfiguracinqueapoyelaGestindesolicitudesdecambio,deberapermitirelregistroporpartedelosusuariosdelassolicitudes
decambio,surevisinporpartedelCCC,ysisonaprobadaslacreacindeordenesdecambio.
UncambioimplicageneralmentelaactualizacintantodelCdigofuente,comodelosdocumentosdeespecificacinderequisitos,
anlisisydiseo,casosdepruebaymanuales.Porlotanto,enelescenarioanterior,resultadeutilidadmantenerunregistrodelas
dependenciasentreloselementosdeConfiguracin.Elcambioseverareflejadoenlacreacindenuevasversionesdeloselementos
respectivos.

GestinenladistribucindelsoftwarealasPCUsuarios
Cuando se pone en produccin un software, se distribuyen copias del mismo entre los diversos usuarios del sistema. En este
escenario,unsistemadeGestindeConfiguracindeberapermitirregistrarlasConfiguraciones(conjuntodeversionesdeelementos
de Configuracin) que cuenta cada PC usuario. Puede ocurrir, que si un mismo sistema se vende a distintos clientes, en algn
momento surjan requerimientos contradictorios o necesidades que lleven a la creacin de variantes de los elementos de
Configuracin. El sistema de Gestin de Configuracin apoyara entonces al momento de estudiar una solicitud de un usuario a
conocercualeslaConfiguracinconlaqueestatrabajando.

ModeloGenrico
A continuacin se propone un modelo genrico para la Gestin de Configuracin del software, representado en la figura 2. Este
modeloprocuraabarcarlosescenariospresentadosanteriormenteydasoportealossiguientesrequerimientos:

http://www.histaintl.com/soluciones/configuracion/configuracion.php

4/6

25/9/2016

GestindeConfiguracindelSoftware

1.PermitelacreacindetiposdeelementosdeConfiguracin.Deestemodo,esposiblequeelusuariocreesuspropiostipos
deelementosdependiendoqueesloquedeseacontrolar.
2.PermitelacreacindetiposderelacionesentreloselementosdeConfiguracin.Esposiblequeelusuariocreelostiposde
relacionesquedesee,yqueespecifiquedependenciasparalacreacindenuevasversionesentreelorigenyeldestinodela
relacin.Estasdependenciaspuedenser:
Ninguna,
CondicionalOrigen(selorigencambia,eldestinopodracambiar),
CondicionalDestino(seldestinocambia,elorigenpodracambiar),
ObligatoriaOrigen(selorigencambia,eldestinodebecambiar),
ObligatoriaDestino(sieldestinocambia,elorigendebecambiar).
3. Cada tipo de elemento y cada tipo de relacin puede tener los campos de informacin adicional que el usuario considere
necesarios.
4. Un elemento de Configuracin corresponde a un tipo y sus versiones pueden estar relacionadas con versiones de otros
elementossegnsecreenrelacionesparal.
5.UnelementodeConfiguracintieneunconjuntodeversionesasociadas,cadaunadelascualesestaasociadaalusuario
(dueo)quelacreo.
6. Un conjunto de versiones de elementos de Configuracin conforma una Configuracin. Es posible de este modo registrar
muchasConfiguracionesparaelmismosoftware,quepuedendiferirencuantoaversiones,oservariantes(Configuraciones
alternativas).

http://www.histaintl.com/soluciones/configuracion/configuracion.php

5/6

25/9/2016

GestindeConfiguracindelSoftware

Deestemodeloesposibleobtenerinformacinacercade:
1.LostiposdeelementossometidosaGestindeConfiguracin.
2.Lasrelacionesentredichoselementos.
3.Lasdependenciasparalacreacindeversionesalmomentodeanalizarlaintroduccindeuncambio.Esposibleconocer
comouncambioenunelementoafectaraalosdems.
4.Losusuariosquegeneraroncadaversindeunelemento.

http://www.histaintl.com/soluciones/configuracion/configuracion.php

6/6