Sie sind auf Seite 1von 14

Procesos de ingeniera de software

Software engineering processes

Hctor Arturo Flrez Fernndez*

Fecha de recepcin: 5 de abril de 2009


Fecha de aceptacin: 15 de mayo de 2009

Resumen

Existen diferentes procesos en el tema ingeniera de software, que tienen como


objetivo presentar diferentes tcnicas que consisten en la com-
binacin de procedimientos que permiten guiar el diseo y el
desarrollo de sistemas de software a un producto final de cali-
dad. Algunos de esos procesos son: modelo secuencial, mode-
lo en espiral, modelo win win, rational unified process (RUP),
extreme programming (XP), mtodo delphi, mtrica versin 3,
modelo de madurez de capacidad (CMM), proceso personal de
software (PSP) y proceso en equipo de software (TSP).

Palabras clave: Ingeniera de Software, RUP (Rational Unified


Process), XP (eXtreme Programming), CMM (Capability Matu-
rity Model), PSP (Personal Software Process), TSP (Team Soft-
ware Process).

*
Ingeniero Electrnico de la Universidad El Bosque de Bogot, Ingeniero de Sistemas de la Universidad El Bosque de
Bogot, Especialista en Alta Gerencia de la Universidad Militar Nueva Granada de Bogot, magster en Ciencias de
Informacin y las Comunicaciones de la Universidad Distrital Francisco Jos de Caldas. Docente Investigador Funda-
cin Universitaria Konrad Lorenz, docente Universidad Distrital Francisco Jos de Caldas. Adscrito al grupo de inves-
tigacin Promente de la Fundacin Universitaria Konrad Lorenz. Correo electrnico: hectorarturo@yahoo.com.

VINCULOS SPT 2010.indd 26 12/10/10 11:01


V N C U L O S
ENERO-JUNIO D E 2 0 0 9
VOLUMEN 6 NMERO 1

Abstract
There are different processes in software engineering, that
have the goal presenting different techniques that consist in
the combination of processors that allow the guide in the de-
sign and development of software systems to a final product
whit quality. Some of these processes are sequential model,
spiral model, win win model, rational unified process (RUP),
extreme programming (XP) delphi method, metric version 3,
capability maturity model (CMM), personal software process
(PSP) and team software process (TSP)

Key words: Software Engineering, RUP (Rational Unified


Process), XP (eXtreme Programming), CMM (Capability Ma-
turity Model), PSP (Personal Software Process), TSP (Team
Software Process)

Modelo lineal secuencial

Tambin llamado ciclo de vida clsico rrollo del software que empieza con el esta-
o modelo en cascada, sugiere un enfo- blecimiento de requisitos y pasa a las fases
que1 sistemtico, secuencial para el desa- de anlisis, diseo, codificacin, pruebas y
mantenimiento[1].

Figura 1. El ciclo de vida del modelo lineal


secuencial [3]

Ingeniera y modelado de sistemas e


informacin algn subgrupo de estos requisitos. Tenien-
do en cuenta el sistema como tal y la empre-
Establece los requisitos para todos los ele- sa desde los puntos de vista estratgico y de
mentos del sistema y le asigna al software negocio.

27
1 El modelo original propuesto por Winston Royce haca provisiones para ciclos de realimentacin, la gran mayora
lo aplica como si fuera estrictamente lineal.
27

Hctor Arturo Flrez Fernndez

VINCULOS SPT 2010.indd 27 12/10/10 11:01


I + D I N V E S T I G A C I N Y D E S A R R O L L O

Anlisis de los requisitos cambiar las variables de entorno del


del software usuario que pueden afectar de mane-
ra potencial y los requisitos planteados
En esta parte el ingeniero intenta compren- inicialmente.
der la naturaleza de los programas que han La eliminacin de fallas suele ser extre-
de construirse, as como el dominio de la madamente difcil durante las ltimas
aplicacin. etapas de prueba del sistema.

Diseo Modelo en espiral

En esta fase se traducen los requisitos a El modelo espiral, propuesto originalmente


una representacin que pueda ser evalua- por B. Boehm, es un modelo de proceso de
da previamente antes de empezar la fase de software evolutivo que conjuga la naturaleza
codificacin. iterativa de construccin de prototipos con
los aspectos controlados y sistemticos del
Generacin de cdigo modelo en cascada [1], aadiendo un nuevo
elemento: el anlisis de riesgo [2]. El modelo,
Se traduce lo diseado en la fase anterior a representado mediante la espiral de la figura
un lenguaje que pueda ser procesado por la 2, define cuatro actividades principales:
mquina.

Figura 2. Modelo espiral [2]


Pruebas

Cuando el cdigo se ha generado es el mo-


mento de empezar a realizar las pruebas del
programa, centrado en los procesos lgicos
internos y en los procesos externos funciona-
les para asegurar que las entradas producen
los resultados requeridos.

Mantenimiento

El software puede necesitar cambios, debido


a varias razones: errores, el entorno o mejo- Planificacin. Determinacin de objeti-
ras sugeridas por el cliente. vos, alternativas y restricciones.
Anlisis de riesgo. Anlisis de alter-
Debilidades del modelo en cascada nativas e identificacin/resolucin de
riesgos.
Nada est hecho hasta que todo est Ingeniera. Desarrollo del producto del
terminado. siguiente nivel.
Se pueden presentar problemas debido a Evaluacin del cliente. Valorizacin de
falta de informacin en la fase de levan- los resultados de la ingeniera.
tamiento de requisitos.
El progreso ordenado no es realista: du- Durante la primera vuelta alrededor de la es-
2828 rante el proceso de desarrollo pueden piral se definen los objetivos, las alternati-

Procesos de ingeniera de software

VINCULOS SPT 2010.indd 28 12/10/10 11:01


V N C U L O S
ENERO-JUNIO D E 2 0 0 9
VOLUMEN 6 NMERO 1

vas y las restricciones, y se analizan e iden- na detalles suficientes para continuar. Des-
tifican los riesgos. Si el anlisis de riesgo graciadamente, esto raramente ocurre. En
indica que hay una incertidumbre en los re- realidad, el cliente y el desarrollador entran
quisitos, se puede usar la creacin de proto- en un proceso de negociacin, en el cual el
tipos en el cuadrante de ingeniera para dar cliente puede ser preguntado para sopesar
la funcionalidad, el rendimiento y otros pro-
asistencia, tanto al encargado de desarrollo
ductos o caractersticas del sistema frente al
como al cliente. ste evala el trabajo de in-
coste y al tiempo de comercializacin.
geniera (cuadrante de evaluacin de clien-
te) y sugiere modificaciones. Sobre la base de Las mejores negociaciones se esfuerzan en
los comentarios del cliente se produce la si- obtener gana-gana. Esto es, el cliente gana
guiente fase de planificacin y de anlisis de obteniendo el producto o sistema que satisfa-
riesgo; en cada bucle alrededor de la espiral, ce la mayor parte de sus necesidades y el de-
la culminacin del anlisis de riesgo resulta sarrollador gana trabajando para conseguir
en una decisin de seguir o no seguir. presupuestos y lograr una fecha de entrega
realista.
Con cada iteracin alrededor de la espiral
(comenzando en el centro y siguiendo hacia El modelo en espiral win-win define un con-
junto de actividades de negociacin al prin-
el exterior), se construyen sucesivas versio-
cipio de cada paso alrededor de la espiral.
nes del software, cada vez ms completa y, al
Adems del nfasis realizado en la negocia-
final, al propio sistema operacional.
cin inicial, el modelo en espiral win-win in-
troduce tres hitos en el proceso, llamados
Actualmente, el paradigma del modelo en es- puntos de fijacin, que ayudan a establecer
piral para la ingeniera de software es el en- la completitud de un ciclo alrededor de la es-
foque ms realista para el desarrollo de soft- piral y proporcionan hitos de decisin antes
ware y de sistemas a gran escala. Utiliza un de continuar el proyecto de software.
enfoque evolutivo para la ingeniera de soft-
ware, puesto que le permite al desarrollador En esencia, los puntos de fijacin representan
y al cliente entender y reaccionar conforme a tres visiones diferentes del progreso mien-
los riesgos en cada nivel evolutivo. De igual tras que el proyecto recorre la espiral. El pri-
forma, utiliza la creacin de prototipos como mer punto de fijacin, llamado objetivos del
ciclo de vida, define un conjunto de objeti-
un mecanismo de reduccin de riesgo, pero,
vos para cada actividad principal de inge-
lo que es ms importante permite a quien lo
niera de software. El segundo punto de fija-
desarrolla aplicar el enfoque de creacin de cin, llamado arquitectura del ciclo de vida,
prototipos en cualquier etapa de la evolucin establece los objetivos que se deben conocer,
de prototipos [2]. mientras que se define la arquitectura del
software y el sistema. La capacidad operati-
Modelo en espiral (win-win) va inicial es el tercer punto de fijacin y re-
presenta un conjunto de objetivos asociados
El modelo en espiral tratado anteriormente a la preparacin del software para la instala-
sugiere una actividad del marco de trabajo cin y distribucin [1].
que aborda la comunicacin con el cliente.
El objetivo de esta actividad es mostrar los RUP (Rational Unified Process)
requisitos del cliente. En un contexto ideal,
el desarrollador simplemente le pregunta al RUP (Rational Unified Process) es una me-
cliente lo que necesita y el cliente proporcio- todologa que permite construir software
29
29

Hctor Arturo Flrez Fernndez

VINCULOS SPT 2010.indd 29 12/10/10 11:01


I + D I N V E S T I G A C I N Y D E S A R R O L L O

en tiempo y precio justos. RUP utiliza UML cionar a tiempo y eficientemente. De cada
(Unified Modeling Language), para especifi- iteracin debe resultar una nueva versin
car, visualizar, construir y documentar siste- ejecutable para verificar claramente que to-
mas de software. Tambin representa un con- dos los productos generados actan en for-
junto de las mejores prcticas de ingeniera ma predecible y repetible [6].
que han probado ser exitosas en el modelo
de sistemas, reduciendo la complejidad y el Las iteraciones que se deben realizar en la
diseo de los procesos [7]. elaboracin de un proyecto se describen en
la siguiente figura.
Un proceso de Ingeniera de Software re-
quiere herramientas que apoyen todas las
actividades del ciclo de vida de los sistemas. Figura 3. Desarrollo interactivo
Como respuesta a ello Rational Software
Corp. pone a disposicin herramientas que
estn diseadas para hacer ms eficiente la
aplicacin de metodologas como el RUP, de
esa forma se permite la creacin de un am-
biente de desarrollo ptimo. El conjunto de
herramientas de Rational est basado en seis
principios fundamentales para el desarrollo
de software, denominadas las seis mejores
prcticas que son: administracin de los re-
querimientos, desarrollar en forma iterativa,
modelar visualmente, pruebas continuas, ar- Modelar software visualmente
quitecturas basadas en componentes y con-
trol de cambios [7]. Hacer modelos es importante, porque ayu-
da al equipo de desarrollo a visualizar, es-
Administrar los requerimientos pecificar, construir y documentar la estruc-
tura y comportamiento de la arquitectura de
El desafo de administrar los requerimientos un sistema de software. Si, adems, se utili-
de un sistema de software es que son dinmi- za un lenguaje de modelacin estndar, los
cos, es decir, pueden cambiar durante la vida distintos miembros del equipo de desarrollo
de un proyecto. Identificar los verdaderos re- pueden comunicar sus decisiones sin ambi-
querimientos de un sistema es delicado, de- gedades. Las herramientas de modelacin
bido a que hay que satisfacer objetivos eco- visual facilitan la administracin de los mo-
nmicos y tcnicos en un proceso continuo. delos. Permiten presentar el modelo en dis-
tintos niveles, ocultando los detalles. En re-
Desarrollar software iterativamente sumen, mejora la capacidad del equipo para
administrar la complejidad del software. [7]
El enfoque iterativo facilita la implementa-
cin de nuevos cambios tcticos de reque- Verificar continuamente la calidad
rimientos y caractersticas del cronograma. del software
Con este enfoque se fortalece tempranamen-
te la identificacin de los riesgos del proyec- Encontrar y reparar un problema de software
3030 to, cuando an es posible atacarlos y reac- despus de la implementacin, puede resul-

Procesos de ingeniera de software

VINCULOS SPT 2010.indd 30 12/10/10 11:01


V N C U L O S
ENERO-JUNIO D E 2 0 0 9
VOLUMEN 6 NMERO 1

tar demasiado costoso. Por esta razn es im- Controlar los cambios del software
portante evaluar continuamente la calidad
de un sistema con respecto a su funcionali- Normalmente, un proyecto de sistemas, im-
dad, confiabilidad y performance. La activi- plica mltiples desarrolladores organizados
dad fundamental que involucra esta prcti- en diferentes equipos de trabajo. Posible-
ca es la revisin, la cual permite encontrar las mente, estos equipos de trabajo se encuen-
fallas antes de la puesta en produccin de un tran en diferentes sitios, trabajando en con-
sistema. Si, adems se utiliza la prctica de junto y en mltiples iteraciones, para lograr
desarrollar software iterativamente, se est nuevas versiones, productos y plataformas.
revisando la versin en cada iteracin, lo- Coordinar las actividades y los productos
grando as un proceso de evaluacin conti- que van generando los desarrolladores im-
nuo y cuantitativo [7]. plica establecer procesos repetibles para ad-
ministrar los cambios al software y otros ar-
Utilizar arquitecturas basadas en tefactos del desarrollo. Esta coordinacin
componentes permite una mejor asignacin de los recur-
sos, basada en las prioridades y en los ries-
El desarrollo basado en componentes es un gos del proyecto y administrar activamente
enfoque importante de arquitectura de soft- los cambios a travs de las iteraciones [7].
ware, porque permite la reutilizacin o adap-
tacin de componentes existentes de mi- Fases para el diseo y desarrollo
les de fuentes comercialmente disponibles.
Un componente de software se puede defi- Existen cuatro fases en los procesos RUP: ini-
nir como una pieza no trivial de software, cio, elaboracin, construccin y transicin.
un mdulo, un paquete o un subsistema que Estas fases representan el nfasis de las acti-
completa una funcin clara [7]. vidades dentro de cada iteracin [5].

Figura 4. Fases de RUP [5]

31
31

Hctor Arturo Flrez Fernndez

VINCULOS SPT 2010.indd 31 12/10/10 11:01


I + D I N V E S T I G A C I N Y D E S A R R O L L O

Inicio Extreme Programing (XP)

En esta fase, la meta de las iteraciones es ayu- Es una de las metodologas de desarrollo de
dar al equipo de proyecto a decidir cules se- software ms exitosas en la actualidad, uti-
rn los objetivos verdaderos del proyecto [5]. lizadas para proyectos de corto plazo, corto
equipo y cuyo plazo de entrega era ayer. La
Elaboracin metodologa consiste en una programacin
rpida o extrema, cuya particularidad es te-
En esta fase se establece una comprensin ner como parte del equipo, al usuario final,
firme del problema que se solucionar, se es- pues es uno de los requisitos para llegar al
tablece la fundacin arquitectnica del soft- xito del proyecto.
ware, se apoya un plan detallado de itera- Caractersticas de XP, la metodologa se basa en:
ciones subsecuentes se refina el proceso y se Pruebas unitarias: se basa en las pruebas
elimina los altos riesgos. Las iteraciones pro- realizadas a los principales procesos, de
ducidas en esta fase estn, en el promedio, tal manera que adelantndonos en algo
perceptiblemente menos disponible que las hacia el futuro, podamos hacer prue-
producciones en la fase de inicio. Cada ite- bas de las fallas que pudieran ocurrir. Es
racin debe agregar nuevas caractersticas al como si nos adelantramos a obtener los
cuerpo del software [5]. posibles errores.
Refabricacin: se basa en la reutilizacin
Construccin de cdigo, para lo cual se crean patrones
o modelos estndares, siendo ms flexi-
Las iteraciones en la fase de la construccin ble al cambio.
no son muy diferentes de las iteraciones de la Programacin en pares: una particulari-
fase de la elaboracin. Cada iteracin agrega dad de esta metodologa es que propone
caractersticas al software. Durante esta fase, la programacin en pares, la cual consis-
se espera que las descripciones del caso del te en que dos desarrolladores participen
uso se estabilizarn hasta cierto punto, sin en un proyecto en una misma estacin de
embargo, en muchos dominios del proyecto trabajo. Cada miembro lleva a cabo la ac-
continuarn cambiando a travs del curso de cin que el otro no est haciendo en ese
la vida del proyecto [5]. momento. Es como el chofer y el copilo-
to: mientras uno conduce, el otro consul-
Transicin ta el mapa.

En esta fase, las iteraciones continan agre- El desarrollo bajo XP tiene caractersticas que lo
gando caractersticas al software. Sin embar- distinguen claramente de otras metodologas:
go, esas caractersticas agregan a un sistema Los diseadores y programadores se co-
que los usuarios estn utilizando activamen- munican efectivamente con el cliente y
te. Los artefactos producidos en esta fase son entre ellos mismos.
los mismos que los producidos en la fase de Los diseos del software se mantienen
construccin. El equipo simplemente mejora sencillos y libres de complejidad o pre-
el sistema hacia los objetivos que fueron fija- tensiones excesivas.
dos en el final de la fase del inicio [5]. Se obtiene retroalimentacin de usuarios y
clientes desde el primer da, gracias a las ba-
3232
Procesos de ingeniera de software

VINCULOS SPT 2010.indd 32 12/10/10 11:01


V N C U L O S
ENERO-JUNIO D E 2 0 0 9
VOLUMEN 6 NMERO 1

teras de pruebas El software es liberado en te de los cambios en los requerimientos y un


entregas frecuentes tan pronto como sea po- fuerte enfoque en las pruebas de aceptacin
sible. Los cambios se implementan rpida- de cada etapa.
mente tal y como fueron sugeridos. Las me-
tas en caractersticas, tiempos y costos son Gestin de cambios
reajustadas permanentemente en funcin del
avance real obtenido. El cliente est en el pleno derecho de hacer
cuantos cambios necesite al proyecto, si con
Con estas caractersticas no es sorprenden- ello consigue un mejor resultado final. Para
te que XP sea la metodologa ms apropiada lograr esto, desarrolladores y clientes deben
para un entorno caracterizado por requeri- trabajar en conjunto y muy de cerca desde el
mientos cambiantes, originados por un mer- primer da y las metas en trminos de carac-
cado fluctuante y los propios avances de la tersticas, tiempos y costos deben ser reajus-
tecnologa y los negocios. tadas permanentemente.

Cambio de paradigma Un desarrollador nunca debe eliminar carac-


tersticas con el afn de disminuir tiempos o
El cliente tpico de servicios de desarrollo de costos sin la aprobacin del cliente. Un clien-
software y pginas Web tiene mucha dificul- te no puede esperar cambiar reiteradamen-
tad para ofrecer desde el inicio informacin te los requerimientos de un sistema si ya los
precisa y detallada del sistema que necesi- ha probado y aceptado sin incurrir en gastos
ta. Esto es normal y la explicacin radica en adicionales.
muchos factores, entre los principales, la fal-
ta de prototipos y las sucesivas oportunida- Gestin de costos
des para mejorar el sistema que el cliente en-
cuentra mientras ste va tomando un forma XP crea transparencia y un clima de agili-
ms tangible. dad en la relacin entre desarrolladores y
clientes. El costo de hora/hombre por cada
El desarrollo de un entregable de caractersti- tipo de recurso es conocido y acordado des-
cas fijas a un costo fijo crea ms problemas de de el principio. Un proyecto de varios meses
los que pretende solucionar. A pesar de ser es dividido en pequeos proyectos de po-
el paradigma comercial ms usado en la ac- cas semanas de duracin y las metas y cro-
tualidad, es un modelo que desperdicia de- nogramas se van ajustando en tiempo real,
masiadas oportunidades de entregar como de acuerdo con el nivel de avance y las difi-
resultado un software no slo ms til, sino cultades reales que ofrece el proyecto acepta-
tambin mejor diseado y ms fcil de man- das en forma conjunta por desarrolladores y
tener. Adems, la dificultad natural en esta- clientes.
blecer las caractersticas exactas de un pro-
ducto que inicialmente es slo un concepto El hecho de tener que aceptar resultados de
que genera diferencias, muchas veces insal- poca calidad o que no solucionan realmente
vables entre clientes y desarrolladores que los problemas de las organizaciones perjudi-
originan la ruptura de las relaciones comer- ca enormemente a los clientes. De igual for-
ciales, casi siempre, ni bien el proyecto es fi- ma, tener que enfrentar una gran cantidad de
nalmente entregado y en casos incluso antes. cambios y ajustes y regresar a etapas ya rea-
La solucin radica en un manejo ms eficien- lizadas por cambios en los requerimientos o 33
33

Hctor Arturo Flrez Fernndez

VINCULOS SPT 2010.indd 33 12/10/10 11:01


I + D I N V E S T I G A C I N Y D E S A R R O L L O

los criterios de aceptacin perjudica enorme- Este mtodo hace uso de un panel de ex-
mente a los desarrolladores, si es que no van pertos que de forma asincrnica no se re-
a recibir una compensacin econmica por el nen, intercambian opiniones a travs de co-
esfuerzo adicional requerido. rreo electrnico u otro medio impersonal,
son seleccionados en funcin de las reas
Se debe trabajar un mximo de 40 horas por de conocimiento requeridas por el proble-
semana. No se trabajan horas extras en dos ma. Lo anterior implica la nocin de que in-
semanas seguidas. Si esto ocurre, probable- dividuos bien informados, haciendo uso de
mente, est ocurriendo un problema que se su experiencia e introspeccin, estn mejor
debe corregir. El trabajo extra desmotiva al equipados para predecir el futuro que las
equipo. Los proyectos que requieren traba- aproximaciones tericas o la extrapolacin
jo extra para intentar cumplir con los plazos de tendencias [11]. Este mtodo asume que a
suelen ser entregados con retraso. En lugar travs de repetidos cuestionarios, los exper-
de esto, se puede realizar el juego de la pla- tos se acercarn a un punto en comn que
nificacin para cambiar el mbito del proyec- ser la mejor respuesta, lo cual es definido
to o la fecha de entrega. por indicadores estadsticos.

Metodo Delphi Etapas del proceso

El mtodo Delphi consiste en una serie de Este mtodo incluye las siguientes etapas
interrogaciones repetidas, usualmente por [12]:
medio de cuestionarios a un grupo de indi- Formacin de un equipo para asumir y
viduos, cuyas opiniones o juicios son de in- monitorear un tema especfico.
ters. Despus de un interrogatorio inicial a Seleccin de uno o ms paneles para par-
cada individuo, cada subsiguiente interroga- ticipar en el ejercicio. Frecuentemente,
torio es acompaado por informacin consi- los panelistas son expertos en el rea por
derando las respuestas precedentes, usual- ser investigada.
mente presentadas annimamente. De esta Desarrollo del primer cuestionario
manera, el individuo es alentado a recon- Delphi.
siderar, de ser apropiado, o cambiar su res- Prueba del cuestionario para asegurar el
puesta previa a la luz de las respuestas de uso de palabras correctas, es decir, por
otros miembros del grupo. Despus de dos ejemplo, para evitar divagar o caer en
o tres vueltas, la posicin del grupo es deter- ambigedades.
minada por promedio [10] Transmisin del primer cuestionario a
los panelistas.
Generalidades Anlisis de la primera serie de respuestas.
Preparacin del segundo cuestionario
El mtodo Delphi es una tcnica para la re- Delphi y sus posibles pruebas.
solucin de problemas, toma de decisiones y Transmisin de la segunda ronda de
predicciones de escenarios desarrollado por cuestionarios a los panelistas.
la corporacin Rand de la inteligencia mili- Anlisis de la segunda ronda de respues-
tar de los Estados Unidos. Fue desarrollado tas. Los pasos del 7 al 9 son repetidos
durante la Guerra Fra y, al parecer, toma su hasta tanto se alcance la estabilidad ne-
nombre de la localizacin del mtico orculo cesaria en los resultados.
3434 griego, Delfos.

Procesos de ingeniera de software

VINCULOS SPT 2010.indd 34 12/10/10 11:01


V N C U L O S
ENERO-JUNIO D E 2 0 0 9
VOLUMEN 6 NMERO 1

Preparacin de un reporte por el equipo En este proceso participan, por un lado, los
de anlisis para presentar las conclusio- responsables de los procesos de la organiza-
nes del ejercicio. cin con una visin estratgica y, por otro, los
profesionales de ingeniera de software [14].
Mtrica versin 3
Como productos finales del proceso se
Estructura de Mtrica versin 3 obtienen:
-- Catlogo de requisitos de PSI.
Ha tomado como referencia el modelo de ci- Arquitectura de informacin, que se compo-
clo de vida propuesto en la norma ISO 12207, ne de:
distinguiendo procesos principales (plani- Modelo de informacin.
ficacin, desarrollo y mantenimiento) e in- Modelo de sistemas de informacin.
terfaces (gestin de proyectos, aseguramien- Arquitectura tecnolgica.
to de la calidad, seguridad y gestin de la Plan de Proyectos.
configuracin), cuyo objetivo es dar sopor- Plan de mantenimiento del PSI.
te al proceso en los aspectos organizativos.
Ha sido concebida para abarcar el desarro- Proceso de desarrollo de sistemas
llo completo de sistemas de informacin, sea de informacin
cual sea su complejidad y magnitud, me-
diante un enfoque orientado al proceso. Contiene todas las actividades y tareas que se
deben llevar a cabo para desarrollar un siste-
La metodologa descompone cada uno de ma, cubriendo desde el anlisis de requisitos
los procesos en actividades y stas, a su vez, hasta la instalacin del software. Este proce-
en tareas. Para cada tarea se describe su con- so es el ms importante de los identificados
tenido haciendo referencia a sus principa- en el ciclo de vida de un sistema y se relacio-
les acciones, productos, tcnicas, prcticas y na con todos los dems.
participantes.
Se ha subdivido en cinco procesos:
Procesos principales de Mtrica 3 1. Estudio de Viabilidad del Sistema (EVS).
El propsito de este proceso es analizar
Los procesos de la estructura principal de un conjunto concreto de necesidades,
Mtrica 3 son los siguientes: con la idea de proponer una solucin a
Planificacin de sistemas de informacin. corto plazo. Los resultados del EVS cons-
Desarrollo de sistemas de informacin. tituirn la base para tomar la decisin de
Mantenimiento de sistemas de seguir adelante o abandonar.
informacin. 2. Anlisis del Sistema de Informacin (ASI).
El propsito de este proceso es conseguir
Proceso de planificacin de sistemas la especificacin detallada del sistema de
de informacin informacin, a travs de un catlogo de
requisitos y una serie de modelos que cu-
Su objetivo es proporcionar un marco estra- bran las necesidades de informacin de
tgico de referencia para los sistemas de in- los usuarios para los que se desarrollar
formacin de un determinado mbito de la el sistema de informacin y que sern la
organizacin. La perspectiva del plan debe entrada para el proceso del diseo del sis-
ser estratgica y operativa, no tecnolgica. tema de informacin. Se elabora el pro- 35
35

Hctor Arturo Flrez Fernndez

VINCULOS SPT 2010.indd 35 12/10/10 11:01


I + D I N V E S T I G A C I N Y D E S A R R O L L O

ducto especificacin de requisitos soft- trega y aceptacin del sistema en su totali-


ware. Se inicia la especificacin del plan dad; un segundo objetivo es llevar a cabo
de pruebas, que se completar en el DSI. las actividades oportunas para el paso a
La participacin activa de los usuarios produccin del sistema. En este proceso
es una condicin imprescindible para el se elabora el plan de mantenimiento del
anlisis del sistema de informacin. sistema. Tambin se establece el acuerdo
3. Diseo del Sistema de Informacin (DSI). de nivel de servicio[14].
El propsito del DSI es obtener la defini-
cin de la arquitectura del sistema y del Modelo de madurez de capacidad
entorno tecnolgico que le va a dar so- (CMM)
porte, junto con la especificacin deta-
llada de los componentes del sistema de Al final de los aos ochenta y a comienzos
informacin. A partir de dicha informa- de los noventa el SEI desarroll el modelo de
cin, se generan todas las especificacio- madurez de capacidad CMM que captur las
nes de construccin relativas al propio mejores prcticas de las organizaciones para
sistema, as como la especificacin tcni- el desarrollo de software. El CMM es un fra-
ca del plan de pruebas, la definicin de mework construido sobre las mejores prcti-
los requisitos de implantacin y el dise- cas de las organizaciones. La mejora del pro-
o de los procedimientos de migracin y ceso ha demostrado aumentar el producto y
carga inicial, cuando proceda. En el dise- la calidad del servicio, mientras que las orga-
o de arquitectura del sistema participa- nizaciones la aplican para alcanzar sus obje-
rn activamente los responsables de sis- tivos del negocio.
temas y explotacin.
4. Construccin del Sistema de Infor- El CMM define cinco niveles de madurez de
macin (CSI). Tiene como objetivo fi- software basados sobre las reas de procesos
nal la construccin y prueba de los dis- que soportan a las organizaciones.
tintos componentes del sistema de
Nivel 1. Inicial. Describe a una orga-
informacin, a partir del conjunto de es-
nizacin con procesos indefinidos e
pecificaciones lgicas y fsicas de ste-
inmaduros.
obtenido en el DSI. Se desarrollan los
Nivel 2. Repetible. Describe a una orga-
procedimientos de operacin y seguri-
nizacin que requiere gestin en planea-
dad y se elaboran los manuales de usua-
cin, seguimiento de proyectos, subcon-
rio final y de explotacin, como parte
tratacin, aseguramiento de la calidad y
del proceso de desarrollo del proyecto
configuracin en software.
Para ello, se recoge la informacin rela-
Nivel 3. Definido. Define a una organi-
tiva al producto obtenido del proceso de
zacin que adopta procesos de organiza-
diseo, se prepara el entorno de produc-
cin focalizados, definidos, programas
cin, se genera el cdigo de cada uno de
de entrenamiento, manejo de software
los componentes del sistema de informa-
integrado, productos de ingeniera y co-
cin y se realizan las pruebas unitarias de
ordinacin grupal.
cada uno de ellos y las pruebas de inte-
Nivel 4. Gestionable. Describe organi-
gracin entre subsistemas.
zaciones que tienen anlisis, medicin y
5. Implantacin y Aceptacin del Sistema
prevencin de defectos sobre sus proce-
(IAS). Tiene como objetivo principal la en-
3636
sos y productos de software.

Procesos de ingeniera de software

VINCULOS SPT 2010.indd 36 12/10/10 11:01


V N C U L O S
ENERO-JUNIO D E 2 0 0 9
VOLUMEN 6 NMERO 1

Nivel 5. Optimizado. Organizaciones con bitos del trabajo de los ingenieros, los cuales
innovaciones tecnolgicas y procesos de determinan en gran parte el resultado del de-
manejo al cambio. sarrollo de software. El proceso personal de
software PSP (el cmo) puede ser utilizado
Los niveles 2, 3, 4 y 5 describen organizacio- por los ingenieros como una gua a un acer-
nes con sucesivos niveles mejores de pro- camiento disciplinado y estructurado al de-
cesos de madurez de software. La primera sarrollo de software.
meta de las organizaciones es alcanzar el ni-
vel 3 de madurez. El PSP ensea a los ingenieros lo siguiente:
Cmo manejar la calidad de sus
El modelo CMM tiene las siguientes proyectos.
desventajas: Hacer la cosas simples para dar
Est soportado sobre el modelo en soluciones.
cascada. A mejorar tiempos de estimacin y
No hace nfasis sobre los procesos de ar- planeacin.
quitectura y diseo. Reducir los defectos de los productos.
Tiene mtodos policivos en las revisio-
nes, inspecciones y en el aseguramiento El PSP puede aplicar a muchas partes del de-
de calidad. sarrollo de software, incluyendo:
Hay una sobre documentacin, ya que Desarrollo de programas.
se considera que entre ms detalles es Definicin de requisitos.
mejor. Estructura de la documentacin.
Hay conflictos entre el modelo CMM y Pruebas del sistema.
el ISO9001. Mantenimiento de los sistemas.
Proliferacin de modelos: modelos SE- Desarrollo de sistemas de software
CMM, desarrollo del producto integrado grandes.
IDP-CMM, adquisicin de software SA-
CMM y recursos humanos People-CMM. Este proceso se centr en una persona y se ol-
vid que en los proceso de desarrollo inter-
vienen ms de una persona.
Como respuesta a lo anterior, el SEI desarro-
ll la integracin de modelo de madurez de
Proceso de software del equipo (TSP)
capacidad CMMI.

Pronto lleg a ser obvio que mientras los re-


Proceso personal de software (PSP)
sultados con el PSP eran excelentes, era casi
imposible mantener la prctica en ambientes
Watts Humphrey, junto con el equipo del
de desarrollo colaborativos. Entonces, Watts
SEI, deciden aplicar los principios subyacen-
Humphrey desarrolla el proceso de software
tes del CMM a las prcticas del desarrollo de
de equipo TSP para la unidad operacional
software enfocado al desarrollador. El resul-
ms pequea de las organizaciones de soft-
tado de este esfuerzo es el proceso personal
ware, el equipo del proyecto. TSP fue disea-
de software (PSP), diseado para ser un pro-
do para ser un proceso de nivel 5 CMM, para
ceso de nivel 5 CMM, para los desarrollado-
los equipos del proyecto.
res de software.

37
El 70% de los costos de desarrollo en un pro-
yecto, lo constituyen las habilidades y los h- 37

Hctor Arturo Flrez Fernndez

VINCULOS SPT 2010.indd 37 12/10/10 11:01


I + D I N V E S T I G A C I N Y D E S A R R O L L O

El proceso del software del equipo (TSP), jun- arquitectura basada en componentes y un
to con el proceso personal del software PSP, control de cambios del software.
ayuda al ingeniero de alto rendimiento a:
Aseguramiento de la calidad de los pro- La metodologa XP es exitosa porque enfa-
ductos de software. tiza la satisfaccin del cliente y promueve el
Crear productos de software seguros. trabajo en equipo. Las actividades improduc-
Mejora el proceso de gerencia en una tivas han sido eliminadas para reducir costos
organizacin. y frustraciones. Esta metodologa ha sido di-
seada para solucionar el eterno problema
Los grupos de la ingeniera que utilizan el del desarrollo de software por encargo, es
TSP aplican conceptos integrados del desa- decir, entregar el resultado que el cliente ne-
rrollo de sistemas orientados al software, lle- cesita a tiempo.
vando al equipo a:
La metodologa Mtrica versin 3 proporcio-
Establecer metas.
na un conjunto de mtodos y tcnicas que le
Definir papeles del equipo.
permite a los diseadores de sistemas de in-
Determinacin de riesgos.
formacin desarrollar los procesos del ciclo
Producir un plan del equipo. de vida de un proyecto informtico. A fin de
Los equipos pueden estar integrados por mejorar la productividad y asegurar la cali-
slo desarrolladores o equipos integrados dad de los productos resultantes, la metodo-
que participan en la obtencin del producto. loga est soportada por herramientas dis-
Los equipos pueden estar integrados de 3 a ponibles en el mercado que automatizan en
mayor o menor grado su utilizacin. En cual-
20 personas.
quier caso, no todos los productos resultan-
tes de cada tarea son susceptibles de obtener-
Conclusiones
se de forma automatizada.

El modelo en Cascada posee grandes incon-


El mtodo Delphi permite obtener lo mxi-
venientes, en particular, cuando un cambio
mo del conocimiento, experiencia y habili-
de requisitos se realiza al final del proceso
dades de un grupo entero de personas, en el
debido a la rigidez que tiene este modelo. Un
cual cada uno cuenta con un conocimiento y
mal levantamiento requerimientos en la par-
una perspectiva nica y diferente. Es espe-
te inicial del proceso conllevar a un fracaso. cialmente bueno para la planeacin estrat-
En los modelos en espiral, el proceso de soft- gica de negocios en medio de la incertidum-
ware es evolutivo e incluye riesgos que de- bre y ambientes de movimiento y cambio
ben ser tenidos en cuenta desde el inicio de rpido. Sin embargo, es asincrnico, pues re-
ste, lo que hacen de estos modelos una op- duce la retroalimentacin directa que ofrece
cin ms acorde. un grupo de trabajo. En ocasiones, los desa-
rrollos futuros no son siempre predichos por
RUP tiene una caracterstica importante ex- los expertos en consensos iterativos, sino que
plicada en un modelo denominado las seis en ocasiones se obtienen mejores resultados
mejores prcticas. Este modelo le permite a con panelistas no expertos. Los participan-
un grupo de trabajo desarrollar un proyecto tes pueden ser expertos buenos, pero pobres
teniendo en cuenta los requerimientos, el de- estimadores. Los expertos pueden tender a
sarrollo iterativo, el diseo bajo un lenguaje considerar el futuro aisladamente de otros
3838 de modelado visual, un control calidad, una eventos.

Procesos de ingeniera de software

VINCULOS SPT 2010.indd 38 12/10/10 11:01


V N C U L O S
ENERO-JUNIO D E 2 0 0 9
VOLUMEN 6 NMERO 1

Referencias bibliogrficas ucation, 1999. Traducido al espaol


como: Una explicacin de la program-
[1] R. Pressman. Ingeniera del Software: un acin extrema. Aceptar el cambio. Addison
enfoque prctico. 5 Edicin. Mc Graw- Wesley. 2000.
Hill 2001. [10] http://pespmc1.vub.ac.be/ASC/DEL-
[2] http://www.itlp.edu.mx/publica/ PHI_METHO.html
tutoriales/analisis [11] http://www.ryerson.ca/~mjoppe/Re
[3] http://juanfc.lcc.uma.es/EDU/PM/1. searchProcess/841TheDelphiMethod.
IngSoft.pdf htm
[12] http://www.iit.edu/~it/delphi.html
[4] B. Bruegas, A Dutoit. Ingeniera de soft-
[13] http://www.corporate-partnering.
ware orientada a objetos. Ed. Prentice-
com/info/delphi-method-business-
Hall. 2002.
planning.htm
[5] http://www.objectmentor.com/re-
[14] Metodologa de Planificacin y De-
sources/articles/RUPvsXP.pdf
sarrollo de Sistemas de Informacin.
[6] http://www.dcs.ed.ac.uk/teaching/
Guas de Referencia, de Tcnicas y del
cs2/online/Lectures/CS2Ah/Sof-
Usuario. http://www.csi.map.es/csi/
tEng/se06-slides.PDF
metrica3/index.html.
[7] http://www.stc-online.org/cd-
[15] A. Durn y B. Bernrd. Metodologa para
rom/1999/slides/EBestPra.pdf
la Elicitacin de Requisitos de Sistemas
[8] P. Abrahamsson, O. Salo, J. Ronkain-
Software Versin 2.1.
en, J. Warsta. Agile software development
[16] Desarrollos Mecame S.L. Madrid (Espa-
methods Review and analysis. VTT Pub-
a). Tcnicas y Prcticas. http://www.
lications. 2002. desarrollos-mecame.com/formacion/
[9] Beck, K.. Extreme Programming Ex- Ingenieria-software/Ingenieria%20
plained. Embrace Change, Pearson Ed- software_archivos/tecnicas.pdf

39
39

Hctor Arturo Flrez Fernndez

VINCULOS SPT 2010.indd 39 12/10/10 11:01

Das könnte Ihnen auch gefallen