Está en la página 1de 119

Memoria

Autor: Marcelo Tello Helbling


Consultor: Oriol Mart Girona
Ingeniera Informtica de Gestin 2012/13
Proyecto final de carrera
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 1




Esteproyectoestdedicadoamispadres,amishermanosy
amipareja,porsuapoyoincondicionalenestaetapademi
vidayaOriol,miconsultor,porsugranayudadurantela
elaboracin.

Barcelona,2deEnerode2013
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 2
Resumen

El proyecto CMMI UP surge de la necesidad por parte de las
organizaciones de una herramienta que soporte las
actividades que se llevan a cabo para afrontar el proyecto
de implantacin CMMI en el marco de un proyecto interno.
Un proyecto interno de la talla de una implantacin CMMI
supone afrontar unos costes internos bastante elevados
(costes directos) y los que supone interferir en las
actividades habituales que desempean (costes indirectos).
Por ejemplo, al gasto directo del propio equipo del
proyecto de implantacin, el proveedor de auditora y certificacin, se le une los gastos
derivados del impacto que supone interferir la metodologa propia de los proyectos en curso y
de las actividades de comunicacin interna.
Para el equipo encargado de asumir la difcil tarea de abordar un proyecto de estas
caractersticas se les plantean una serie de actividades como las detalladas a continuacin:
Gestionar y planificar el proyecto interno de implantacin
Coordinar la agenda con el equipo de auditora que certificar a la organizacin.
Gestionar la comunicacin con el equipo de los proyectos seleccionados, informe del
avance a direccin, etc.
Revisar los procesos actuales de la compaa y proponer su alineamiento con el
modelo CMMI.
Revisar y verificar el estado de las tareas encomendadas a cada uno de los equipos de
los proyectos seleccionados.
Informar y tomar decisiones de la viabilidad de cada una de las fases del proyecto.
Recopilar la base de datos de evidencias para su presentacin al equipo de auditora
externo.
CMMI UP aporta una herramienta para el equipo de proyecto de CMMI que les permitir
gestionar de una manera centralizada, todas las actividades anteriormente descritas, as como
obtener una visin clara del estado del proyecto y los objetivos abordados.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 3

ndice de contenido
Resumen .................................................................................................................................. 2
ndice de contenido .................................................................................................................. 3
ndice de ilustraciones .............................................................................................................. 5
Introduccin ............................................................................................................................. 7
Qu es CMMI y qu pretende? ............................................................................................ 9
Justificacin ........................................................................................................................ 11
Objetivos............................................................................................................................. 14
Enfoque y mtodo aplicado ................................................................................................. 15
Recursos ............................................................................................................................. 16
Planificacin del proyecto ................................................................................................... 17
Productos obtenidos ........................................................................................................... 19
Anlisis previo y especificacin de requisitos ......................................................................... 20
Modelo de negocio ............................................................................................................. 20
Debilidades del modelo ....................................................................................................... 23
Requisitos ........................................................................................................................... 24
Descripcin del sistema ....................................................................................................... 31
Identificacin de actores ..................................................................................................... 32
Relacin de los subsistemas con los actores ........................................................................ 33
Detalle y funcionalidades de los subsistemas ....................................................................... 34
Documentacin formal de casos de uso .............................................................................. 37
Modelo esttico : Diagrama de clases .................................................................................. 59
Diseo del sistema ................................................................................................................. 64
Decisiones de arquitectura .................................................................................................. 66
Modelo esttico : Diagrama de clases .................................................................................. 73
Clases frontera y gestoras CMMI Core ................................................................................. 75
Clases frontera y gestoras CMMI Proyectos, revisiones incidencias ...................................... 76
Diseo de casos de uso : Diagramas de actividad de procesos ............................................. 77
Diseo de casos de uso : Diagramas de secuencia ............................................................... 81
Diseo E/R CMMI Core ........................................................................................................ 86
Diseo de la interfaz grfica ................................................................................................... 87
Pantalla principal y men .................................................................................................... 87
Login ................................................................................................................................... 88
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 4
DashBoard .......................................................................................................................... 89
Pantallas CMMI: Core .......................................................................................................... 90
Pantallas CMMI: Proyectos, Roles ........................................................................................ 94
Pantallas CMMI: Revisiones ................................................................................................. 96
Valoracin econmica .......................................................................................................... 101
Conclusiones ........................................................................................................................ 103
Apndice A: Glosario ............................................................................................................ 104
Apndice B: Bibliografa ....................................................................................................... 118


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 5

ndice de ilustraciones


Ilustracin 1 Historia de los modelos de madurez ...................................................................... 8
Ilustracin 2 Constelaciones CMMI............................................................................................ 9
Ilustracin 3 reas de inters CMMI .......................................................................................... 9
Ilustracin 4 Empresas certificadas en Espaa ......................................................................... 12
Ilustracin 5 Ciclo de vida clsico............................................................................................. 15
Ilustracin 6 Entregables del proyecto ..................................................................................... 18
Ilustracin 7 Metodologa SCRUM ........................................................................................... 20
Ilustracin 8 Esquema de una implantacin CMMI .................................................................. 22
Ilustracin 9 Diagrama de paquetes CMMI UP ......................................................................... 31
Ilustracin 10 Relacin de actores y subsistemas ..................................................................... 33
Ilustracin 11 Componentes CMMI UP .................................................................................... 34
Ilustracin 12 Componentes en la representacin de casos de uso .......................................... 38
Ilustracin 13 Casos de uso subsistema conexin .................................................................... 44
Ilustracin 14 Casos de uso del subsistema CMMI ................................................................... 47
Ilustracin 15 Casos de uso de Proyectos ................................................................................ 50
Ilustracin 16 Casos de uso tareas y coberturas ...................................................................... 52
Ilustracin 17 Diagrama de casos de uso del subsistema de revisiones y acciones correctivas .. 57
Ilustracin 18 Casos de uso Cuadro de mandos ....................................................................... 58
Ilustracin 19 Diagrama de clases CMMI ................................................................................. 59
Ilustracin 20 Ejemplo informacin CMMI ............................................................................... 60
Ilustracin 21 Ejemplo Informacin CMMI (Cont.) ................................................................... 61
Ilustracin 22 Ejemplo Informacin CMMI (Cont.) ................................................................... 62
Ilustracin 23 Diagrama de clases Revisiones .......................................................................... 63
Ilustracin 24 Diagrama de la estructura de la aplicacin ......................................................... 70
Ilustracin 25 Flujo a travs de los componentes ..................................................................... 71
Ilustracin 26 Esquema general de la arquitectura .................................................................. 72
Ilustracin 27 Diagrama de clases CMMI ................................................................................. 73
Ilustracin 28 Diagrama de clases Revisiones .......................................................................... 74
Ilustracin 30 Detalle de la relacin de componentes modelo, vista, controlador .................... 75
Ilustracin 29 Clases frontera y gestoras CMMI Core ............................................................... 75
Ilustracin 31 Clases frontera y gestoras CMMI Proyectos revisiones e incidencias .................. 76
Ilustracin 32 Diagrama de actividad para la gestin deusuarios ............................................. 78
Ilustracin 33 Diagrama de actividad para la revisin de una tarea .......................................... 79
Ilustracin 34 Diagrama de actividad para insertar evidencias ................................................. 80
Ilustracin 35 Diagrama de secuencia para listas ..................................................................... 82
Ilustracin 36 Diagrama de secuencia para Altas ..................................................................... 83
Ilustracin 37 Diagrama de secuencias para 'bajas' .................................................................. 84
Ilustracin 38 Diagrama de secuencia para Dashboard ............................................................ 85
Ilustracin 39 E-R CMMI Core .................................................................................................. 86
Ilustracin 40 Prototipo pantalla Men ................................................................................... 87
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 6
Ilustracin 41 Prototipo Pantalla Login .................................................................................... 88
Ilustracin 42 Prototipo DashBoard ......................................................................................... 89
Ilustracin 43 Prototipo lista de Categoras.............................................................................. 90
Ilustracin 44 Prototipo Alta de Categora ............................................................................... 91
Ilustracin 45 Prototipo lista niveles de Madurez .................................................................... 92
Ilustracin 46 Prototipo lista reas de proceso ........................................................................ 93
Ilustracin 47 Prototipo lista Roles .......................................................................................... 94
Ilustracin 48 Prototipo lista de proyectos ............................................................................... 94
Ilustracin 49 Prototipo alta de proyectos ............................................................................... 95
Ilustracin 50 Prototipo lista tipos de revisiones ...................................................................... 96
Ilustracin 51 Prototipo lista tareas de revisin ....................................................................... 96
Ilustracin 52 Prototipo Alta de tareas de revisin ................................................................... 97
Ilustracin 53 Prototipo matriz de revisiones ........................................................................... 98
Ilustracin 54 Prototipo lista de cobertura de tareas ............................................................... 99
Ilustracin 55 Prototipo calendario de revisiones .................................................................. 100

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 7
Introduccin

La calidad nunca es un accidente; siempre es el resultado de un esfuerzo de inteligencia. John
Ruskin (1819-1900) Crtico y escritor britnico.
Durante los aos ochenta, el departamento de defensa de los EEUU consciente de la
problemtica que tena en los encargos de desarrollo de software (presupuestos, bajo nivel de
calidad, incumplimiento de fechas, etc.) , se aventur a crear un comit de expertos que
analizara dicha situacin y propusiera una solucin.
Dichos expertos, concluyeron como mejor solucin, la creacin
de un instituto de ingeniera de software que diera una
respuesta efectiva al cmulo de problemas que originaba la
mala calidad del software, as como la imposibilidad de
planificar los tiempos y coste del desarrollo. Fue entonces
cuando en 1994, el congreso de los EEUU fund el Instituto de
Ingeniera de Software (SEI) constituido como instituto federal
para la investigacin y desarrollo administrado por la
Universidad de Carneige Mellon.
Uno de los primeros acometidos del SEI, fue la creacin de un modelo de procesos para el
desarrollo y mantenimiento de sistemas de software (SW-CMM), que ha evolucionado hasta
nuestros das como el modelo CMMI (Capability Mature Model Integration). Este modelo se
sustenta sobre los siguientes criterios:
La calidad de un producto o sistema es consecuencia directa de los procesos
empleados en su desarrollo.
Las organizaciones que desarrollan software presentan un atributo denominado
madurez, cuya medida es proporcional a los niveles de capacidad e institucionalizacin
de los procesos que emplean en su trabajo
Dicho de otro modo, para desarrollar software de calidad, es preciso que a totalidad de los
procesos empleados en el desarrollo, sean de calidad.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 8
Ilustracin 1 Historia de los modelos de madurez
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 9
Qu es CMMI y qu pretende?

Como hemos visto en el apartado anterior, CMMI surge de la
necesidad de alinear el trabajo de los proveedores de software
hacia su cliente y de plantearles las buenas prcticas que deben
cumplir para producir un software con la calidad exigida y en los
plazos establecidos.
En el mercado actual, los modelos de madurez, estndares,
metodologas y guas, ayudan a las organizaciones a llevar a cabo los objetivos de negocio. No
obstante, la mayora de actividades se centran en una parte especficas del negocio, y no
realizan un aproximamiento sistemtico de los problemas que la mayora de organizaciones
tienen. Esta visin reducida del problema, provoca que muchas empresas arrastren
eternamente las dificultades iniciales.
Este redactado de buenas prcticas del modelo CMMI lo que propone es una reingeniera de
procesos aplicados al producto o al servicio. Dicha reingeniera es totalmente compatible con
un proyecto en particular, un departamento o bien toda la empresa dedicada a la fabricacin
de software y da la posibilidad de que cada uno de estos procesos fluya de una forma alineada
para llevar a cabo el tan complicado proceso de elaboracin, mantenimiento y operacin de
sistemas de software.
En realidad, CMMI cubre tres reas de inters: Desarrollo, Adquisicin y Servicios, pero en el
marco de nuestro proyecto nicamente nos centraremos en, como as lo denominan, la
constelacin de para el desarrollo.

Ilustracin 2 Constelaciones CMMI
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 10
CMMI para el desarrollo de software, contiene 22 reas de proceso de las cuales, 16 son reas
especficas del ncleo (core), 1 es un rea compartida y 5 son reas especficas de desarrollo.
Como observamos en la ilustracin siguiente, la constelacin de Desarrollo, posee 4 categoras
en los que se distribuyen todos los procesos documentados: Ingeniera, Gestin de proyectos,
Gestin de procesos y Soporte, esta ltima posee los procesos transversales de la
organizacin.
Asimismo, todo el modelo CMMI est organizado de tal forma que sus buenas prcticas tienen
como objetivo situarnos en uno de estos 5 niveles de madurez.

Ilustracin 3 reas de proceso de la constelacin de Desarrollo
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 11

Justificacin

La situacin actual del desarrollo de software afronta un escenario poco alentador. En
situaciones de crisis, las grandes empresas que contratan los servicios tecnolgicos han sufrido
recortes y miran con lupa cualquier gasto en esta partida contable. No es de extraar que la
empresa que posea una certificacin CMMI, posee un valor aadido muy competitivo y una
presentacin excelente de cara a las ofertas de sus clientes.
Algunos ejemplos extrados a travs del siguiente blog de Javier Garzs
(www.javiergarzs.com), podemos observar como en el 2010 muchos de los pliegos emitidos
por las grandes organizaciones ya incorporan como requisito poseer una certificacin CMMI.
Ministerio de Ciencia e Innovacin (2010). Requiere de CMMI e ISO 15504.
Ministerio de Industria, Justicia y Red.es (2010). Obligatoriamente nivel 3 en CMMI o
ISO 15504.
Direccin general de patrimonio. Subdireccin general de compras (2010). Empresas
certificadas tanto en CMMI como en ISO 15504
Direccin General de Sistemas de Informacin Sanitaria (2010). Servicio madrileo de
salud. Comunidad de Madrid. Requiere de CMMI e ISO 15504.
Isdefe (Ingeniera de Sistemas para la Defensa de Espaa) (2010). Requiere slo de
CMMI
Ayuntamientos: Ayuntamiento de Benidorm (Alicante), requiere slo de ISO
15504, Ayuntamiento de Lorca (Murcia), Requiere slo de ISO 15504, etc.

Cada vez ms son las empresas que exigen una garanta en forma de certificacin.
No obstante, no todas las empresas proveedoras estn preparadas para afrontar este proyecto
de cambio. Los procesos de la organizacin pasarn a evaluarse y posiblemente alterar sus
flujos actuales a la vez que nuevas herramientas pueden surgir e imponerse de forma
corporativa. Surgirn nuevos roles y quizs se eliminen otros, y sobre todo, la empresa puede
estar sometida a un nivel de presin constante por parte de los partidarios y los detractores de
este nuevo modelo.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 12
No toda la organizacin est preparada para este cambio cultural. Es por este motivo que
algunos puntos clave de esta implantacin debe ir acompaada de:
Un proyecto estudiado y planificado al detalle junto con expertos en la materia.
Un equipo con conocimiento y experiencia en este campo.
Implicacin del comit de direccin de un modo pblico y transparente.
Realizar una evaluacin previa para saber el estado o nivel de madurez actual.
Definir las herramientas de gestin no slo las que se utilizarn de manera estndar
en el contexto de CMMI sino las que se utilizarn para dar soporte al proyecto de
implantacin.
En la siguiente ilustracin podemos observar los datos referidos al ao 2010 y que nos
muestran el nmero de organizaciones certificadas en CMMI clasificadas por nivel de madurez
en Espaa.




Ilustracin 4 Empresas certificadas en Espaa
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 13

Como se puede observar, la mayora de organizaciones optan por los niveles 2 y 3 de CMMI,
que coincide con la exigencia de las ofertas y pliegos publicados por las grandes
administraciones y empresas pblicas.
El riesgo que supone alcanzar un nivel 4 o 5 debe ser revisado con lupa, puesto que la relacin
coste-beneficio no siempre est a favor de la empresa proveedora.
Estos datos son publicados frecuentemente por el SEI a travs del siguiente enlace:
https://sas.sei.cmu.edu/pars/pars.aspx


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 14
Objetivos

El objetivo primordial de este proyecto es llevar a cabo las tareas
de Anlisis de Requerimientos, Especificacin y Diseo
comprendidos en el ciclo de vida del software.
El anlisis de requerimientos se llevar a cabo con la informacin
aportada por la propia compaa en cuanto a necesidades y
problemticas encontradas durante una implantacin real a la
que se le darn las soluciones apropiadas para disponer de una
herramienta que permita optimizar ciertas actividades para la
gestin de una implantacin CMMI.
Esta solucin, no slo debe aportar una solucin prctica al problema, sino que debe
argumentarse en un contexto de ahorro de costes y retorno de la inversin, que es la prioridad
de cualquier organizacin, por tanto, es muy importante recalcar que cada especificacin de
requisito englobe cierto enfoque de este tipo.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 15

Enfoque y mtodo aplicado

La metodologa escogida para la realizacin del proyecto es la llamada metodologa en
cascada.
Ventajas
Calidad del producto alta
Permite detectar problemas de viabilidad del proyecto antes de proseguir con fases
posteriores.
Reduccin de costes de desarrollo debido a la alta calidad en la fase de requisitos.
Inconvenientes
Los problemas surgidos en alguna fase implican un rediseo o reprogramacin y su
consecuente aumento de costes.
Requisitos con un alto grado de detalle y fiabilidad (comentado como riesgo a
controlar).
El producto final no es visible hasta el final.

Ilustracin 5 Ciclo de vida clsico
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 16

Recursos
Los recursos necesarios para llevar a cabo el proyecto son:
Personal
nica persona para la elaboracin de todas las tareas descritas en el apartado Tareas y
planificacin
Herramientas
PC de Sobremesa con conexin a Internet
Software Ofimtico Office : Word, Project, Excel, PowerPoint
Software para el diseo de base de datos: DB-Designer
Software para la elaboracin de prototipos: Visio, Yii Framework, etc.
Software para la elaboracin de scripts de persistencia : MySQL
Documentacin:
Toda la documentacin detallada en la bibliografa.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 17
Planificacin del proyecto
Para realizar la planificacin, y, siguiendo las buenas prcticas en gestin de proyectos, hemos
realizado una descomposicin estructural de actividades (WBS).
Descomposicin estructural de actividades (WBS)
Cdigo de actividad Nombre de actividad (Nivel I) Nombre de actividad (Nivel II)
PAC-1 Plan de trabajo
1.1 Propuesta
1.2 Descripcin
1.3 Objetivos
1.4 Anlisis situacin actual
1.5 Anlisis y gestin de riesgos
1.6 Eleccin de metodologa
1.7 Descomposicin de tareas
1.8 Planificacin
Elaborar entregable

Descomposicin estructural de actividades (WBS)
Cdigo de actividad Nombre de actividad (Nivel I) Nombre de actividad (Nivel II)
PAC-2 Especificacin y anlisis de requisitos
2.1 Introduccin y marco del proyecto
2.2 Elaboracin de requisitos
2.3 Descripcin del sistema
2.4 Descripcin de los subsistemas
2.5 Documentacin de actores y casos
de uso
2.6 Diagramas necesarios
2.7 Elaboracin entregable Anlisis


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 18

Descomposicin estructural de actividades (WBS)
Cdigo de actividad Nombre de actividad (Nivel I) Nombre de actividad (Nivel II)
PAC-3 Diseo tcnico
3.1 Diseo tcnico de los subsistemas
3.2 Diagramas (colaboracin y
secuencia)
3.3 Diseo de casos de uso
3.4 Base de Datos: Diseo de
persistencia y E/R
3.5 Prototipo Interface de Usuario
3.7 Entregable Diseo

Descomposicin estructural de actividades (WBS)
Cdigo de actividad Nombre de actividad (Nivel I) Nombre de actividad (Nivel II)
PAC-4 Memoria y presentacin
4.1 Revisin de entregables
4.2 Elaboracin de anexos
4.3 Bibliografa y glosario de trminos
4.4 Revisin y entregable Memoria
4.5 Elaboracin presentacin


Ilustracin 6 Entregables del proyecto
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 19

Productos obtenidos
Una vez abordado el proyecto en la totalidad de sus fases obtenemos los siguientes
entregables:
Documento de anlisis y especificacin
En este documento hemos contemplado los requisitos de la organizacin en la que nos hemos
basado para abordar dicho proyecto. En el podemos situar el proyecto de una forma realista
puesto que se trata de una empresa real con necesidades reales.
Documento de diseo
Partiendo del documento anterior, realizamos el diseo del sistema abordando la mayora de
los requisitos funcionales. Con ello conseguimos un entregable que proporcionar la base para
la implementacin posterior, la cual, no hemos contemplado en el marco de este proyecto.
Memoria del proyecto
En este documento presentamos todo el proyecto conjunto con los anexos correspondientes,
bibliografa, glosario.
Presentacin del proyecto
Con esta presentacin pretendemos transmitir de una forma sintetizada cmo hemos enfocado
el proyecto y qu hemos pretendido abordar con el mismo. De una manera grfica y resumida,
intentamos comunicar al oyente todos los aspectos ms relevantes del proyecto.
Prototipo realista del proyecto
Para evaluar la viabilidad y hacer una estimacin realista del proyecto en trminos econmicos,
hemos iniciado un prototipo del mismo. Aunque no entra dentro del marco del proyecto,
hemos querido mencionarlo.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 20
Anlisis previo y especificacin de requisitos

Modelo de negocio
El caso que nos ocupa, viene a solucionar una situacin en la que una empresa que desarrolla
software debe abordar una implantacin de CMMI en el marco de un proyecto interno de
mejora de la competitividad.
Dicho proyecto interno se aborda bajo el paraguas de una metodologa iterativa e incremental
llamada SCRUM. La particularidad de esta metodologa, en el contexto de la organizacin, es
que el producto final no es en s un producto, sino una garanta de que toda la lista de tareas
encomendadas para el cumplimiento de los objetivos que marca CMMI dentro de sus
respectivas reas se han cumplido.
Una vez un comit directivo escoge las condiciones bajo las cuales deben ser escogidos los
proyectos candidatos para abordar la auditora se planifica un kick-off del proyecto en el que se
presentan, a los interesados, los objetivos, riesgos e hitos del proyecto.
Las fases del proyecto de implantacin se basan en iteraciones acotadas en el tiempo, durante
el cual, el equipo (tanto interno como el de los diversos proyectos candidatos) trabaja para
acercarse cada vez ms a la consecucin de las metas marcadas por CMMI. Estas iteraciones
son las que SCRUM denomina SPRINT.

Ilustracin 7 Metodologa SCRUM

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 21
En el marco del proyecto de implantacin, el SPRINT est compuesto por tres actividades
principales:
Desarrollo:
Durante esta actividad, el equipo interno de CMMI especifica y estudia las actividades que
deben realizarse para un rea concreta. Se revisa el repositorio documental donde se haya
CMMI y se asocian actividades para el cumplimiento de los objetivos marcados, tanto
genricos como especficos. En esta etapa intervienen expertos en funcin del rea que se
trate: Jefes de proyecto, Ingenieros de software, Personal de reas de calidad, etc.
Despliegue:
La fase despliegue contemplan todas las actividades a realizar por los diferentes equipos de los
proyectos seleccionados y en las que se han trabajado en la fase de desarrollo. El impacto de
esta fase en los proyectos seleccionados y para una primera implantacin de CMMI es bastante
alto, dado que tendrn que crear documentacin especfica, alterar procedimientos, usar
nuevas herramientas, etc. En esta fase, se incorporar unas figuras llamadas multiplicadores,
que son personas formadas por el equipo interno del proyecto de implantacin para el
asesoramiento a los equipos de proyectos para la consecucin de las actividades a realizar.
Cada multiplicador puede tener asignados de uno a tres proyectos.
Revisin:
Durante este intervalo de tiempo, el equipo interno del proyecto de implantacin recopila la
informacin que debera haberse realizado y la cruza con los diferentes proyectos. Esta matriz
es revisada y puesta al da con diferentes estados: Realizado, No realizado, No procede, etc.
Cuando una revisin da un resultado negativo, el revisor propone una accin correctiva al
equipo de proyecto. Esta accin correctiva debe ser llevada a cabo para su nueva revisin.
Esta fase es muy importante ya que marca el indicador de progreso del proyecto, y en
consecuencia, el punto de situacin en relacin al nivel de madurez que se haya marcado la
organizacin.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 22

Ilustracin 8 Esquema de una implantacin CMMI

En el siguiente esquema podemos ver un ejemplo de lo comentado anteriormente:

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 23

Adems de las fases iterativas, ser realizan los llamados WorkShops. En estas reuniones de
trabajo se desarrollan las siguientes actividades:
Un representante de cada rea (que engloba diferentes proyectos) presenta los
resultados del despliegue llevado a cabo e iniciado en el sprint anterior. Este
representante comenta de una forma genrica, el grado de consecucin de las tareas
encomendadas y el motivo por el cual, los proyectos bajo su tutela, no ha llevado a
cabo las que no ha podido abordar.
Un representante del equipo interno de implantacin presenta los resultados de las
revisiones realizadas al despliegue efectuado en el sprint anterior junto con el avance
total de la implantacin.
Un representante del equipo interno de implantacin describe las tareas que
debern abordarse para el siguiente sprint y que ya han sido alineadas con los
objetivos del rea concreta de CMMI.
Se forman a los llamados multiplicadores, que son las personas que darn apoyo y
asesoramiento al equipo de los diferentes proyectos en la consecucin de las
actividades a realizar.

Debilidades del modelo
A raz de las actividades mencionadas anteriormente y de las cuales he participado como
multiplicador, he podido deducir alguno de los requisitos que he contrastado con el personal
del equipo CMMI. Por otro lado, se ha realizado una labor posterior de entrevistas con el
equipo, para averiguar las necesidades de los diversos actores participantes en la implantacin.
A modo resumen, podramos destapar las siguientes debilidades:
Equipo de proyectos seleccionados
Los equipos de proyecto (analistas, jefes de proyecto, gestores de calidad, testers) no
tienen claro qu tareas deben cumplir y con qu objetivo.
Los multiplicadores no disponen de un repositorio amigable y con documentacin
fcilmente organizada donde figuren las tareas y la informacin sobre el modelo de
madurez CMMI
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 24
En ocasiones, los roles de los equipos de proyecto son mixtos, lo que dificulta la
asignacin de tareas a realizar.
Equipo de revisiones de tareas
Las revisiones se llevan a cabo por diferentes personas (en funcin del rea) y con
herramientas o mtodos distintos, lo que dificulta la centralizacin y el tratamiento de
la informacin.
La manipulacin de la informacin es compleja con las herramientas ofimticas
habituales.
Existe una tendencia a concentrar las tareas y revisiones al comienzo de los sprints, lo
que crea una presin aadida al equipo de revisiones.
Equipo de gestin de proyecto CMMI
Existen dificultades en la integracin y explotacin de los datos revisados para su
presentacin en los WorkShops.
Las herramientas usadas para presentar los indicadores de progreso se hacen lentas al
tener que manipular muchos datos.
Falta de una visin global de la situacin y progreso.
Requisitos
En este apartado haremos una relacin de los requisitos que debe contemplar este proyecto
para dar solucin a las necesidades de la empresa.
Por un lado, enumeramos los requisitos funcionales, que son los que definirn el
comportamiento del sistema y por otro los requisitos no funcionales, que son aquellos en los
que intervienen en aspectos cualitativos, de rendimiento, etc.
Lista de Requisitos funcionales

Subsistema Identificador Descripcin
Conexin RF_0.1 Gestin de usuarios y permisos
CMMI Core RF_1.1 Gestin de objetivos genricos
RF_1.2 Gestin de prcticas genricas
RF_1.3 Gestin de reas de proceso
RF_1.4 Gestin de categoras de reas de proceso
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 25
RF_1.5 Gestin de niveles de madurez
Proyectos candidatos RF_2.1 Mantenimiento de proyectos
RF_2.2 Mantenimiento de roles
RF_2.3 Mantenimiento de departamentos
RF_2.4 Equipos de proyecto
Tareas de revisin y
cobertura
RF_3.1 Gestin de tipos de revisiones
RF_3.2 Tareas de revisin
RF_3.3 Coberturas de tarea
Revisiones y
evidencias
RF_4.1 Generacin de tareas de revisin
RF_4.2 Agenda de revisiones y acciones de revisin
RF_4.3 Incidencias y acciones correctivas
DashBoard RF_5.1 Cuadro de mandos con grficas y posibilidad de impresin

Detalle de requisitos funcionales
RF 0.1: Gestin de usuarios
Descripcin del requisito: Este requisito es fundamental para el funcionamiento de la aplicacin, pues desde l, el
sistema validar las credenciales y dar permiso a las diferentes opciones de men.
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades para un usuario:
Datos demogrficos
Datos para la validacin de credenciales
Datos para el acceso a las diferentes opciones del men principal de la aplicacin.

RF 1.1: Gestin de objetivos genricos
Descripcin del requisito: Este requisito pertenece a la informacin del modelo CMMI. Son los objetivos
transversales que debe cumplir la organizacin
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades :
Cdigo y descripcin

RF 1.2: Gestin de prcticas genricas
Descripcin del requisito: Este requisito pertenece a la informacin del modelo CMMI. Son las prcticas que deben
cumplirse para cumplir con los objetivos genricos
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 26
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin de prctica
Objetivo para el cual se realiza la prctica

RF 1.3: Gestin de reas de proceso
Descripcin del requisito: Este requisito pertenece a la informacin del modelo CMMI. Son las reas de proceso que
engloba el modelo de madurez
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin
Categora a la que pertenece y nivel de madurez al que pertenece

RF 1.4: Gestin de categoras de reas de proceso
Descripcin del requisito: Este requisito pertenece a la informacin del modelo CMMI. Son las categoras en las que
se clasifican las reas de proceso
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin.

RF 1.5: Gestin de niveles de madurez
Descripcin del requisito: Este requisito pertenece a la informacin del modelo CMMI. Son los niveles de madurez
del modelo
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Nmero de nivel (1-5) y descripcin.

RF 2.1: Gestin de proyectos candidatos
Descripcin del requisito: Con este requisito podremos gestionar los proyectos candidatos a la auditora CMMI
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin
Departamento al que pertenece
Candidato/No candidato
Fechas de vigencia


RF 2.1: Gestin de roles de proyecto
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 27
Descripcin del requisito: Con este requisito podremos asignar roles a los diferentes miembros del equipo de un
proyecto
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin

RF 2.3: Gestin de departamentos
Descripcin del requisito: Cada proyecto pertenece a una unidad funcional o departamento. A travs de este
requisito pretendemos gestionar las diferentes unidades para un proyecto
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin

RF 2.1: Gestin de equipos de proyecto
Descripcin del requisito: Con este requisito podremos asignar miembros y roles a los proyectos
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Usuario, Rol, proyecto

RF 2.1: Gestin de proyectos candidatos
Descripcin del requisito: Con este requisito podremos gestionar los proyectos candidatos a la auditora CMMI
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin
Departamento al que pertenece
Candidato/No candidato
Fechas de vigencia


RF 3.1: Gestin de tipos de revisiones
Descripcin del requisito: Con este requisito podremos gestionar los tipos de revisiones que se realizan (frecuencia)
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin
Frecuencia de das
nica/No nica

RF 3.2: Gestin de tareas de revisin
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 28
Descripcin del requisito: Con este requisito podremos gestionar las diferentes tareas que se llevan a cabo para
posteriormente revisarlas en el contexto del proyecto.
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Cdigo y descripcin
Tipo de revisin

RF 3.3: Gestin de coberturas de revisin
Descripcin del requisito: Con este requisito podremos gestionar las diferentes tareas que se llevan a cabo para
posteriormente revisarlas en el contexto del proyecto.
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Tarea que dar cobertura
rea de proceso a la que dar cobertura
Objetivo especfico al que dar cobertura.

RF 4.1: Generacin de tareas de revisin
Descripcin del requisito: Con este requisito podremos realizar la matriz de revisiones que comprende los proyectos
y las diferentes tareas que debern realizar.
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Fecha hasta la cual se realizar la generacin de tarea.
Proyectos de los cuales se quiere realizar la generacin.

RF 4.2: Agenda de revisiones y acciones de revisin
Descripcin del requisito: Una vez generada la agenda de revisiones, podremos seleccionar proyecto y tarea y
actualizar su estado as como comentarios y evidencias
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Seleccionar estado de revisin
Evidencia de tarea cumplida.
Almacenar timestamp de revisin.

RF 4.3: Incidencias y acciones correctivas
Descripcin del requisito: Por una parte, durante la tarea de revisin es posible generar una incidencia que debe ser
corregida por un miembro del equipo de proyecto. Cada miembro del proyecto tendr un buzn donde constan las
incidencias reportadas por el revisor y la accin correctiva detallada.
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 29
Incidencia, revisin asociada
Accin correctiva aconsejada
Responsable de la accin correctiva.

RF 5.1: Cuadro de mandos
Descripcin del requisito: Se debe tener acceso a un cuadro de mandos con diferentes grficas como la posibilidad
de imprimir
Requisitos de almacenamiento: Deben tenerse en cuenta las siguientes propiedades:
Grficas porcentuales de cobertura del modelo en el total de proyecto de implantacin
Grficas porcentuales de cobertura del modelo en proyectos concretos.
Grfico de tareas cumplidas/no cumplidas/ en espera, etc.

Requisitos no funcionales
Identificador Clasificacin Descripcin
RNF_1 Rendimiento La aplicacin debe tener un rendimiento ptimo para el uso
compartido por 10-20 usuarios concurrentes
RNF_2 Disponibilidad La disponibilidad para el usuario debe ser en horario laboral,
dejando el resto del horario para tareas de mantenimiento.
RNF_3 Seguridad La aplicacin debe cumplir con los estn dares de seguridad
corporativos en el contexto de una intranet.
RNF_4 Usabilidad La aplicacin debe hacer uso de las buenas prcticas en
usabilidad y adecuar su look & feel al corporativo.
RNF_5 Estabilidad Sistema estable en entornos de servidor web.
RNF_6 Portabilidad Aplicacin disponible en mltiples plataformas
RNF_7 Interoperabilidad La aplicacin deber integrarse con el sistema de usuarios
LDAP corporativo.
RNF_8 Escalabilidad La implementacin debe proporcionar mecanismos para que
la aplicacin sea fcilmente escalable.
RNF_9 Concurrencia La concurrencia deber contemplar 10-20 usuarios.
RNF_10 Mantenimiento


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 30
Requisitos empresariales
Identificador Clasificacin Descripcin
RE_1 Econmico Reduccin del gasto del proyecto
RE_2 Estratgico Reforzar la competitividad en el mercado


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 31
Descripcin del sistema
CMMI UP es un software clasificado como empresarial. Este tipo de software est orientado a
mejorar la productividad o a medirla. En este sentido, como hemos mencionado
anteriormente, el sistema se compone de diversos mdulos funcionales que ayudar a cada
actor del sistema a mejorar su cometido y en trminos generales mejorar la productividad y
aumentar la eficiencia de la implantacin CMMI.
A continuacin podemos ver un diagrama de paquetes que ilustra esta descomposicin.

Ilustracin 9 Diagrama de paquetes CMMI UP

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 32

Identificacin de actores

Coordinador del equipo CMMI

El coordinador del equipo CMMI es en realidad el jefe del proyecto. Su misin es asegurarse
que el proyecto se lleva a cabo en los trminos establecidos tanto temporales como de coste.

Experto en CMMI
El Experto en CMMI es el que mejor conoce el modelo de madurez y las metodologas actuales
de la empresa. Junto con los expertos en las reas de ingeniera de software acuerda las
actividades que deben realizarse para que se cumplan los objetivos CMMI.

Multiplicador CMMI
Los multiplicadores asisten a los WorkShops informativos y dan apoyo durante el despliegue de
los sprints a los diferentes equipos. Son conocedores de cmo deben realizarse las tareas
encomendadas.

Revisor CMMI
Los revisores son las personas que diariamente revisan que las tareas encomendadas se han
cumplido. Para ello, en una matriz de proyectos/tareas, van apuntando el estado de la tarea. Si
existe una tarea que no est bien realizada o no hecha, dan de alta un registro en una base de
datos de incidencias corporativa para que se resuelvan.

Usuario de Proyecto involucrado
Denominamos as a cualquier miembro de un equipo de proyecto que est interesado en
acceder al repositorio documental de CMMI.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 33
Relacin de los subsistemas con los actores
En el siguiente diagrama se representa la relacin de los diferentes subsistemas con los
actores.

Ilustracin 10 Relacin de actores y subsistemas

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 34

Detalle y funcionalidades de los subsistemas

A continuacin se representa un grfico ms ilustrativo de los componentes y funcionalidades
del sistema.







Clasificacin
Vnculos CMMI
Evidencias
Agenda
Estado de tareas
PIIDB
Proyectos
Revisores
Equipo
Indicadores
Informes
Progreso
Dashboard
Proyectos
candidatos
Tareas de
revisin y
cobertura
Revisiones
y
Evidencias
CMMI
Info
Usuarios y perfiles
Ilustracin 11 Componentes CMMI UP
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 35

Subsistema de gestin de usuarios
Descripcin:
El subsistema de gestin de usuarios proporciona las funcionalidades bsicas para realizar el
mantenimiento de los usuarios. Estos usuarios son los que posteriormente se asignarn al rol
pertinente.
Funcionalidades:
Mantenimiento de usuarios
Gestionar contraseas

Subsistema de informacin CMMI: CMMI Info
Descripcin
El subsistema de informacin CMMI (CMMI Info) es dnde se documentan todos los procesos
CMMI. El software vendr preinstalado con toda la informacin acerca del modelo de madurez
para cada uno de los niveles publicados hasta la fecha. No obstante, el usuario podr dar de
alta y mantener la informacin a su gusto.
Funcionalidades:
Las funcionalidades principales de este subsistema son:
Mantenimiento de niveles de madurez
Mantenimiento de reas de competencias
Mantenimiento objetivos genricos
Mantenimiento de objetivos especficos
Asociacin de objetivos a reas
Asociacin de reas a niveles.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 36
Subsistema de gestin de proyectos candidatos
Descripcin:
En este subsistema se renen las funcionalidades para mantener los proyectos que van a ser
revisados y los que finalmente sern auditados para la certificacin CMMI.
Funcionalidades:
Mantenimiento de reas departamentales
Mantenimiento de proyectos
Mantenimiento de equipos de trabajo
Asociacin de revisores a los proyectos.

Subsistema de configuracin de tareas de revisin y cobertura
Descripcin:
Este subsistema posee las funcionalidades para configurar los tipos de revisiones (nicas,
mensuales, etc.), la descripcin de las diferentes tareas y a qu objetivo del modelo CMMI da
cobertura.
Funcionalidades:
Alta de tipos de revisiones
Detalle de tareas
Coberturas a los objetivos CMMI
Subsistema de revisin y evidencias
Descripcin:
En este subsistema se proporcionan las funcionalidades para la gestin del resultado de las
revisiones. Gestionar las incidencias encontradas en la revisin y comunicarlas a los diferentes
equipos de proyecto son las principales actividades de este subsistema.
Funcionalidades:
Aadir incidencias y proponer acciones correctivas
Comunicar a los equipos de proyecto
Buzn de comunicacin de incidencias (Equipo de proyecto y revisor).

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 37
Subsistema de indicadores
Descripcin:
El subsistema de indicadores proporciona un cuadro de mandos con las grficas ms usadas en
este tipo de implantaciones.
Funcionalidades:
Aadir grfica
Imprimir grfica
Documentacin formal de casos de uso

La interaccin del usuario con el sistema la esquematizaremos a travs de la documentacin
formal de los casos de uso segn el Lenguaje de Modelado Unificado (UML).
En esta representacin se presentan una serie de atributos que se detallan a continuacin.
Actor: Se llama as a toda entidad externa al sistema que interacciona con l. Por ejemplo,
pidiendo una funcionalidad. No necesariamente tiene que ser una persona, en ocasiones se
representan sistemas externos.
Relacin de asociacin: Indica la participacin del actor en el caso de uso.
Relacin de extensin (extend): Se define como la relacin de dependencia entre dos casos de
uso en la cual se aporta alguna funcionalidad extra. El caso de uso principal puede funcionar
(aunque sin la funcionalidad extra) sin el caso de uso secundario.
Relacin de inclusin (include): Esta propiedad es similar al anterior, a diferencia de que una
relacin de inclusin obliga a que el conjunto del proceso (todos los casos de uso que se
comunican) sean llamados. En otras palabras, el caso de uso principal no puede funcionar si el
segundo.
Puntos de extensin: Los puntos de extensin pueden corresponderse a la enumeracin de
pasos en el caso de uso base, as los casos de uso extendidos pueden extender cualquier a de
dichos pasos.
Escenario: Representa el flujo exitoso ms simple. Pueden existir escenarios alternativos o de
excepcin.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 38

Ilustracin 12 Componentes en la representacin de casos de uso
En esta primera tabla realizaremos una clasificacin de los casos de uso organizados por
subsistema:
Caso de uso
Subsistema Cdigo Descripcin
Gestin de usuarios GU_CU_001 Conexin
GU_CU_002 Comprobacin permisos
GU_CU_003 Lista de usuarios
GU_CU_004 Alta de usuario
GU_CU_005 Modificacin de usuarios
GU_CU_006 Baja de usuario

Subsistema Cdigo Descripcin
Informacin CMMI CM_CU_001 Lista de objetivos genricos
CM_CU_002 Alta de objetivo genrico
CM_CU_003 Baja de objetivo genrico
CM_CU_004 Modificacin de objetivo genrico
CM_CU_005 Lista de prcticas genricas
CM_CU_006 Alta de prcticas genricas
CM_CU_007 Baja de prcticas genricas
CM_CU_008 Modificacin de prcticas genricas
CM_CU_009 Lista de categoras de reas de proceso
CM_CU_010 Alta de categora de reas de proceso
CM_CU_011 Baja de categoras de reas de proceso
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 39
CM_CU_012 Modificacin de categoras de reas de proceso
CM_CU_013 Lista de niveles de madurez
CM_CU_014 Alta de niveles de madurez
CM_CU_015 Baja de niveles de madurez
CM_CU_016 Modificacin de niveles de madurez
CM_CU_017 Lista de reas de proceso
CM_CU_018 Alta de reas de proceso
CM_CU_019 Baja de reas de proceso
CM_CU_020 Modificacin de reas de proceso

Subsistema Cdigo Descripcin
Gestin de proyectos candidatos PJ_CU_001 Lista
PJ_CU_002 Alta de roles
PJ_CU_003 Baja de roles
PJ_CU_004 Modificacin de roles
PJ_CU_005 Lista de departamentos
PJ_CU_006 Alta de departamentos
PJ_CU_007 Baja de departamentos
PJ_CU_008 Modificacin de departamentos
PJ_CU_009 Lista de proyectos
PJ_CU_010 Alta de proyecto
PJ_CU_011 Baja de proyecto
PJ_CU_012 Modificacin de proyecto
PJ_CU_013 Lista de equipos de proyecto
PJ_CU_014 Alta de equipo de proyecto
PJ_CU_015 Baja de equipo de proyecto
PJ_CU_016 Modificacin de equipos de proyecto

Subsistema Cdigo Descripcin
Tareas de revisin y cobertura RV_CU_001 Lista de tipos de revisiones
RV_CU_002 Alta de tipos de revisiones
RV_CU_003 Baja de tipos de revisiones
RV_CU_004 Modificacin de tipo de revisiones
RV_CU_005 Lista de tareas de revisin
RV_CU_006 Alta de tareas de revisin
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 40
RV_CU_007 Baja de tarea de revisin
RV_CU_008 Modificacin de tarea de revisin
RV_CU_009 Lista de coberturas de tarea
RV_CU_010 Alta de cobertura de tarea
RV_CU_011 Baja de cobertura de tarea
RV_CU_012 Modificacin de cobertura de tarea

Subsistema Cdigo Descripcin
Revisiones y evidencias EV_CU_001 Matriz de revisiones
EV_CU_002 Generar revisiones
EV_CU_003 Cambiar estado revisiones
EV_CU_004 Aadir evidencias
EV_CU_005 Eliminar evidencia
EV_CU_006 Modificar evidencia
EV_CU_007 Consultar PIIDB
EV_CU_008 Aadir incidencia-accin correctiva
EV_CU_009 Consultar incidencias-acciones correctivas
EV_CU_010 Cambiar estado incidencia-accin correctiva

Subsistema Cdigo Descripcin
Indicadores IN_CU_001 Consultar indicador/Grfica
IN_CU_002 Imprimir indicador/Grfica
IN_CU_003 Aadir indicador
IN_CU_004 Eliminar indicador



Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 41

Subsistema de gestin de usuarios

Caso de uso GU_CU_001
Nombre Conexin al sistema
Requerimiento relacionado RF_0.1
Actores Todos los actores
Precondicin Acceder a la URL de conexin de la aplicacin
Postcondicin El usuario es validado y se conocen los permisos para mostrar
los mens (a travs del GU_CU_002)
Escenario principal El actor accede a la URL de la aplicacin e introduce su usuario
y contrasea. El sistema valida las credenciales y el actor
accede al sistema con los mens a los cuales ha sido
autorizado.
Escenario secundario La validacin de credenciales ha sido incorrecta. El sistema
devuelve un mensaje indicando el problema.

Caso de uso GU_CU_002
Nombre Validar credenciales y obtener permisos
Requerimiento relacionado RF_0.1
Actores Todos los actores
Precondicin Ha sido llamado por el caso de uso GU_CU_001
Postcondicin El usuario es validado y se conocen los permisos. El men de la
aplicacin se estructura en base a estos permisos.
Escenario principal El actor accede a la URL de la aplicacin e introduce su usuario
y contrasea. El sistema valida las credenciales y el actor
accede al sistema con los mens a los cuales ha sido
autorizado.
Escenario secundario La validacin de credenciales ha sido incorrecta. El sistema
devuelve cdigo de error al GU_CU_001.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 42

Caso de uso GU_CU_003
Nombre Lista de usuarios
Requerimiento relacionado RF_0.1
Actores Administrador
Precondicin Credenciales correctas y acceso al men de usuarios.
Postcondicin Se le muestra una lista de los usuarios dados de alta en el
sistema. El usuario ha gestionado (consultado, modificado o
dado de baja algn usuario)
Escenario principal El actor accede a la URL de la aplicacin e introduce su usuario
y contrasea. El sistema valida las credenciales y el actor
accede al men de usuarios.
Escenario secundario -

Caso de uso GU_CU_004
Nombre Alta de usuario
Requerimiento relacionado RF_0.1
Actores Administrador
Precondicin El caso de uso ha sido llamado por GU_CU_003
Postcondicin Se ha dado de alta un nuevo usuario en el sistema
Escenario principal El actor accede al formulario de alta de usuarios, completa los
campos obligatorios y guarda el registro.
Escenario secundario El usuario que quiere dar de alta existe. El sistema le muestra
un mensaje de aviso.

Caso de uso GU_CU_005
Nombre Baja de usuario
Requerimiento relacionado RF_0.1
Actores Administrador
Precondicin El caso de uso ha sido llamado por GU_CU_003
Postcondicin El usuario se elimina (lgicamente) del sistema.
Escenario principal EL usuario accede a la lista de usuarios, selecciona un usuario y
pulsa la opcin para darlo de baja.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 43
Escenario secundario -

Caso de uso GU_CU_006
Nombre Modificacin de usuario
Requerimiento relacionado RF_0.1
Actores Administrador
Precondicin El caso de uso ha sido llamado por GU_CU_003
Postcondicin Alguna propiedad del usuario ha sido modificada.
Escenario principal EL usuario accede a la lista de usuarios, selecciona un usuario y
pulsa la opcin para editarlo. Posteriormente lo guarda
Escenario secundario -




Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 44

Diagrama de casos de uso del subsistema de conexin

Ilustracin 13 Casos de uso subsistema conexin


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 45

Subsistema de informacin CMMI
* Todos los casos de uso del subsistema CMMI son similares. Se detalla un ejemplo de
mantenimiento de una entidad.
Caso de uso CM_CU_001
Nombre Lista de objetivos genricos
Requerimiento relacionado RF_1.1
Actores Experto CMMI
Precondicin Credenciales correctas y acceso al men Lista de o.g.
Postcondicin Se le muestra una lista de los objetivos genricos definidos en
el sistema. El usuario ha gestionado (consultado, modificado o
dado de baja algn objetivo genrico)
Escenario principal El actor accede a la URL de la aplicacin e introduce su usuario
y contrasea. El sistema valida las credenciales y el actor
accede al men CMMI Objetivos genricos.
Escenario secundario -

Caso de uso CM_CU_002
Nombre Alta de objetivo genrico
Requerimiento relacionado RF_1.1
Actores Experto CMMI
Precondicin El caso de uso ha sido llamado por CM_CU_001
Postcondicin Se ha dado de alta un nuevo objetivo genrico
Escenario principal El actor accede al formulario de alta de objetivos genricos,
completa los campos obligatorios y guarda el registro.
Escenario secundario El objetivo genrico que quiere dar de alta existe. El sistema le
muestra un mensaje de aviso.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 46

Caso de uso CM_CU_003
Nombre Baja de objetivo genrico
Requerimiento relacionado RF_1.1
Actores Administrador
Precondicin El caso de uso ha sido llamado por CM_CU_001
Postcondicin El objetivo genrico se elimina (lgicamente) del sistema
Escenario principal EL usuario accede a la lista de objetivos genricos, selecciona
uno y pulsa la opcin para darlo de baja.
Escenario secundario -

Caso de uso CM_CU_004
Nombre Modificacin de un objetivo genrico
Requerimiento relacionado RF_1.1
Actores Experto CMMI
Precondicin El caso de uso ha sido llamado por CM_CU_001
Postcondicin Alguna propiedad del objetivo genrico ha sido modificada.
Escenario principal EL usuario accede a la lista de objetivos genricos, selecciona
uno y pulsa la opcin para editarlo. Posteriormente lo guarda
Escenario secundario -

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 47
Diagrama de casos de uso del subsistema CMMI

Ilustracin 14 Casos de uso del subsistema CMMI


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 48
Subsistema de gestin de proyectos candidatos
* Todos los casos de uso del subsistema CMMI son similares. Se detalla un ejemplo de
mantenimiento de una entidad.
Caso de uso PJ_CU_009
Nombre Lista de proyectos candidatos
Requerimiento relacionado RF_2.1
Actores Administrador, Lder equipo CMMI
Precondicin Credenciales correctas y acceso al men Lista de proyectos
Postcondicin Se le muestra una lista de los proyectos definidos en el
sistema. El usuario ha gestionado (consultado, modificado o
dado de baja algn proyectos )
Escenario principal El actor accede a la URL de la aplicacin e introduce su usuario
y contrasea. El sistema valida las credenciales y el actor
accede al men CMMI proyectos candidatos
Escenario secundario -

Caso de uso PJ_CU_010
Nombre Alta de proyectos candidatos
Requerimiento relacionado RF_2.1
Actores Administrador, Lder equipo CMMI
Precondicin El caso de uso ha sido llamado por PJ_CU_001
Postcondicin Se ha dado de alta un nuevo proyectos candidatos
Escenario principal El actor accede al formulario de alta de proyectos candidatos,
completa los campos obligatorios y guarda el registro.
Escenario secundario El proyecto candidatos que quiere dar de alta existe. El sistema
le muestra un mensaje de aviso.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 49

Caso de uso PJ_CU_011
Nombre Baja de proyectos candidatos
Requerimiento relacionado RF_2.1
Actores Administrador, Lder equipo CMMI
Precondicin El caso de uso ha sido llamado por PJ_CU_001
Postcondicin El proyecto candidatos se elimina (lgicamente) del sistema
Escenario principal EL usuario accede a la lista proyectos candidatos, selecciona
uno y pulsa la opcin para darlo de baja.
Escenario secundario -

Caso de uso PJ_CU_012
Nombre Modificacin de un proyecto candidato
Requerimiento relacionado RF_2.1
Actores Administrador, Lder equipo CMMI
Precondicin El caso de uso ha sido llamado por PJ_CU_001
Postcondicin Alguna propiedad del proyecto candidatos ha sido modificada.
Escenario principal EL usuario accede a la lista de proyectos candidatos, selecciona
uno y pulsa la opcin para editarlo. Posteriormente lo guarda
Escenario secundario -


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 50
Diagrama de casos de uso del subsistema de proyectos candidatos


Ilustracin 15 Casos de uso de Proyectos
Subsistema de configuracin de tareas y coberturas
* Todos los casos de uso del subsistema CMMI son similares. Se detalla un ejemplo de
mantenimiento de una entidad.
Caso de uso RV_CU_001
Nombre Lista de tipos de revisiones
Requerimiento relacionado RF_3.1
Actores Administrador, Revisor CMMI
Precondicin Credenciales correctas y acceso al men Lista de tipos de
revisiones.
Postcondicin Se le muestra una lista de los tipos de revisiones definidos en el
sistema. El usuario ha gestionado (consultado, modificado o
dado de baja algn tipo de revisin)
Escenario principal El actor accede a la URL de la aplicacin e introduce su usuario
y contrasea. El sistema valida las credenciales y el actor
accede al men CMMI Tipos de revisiones.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 51
Escenario secundario -

Caso de uso RV_CU_002
Nombre Alta de un tipo de revisin
Requerimiento relacionado RF_3.1
Actores Administrador, Revisor CMMI
Precondicin El caso de uso ha sido llamado por RV_CU_001
Postcondicin Se ha dado de alta un nuevo tipo de revisin
Escenario principal El actor accede al formulario de alta de tipos de revisiones,
completa los campos obligatorios y guarda el registro.
Escenario secundario El tipo de revisin que quiere dar de alta existe. El sistema le
muestra un mensaje de aviso.

Caso de uso RV_CU_003
Nombre Baja de tipo de revisin
Requerimiento relacionado RF_3.1
Actores Administrador, Revisor CMMI
Precondicin El caso de uso ha sido llamado por RV_CU_001
Postcondicin El tipo de revisin se elimina (lgicamente) del sistema
Escenario principal EL usuario accede a la lista de tipos de revisiones, selecciona
uno y pulsa la opcin para darlo de baja.
Escenario secundario -


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 52

Caso de uso RV_CU_004
Nombre Modificacin de un tipo de revisin
Requerimiento relacionado RF_3.1
Actores Administrador, Revisor CMMI
Precondicin El caso de uso ha sido llamado por RV_CU_001
Postcondicin Alguna propiedad del tipo de revisin ha sido modificada.
Escenario principal EL usuario accede a la lista de tipos de revisin, selecciona uno
y pulsa la opcin para editarlo. Posteriormente lo guarda
Escenario secundario -

Diagrama de casos de uso del subsistema de tareas y coberturas


Ilustracin 16 Casos de uso tareas y coberturas

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 53

Subsistema de revisiones y evidencias
* Se describen los ms representativos.
Caso de uso EV_CU_001
Nombre Matriz de revisiones
Requerimiento relacionado RF_4.3
Actores Revisor CMMI
Precondicin Credenciales correctas y acceso al men Matriz de revisiones
Postcondicin El revisor CMMI ha podido consultar una matriz en la que
figuran los diferentes proyectos y las tareas que requieren
revisin. Cada una de las tareas est identificada con un color
para diferenciar el estado (Pendiente de revisin, Correcta,
Pendiente de accin correctiva o No evaluable. Los diferentes
registros de revisiones tienen disponible acciones:
Asignar/modificar/eliminar una evidencia a la revisin,
Generar ms revisiones o Cambiar el estado de una revisin.
Escenario principal El actor accede a la URL de la aplicacin e introduce su usuario
y contrasea. El sistema valida las credenciales y el actor
accede a la matriz de revisiones. En esta matriz, el revisor
puede consultar los diferentes proyectos y las tareas que
requieren revisin. Cada una de las tareas est identificada con
un color para diferenciar el estado (Pendiente de revisin,
Correcta, Pendiente de accin correctiva o No evaluable. Los
diferentes registros de revisiones tienen disponible acciones:
Asignar/modificar/eliminar una evidencia a la revisin,
Generar ms revisiones o Cambiar el estado de una revisin
Escenario secundario -


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 54
Caso de uso EV_CU_002
Nombre Generar revisiones
Requerimiento relacionado RF_4.3
Actores Revisor CMMI
Precondicin El caso de uso ha sido llamado por EV_CU_001
Postcondicin Las tareas de revisin han sido generadas.
Escenario principal El revisor entra en la pantalla de matriz de tareas y selecciona
la opcin de este caso de uso. A continuacin especifica los
criterios para los cuales quiere generar la matriz de revisiones.
Entre ellos:
Intervalo de fechas
Proyectos incluidos
rea de cobertura (por ejemplo, slo tareas que
pertenezcan al rea de gestin de proyectos).
Escenario secundario

Caso de uso EV_CU_003
Nombre Cambiar estado de una revisin
Requerimiento relacionado RF_4.3
Actores Revisor CMMI
Precondicin El caso de uso ha sido llamado por EV_CU_001
Postcondicin Se ha cambiado el estado de una revisin
Escenario principal El revisor accede a la matriz de revisiones. A continuacin
escoge un registro y selecciona este caso de uso. Se le
proporciona una pantalla de tipo detalle con la posibilidad de
cambiar el estado a uno de los posibles:
- Pendiente de revisin (estado inicial)
- Pendiente de accin correctiva
- Correcta
- Incorrecta
- No procede revisin

Escenario secundario -

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 55
Caso de uso EV_CU_004
Nombre Aadir una evidencia
Requerimiento relacionado RF_4.3
Actores Revisor CMMI
Precondicin El caso de uso ha sido llamado por EV_CU_001
Postcondicin Se ha aadido una evidencia
Escenario principal El revisor accede a la matriz de revisiones. A continuacin
escoge un registro y selecciona este caso de uso. Se le
proporciona una pantalla de tipo detalle con la posibilidad de
aadir los siguientes datos:
- URL a una direccin que proporcione una visin de la
evidencia
- Una carpeta dentro de la red donde exista la evidencia
- Un comentario del revisor

Escenario secundario -

Caso de uso EV_CU_008
Nombre Aadir una incidencia y accin correctiva
Requerimiento relacionado RF_4.3
Actores Revisor CMMI
Precondicin El caso de uso ha sido llamado por EV_CU_001 o EV_CU_009
Postcondicin Se ha aadido una nueva incidencia asociada a la revisin.
Escenario principal El revisor accede a la matriz de revisiones o al buzn de
incidencias. A continuacin escoge un registro y selecciona este
caso de uso. Se le proporciona una pantalla de tipo detalle (con
la informacin de la tarea ms relevante) con la posibilidad de
aadir los siguientes datos:
- Descripcin de la incidencia
- Descripcin de la accin correctiva
- Destinatario de la incidencia (debe ser un miembro del
equipo para el cual se est efectuando la revisin)
Escenario secundario -

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 56
Caso de uso EV_CU_009
Nombre Buzn de incidencias
Requerimiento relacionado RF_4.3
Actores Revisor CMMI, Miembro de un equipo de proyecto
Precondicin
Postcondicin El usuario consulta, cambia de estado o aade una nueva
incidencia o responde a una incidencia creada por el revisor
Escenario principal Si el revisor accede a esta funcionalidad, se le muestran todas
las incidencias que l ha reportado en todos los proyectos. A
partir de ah podr acceder a aadir nuevas o cambiar el
estado.
Para un miembro de proyecto, nicamente se le mostrarn las
incidencias que hayan sido asignadas a l para que pueda
responderlas o reasignarlas a otro miembro de su proyecto.
Escenario secundario -


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 57
Diagrama de casos de uso del subsistema de revisiones y evidencias.

Ilustracin 17 Diagrama de casos de uso del subsistema de revisiones y acciones correctivas
Subsistema de cuadro de mandos e indicadores
Caso de uso IN_CU_001
Nombre Dashboard de indicadores
Requerimiento relacionado RF_4.3
Actores Lder CMMI, Administrador
Precondicin Disponer de permisos en la opcin
Postcondicin El usuario puede visualizar diferentes grficas sobre el estado
de la implantacin
Escenario principal El lder de la implantacin CMMI accede a la aplicacin y en la
primera pantalla se le muestra una serie de grficas que l
mismo ha seleccionado para tener en la pantalla del
dashboard. Se trata de un dashboard adaptable mediante
portlets.
Las graficas iniciales de este proyecto son:
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 58
Estado de las revisiones (Grfico tarta con porcentajes:
Revisado, pendientes, En espera
N de incidencias vs Nmero de revisiones
Grfico de nivel de cobertura en la organizacin
Grfico de cumplimiento de tareas por proyecto
Escenario secundario -

Diagrama de casos de uso del subsistema de cuadro de mandos.

Ilustracin 18 Casos de uso Cuadro de mandos

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 59
Modelo esttico: Diagrama de clases

Modelo CMMI DEV 1.3


Ilustracin 19 Diagrama de clases CMMI

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 60

Documentacin de ejemplo

El modelo expuesto anteriormente debe ser capaz de almacenar esta informacin con la
misma estructura.


Ilustracin 20 Ejemplo informacin CMMI
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 61


Ilustracin 21 Ejemplo Informacin CMMI (Cont.)

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 62

Ilustracin 22 Ejemplo Informacin CMMI (Cont.)

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 63

Coberturas, tareas de revisin, proyectos e incidencias


Ilustracin 23 Diagrama de clases Revisiones





Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 64
Diseo del sistema
Una vez nuestro producto ha sido analizado desde el punto de vista de requisitos deberemos
marcar las directivas tecnolgicas para poder desarrollarlo. A esta etapa en el ciclo de vida se le
denomina Diseo tcnico.
Hemos visto, en la etapa de anlisis, que existen una serie de requisitos no funcionales que de
alguna manera ya pueden marcar la tecnologa que deberemos usar, las restricciones o lmites
del sistema, a qu aspecto debemos dar prioridad y a cual podemos dejar en un segundo plano
o aspectos de tipo cualitativo que pueden tenerse en cuenta a la hora de tomar las decisiones
de arquitectura y tecnolgicas. Otro aspecto a considerar y que no est dentro de este anlisis
es el aspecto econmico, pues ste lo trataremos en un apartado diferente.
Vamos a considerar cada una de las partes definidas en la fase anterior y realizar una
correspondencia tecnolgica. De esta manera enlazaremos qu queremos hacer con el cmo
lo haremos.
A continuacin mencionamos una serie de caractersticas que hemos considerado en este
diseo para que el resultado sea el ms ptimo posible:
1. Diseo econmico
Como hemos mencionado anteriormente, nuestro diseo no prioriza los aspectos econmicos
para el estudio de diseo. Sin embargo, nuestro proyecto no presenta ninguna caracterstica
diferencial que pueda incidir en costes altos. El uso de tecnologa libre que est al alcance de
todos permite tomar decisiones eficaces y con presupuestos totalmente asequibles.
2. Diseo eficaz
Hemos intentado disear todas las funcionalidades descritas en la fase de anlisis para
garantizar el cumplimiento y la eficacia global del sistema. No obstante, por restricciones
temporales hemos dejado algunas funcionalidades menos importantes sin disear. Esto no
supone un problema dado que estas funcionalidades corresponden a mantenimientos
similares y deben implementarse de igual manera al resto de mantenimientos.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 65

3. Diseo eficiente
Las funcionalidades se disearn siguiendo los procedimientos marcados por las buenas
prcticas y siguiendo las metodologas de diseo orientada a objetos. De esta manera se
garantiza que la respuesta al usuario sea la ms correcta posible en trminos funcionales y de
rendimiento.
4. Diseo robusto
La arquitectura escogida, como veremos a continuacin, permite dotar al sistema de la
robustez suficiente como para soportar la magnitud de usuarios y datos necesarios y en el
entorno que se usar.
5. Diseo fiable
Siguiendo la metodologa de diseo orientado a objetos podemos garantizar que obtendremos
un producto con un alto grado de fiabilidad. No obstante, llevando a cabo las pruebas unitarias
y las pruebas de casos de uso, podramos obtener un 100%. Cabe mencionar en este caso, que
el marco de nuestro proyecto no contempla el desarrollo ni un plan de test en cualquiera de
sus niveles (alto nivel, pruebas unitarias, pruebas de caso de uso, etc.).
6. Diseo fcil de mantener
Las buenas prcticas en el desarrollo de software, las metodologas de diseo orientado a
objetos y la arquitectura escogida nos permiten garantizar un sistema dotado de un alto grado
de facilidad en trminos de mantenimiento. Veremos que la arquitectura 3 capas nos permite
separar la presentacin, la lgica de negocio y la capa de base de datos, y de esta manera
facilitar, entre otros, aspectos de mantenimiento.
7. Diseo multiplataforma
Las decisiones tecnolgicas escogidas, como veremos a continuacin, nos permiten adaptar
nuestro producto a mltiples plataformas.
8. Diseo fcil de usar
Uno de los aspectos claves es la facilidad de uso. La aplicacin de directrices de usabilidad que
se han estudiado en la carrera son aplicadas en este proyecto.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 66
Decisiones de arquitectura
Entre las necesidades no funcionales de la solucin, junto con algunos aspectos que hemos
considerado importantes en esta fase, vamos a destacar algunos:
Solucin WEB.
Generalmente se usar en un entorno Intranet.
Puede llegar a integrarse con otras aplicaciones (Aplicaciones Ticketing para
incidencias o o LDAP para la gestin de usuarios).
Fcil de mantener
Econmica, dado que es un coste indirecto en el marco de un proyecto de
implantacin. Es una herramienta que dar apoyo, no puede ser ms cara la
herramienta que el propio proyecto.
De entre las soluciones que hemos estudiado, hemos decidido adoptar la siguiente tecnologa:
Patrn de diseo Modelo Vista Controlador (MVC)
El patrn MVC, introducido como parte de la versin SmallTalk-80 del lenguaje de
programacin SmallTalk, presenta las siguientes ventajas:
Clara separacin entre los componentes permitiendo la implementacin por separado.
La conexin entre el modelo y sus vistas es dinmico, lo cual permite que los cambios
se produzcan en tiempo de ejecucin, no de compilacin.
El patrn MVC, como hemos mencionado, nos permite separar la presentacin, la lgica de
negocio y los datos en tres componentes distintos. Este componente es adecuado para
entornos Web donde la vista es la propia pgina HTML, el modelo es el Sistema de Gestin de
Base de Datos (SGBD) y el controlador es el responsable de recibir los eventos de entrada de la
vista.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 67
En ms detalle, disponemos de los siguientes componentes:
Modelo: Es la representacin especfica de la informacin con la que interacta el
sistema. Gestiona los datos y controla todas sus transformaciones
Vista: El modelo que hemos extrado a travs de su controlador, es presentado al
usuario a travs de este componente.
Controlador: Los eventos del sistema, generalmente iniciados por el usuario, son
gestionados por este componente, que a su vez invoca a llamadas al controlador o
incluso a la vista.
Lenguaje de desarrollo: PHP
Uno de los lenguajes de programacin ms usados para el desarrollo web es el lenguaje PHP.
PHP fue creado originalmente por Rasmus Lerdof en 1995 y dispone de una licencia con su
propio nombre. Esta licencia, de acuerdo con la Free Software Foundation, es una licencia de
software libre no copyleft y una licencia de cdigo abierto segn la Open Source Initiative.
En otros trminos, la licencia PHP est diseada para incentivar la distribucin del cdigo
fuente. Se permite la redistribucin del contenido licenciado en forma cdigo fuente o binaria
siempre y cuando se cumplan los siguientes requisitos:
1. Se incluya la declaracin de los derechos de autor de la licencia PHP.
2. La palabra PHP no se use en el ttulo de las obras derivadas.
3. Se incluya el siguiente anuncio bajo cualquier forma en la que se redistribuya el cdigo.

Ms all de aspectos legales de distribucin y licencia, vamos a describir algunas de sus
caractersticas ms importantes y las cuales encajan perfectamente con los requisitos de
nuestra solucin.
Orientado al desarrollo de aplicaciones Web.
Es considerado un lenguaje fcil de aprender.
Permite la conexin con una gran variedad de gestores de bases de datos (SGBDs),
destacando MySQL y PostgreSQL.
Escalable por medio de extensiones (exts).
Libre y accesible.
Permite la aplicacin de tcnicas de programacin orientada a objetos.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 68

Sistema gestor de base de datos: MySQL
Para la persistencia de los datos, hemos escogido un sistema gestor de base de datos relacional
denominado MySQL.
MySQL est patrocinado por una empresa privada (Sun MicroSystems) que posee el copyright y
de la mayor parte del cdigo. Por un lado, se ofrece bajo la GNU GPL para cualquier uso
compatible con esta licencia, pero para aquellas organizaciones que necesiten incorporarlo en
productos privativos debern adquirir a la empresa una licencia especfica que les permita ese
uso.
Pese a que MySQL inicialmente careca de caractersticas que se hacen importantes en los
sistemas gestores de bases de datos como pueden ser la gestin de transacciones o la
integridad referencial, poco a poco, y en la actualidad podemos destacar, junto a su
simplicidad, algunos de los siguientes aspectos:
Utilizacin del lenguaje SQL en su inmensa mayora.
Disponible en mltiples plataformas y sistemas
Caractersticas para asegurar la integridad referencial (claves forneas, transacciones).
Conectividad segura.
Bsqueda e indexacin de campos de texto.


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 69

Integracin mediante un FrameWork de desarrollo: Yii
Hemos mencionado los diferentes componentes que contendr la arquitectura de nuestro
producto CMMI-UP. Ahora bien, en la actualidad, existen numerosos marcos de desarrollo que
nos permiten unir los diferentes componentes de la arquitectura, y que nos ayudan a la
implementacin siguiendo procedimientos y metodologa sobre una base conceptual y
tecnolgica de soporte definido. En realidad, representa la integracin de todos los
componentes antes mencionados, y modela las relaciones y provee una base sobre la cual
implementaremos nuestra solucin.
Es el caso del marco de trabajo YII, el cual nos permitir integrar los diferentes componentes
que hemos mencionado siguiendo una metodologa definida de trabajo
Entre las caractersticas del framework YII podemos encontrar las siguientes:
Diseo con patrones MVC
Uso de objetos para el acceso a base de datos (DAO)
Entrada y validacin de formularios
Widgets AJAX para mltiples usos: Autocompletar, treeviews, calendarios, etc.
Skinning y theming ,permite customizar el interface de usuario
Web Services para integracin con sistemas
Manejo de errores y excepciones
Internacionalizacin i18N para la traduccin de literales
Generacin automtica de cdigo para CRUD (Create, Update, Delete)
Incorporacin de extensiones de terceros

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 70

Estructura esttica de la aplicacin


Ilustracin 24 Diagrama de la estructura de la aplicacin


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 71
Flujo de trabajo genrico de la aplicacin

Ilustracin 25 Flujo a travs de los componentes
1. Un usuario realiza una solicitud a travs del explorador, con la siguiente
URL http://www.cmmiup.com/index.php?r=post/show&id=1 y el servidor Web se
encarga de la solicitud mediante la ejecucin del script de arranque en index.php.
2. El script de entrada crea una instancia del componente application y la ejecuta.
3. La aplicacin obtiene la informacin detallada del pedido del usuario del componente
de aplicacinrequest.
4. A travs del componente urlManager se determina el controlador y la accin pedido .
5. La aplicacin crea una instancia del controlador pedido para resolver la solicitud del
usuario. El controlador determina que la accin refiere al nombre de
mtodo correspondiente en la clase controlador. Entonces crea y ejecuta los filtros
asociados con esta accin (ejemplo: control de acceso, benchmarking). La accin es
ejecutado si los filtros lo permiten.
6. La accin lee el modelo y accede a base de datos.
7. La accin realiza la vista llamada con el modelo.
8. La vista lee y muestra los atributos del modelo.
9. La vista ejecuta algunos widgets.
10. El resultado realizado es embebido en un esquema (layout).
11. La accin completa la vista realizada y se la muestra al usuario.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 72

Esquema general de la arquitectura CMMI-UP
Una vez hemos identificado los diferentes s componentes tecnolgicos sobre los cuales
disearemos e implementaremos la solucin, vamos a ver un esquema general de la
arquitectura CMMI-UP.

Ilustracin 26 Esquema general de la arquitectura

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 73

Modelo esttico : Diagrama de clases

Modelo CMMI DEV 1.3


Ilustracin 27 Diagrama de clases CMMI

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 74

Coberturas, tareas de revisin, proyectos e incidencias

Ilustracin 28 Diagrama de clases Revisiones



Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 75
Clases frontera y gestoras CMMI Core
Cabe destacar que las clases frontera de tipo CRUD (Create, Update, Delete) o ABM (Alta, Baja,
Modificacin) se descomponen a su vez en diferentes tipologas de vistas segn el propsito.

Ilustracin 30 Detalle de la relacin de componentes modelo, vista, controlador
Ilustracin 29 Clases frontera y gestoras CMMI Core
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 76

Clases frontera y gestoras CMMI Proyectos, revisiones incidencias


Ilustracin 31 Clases frontera y gestoras CMMI Proyectos revisiones e incidencias


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 77
Diseo de casos de uso : Diagramas de actividad de procesos

A continuacin realizaremos el diseo de los casos de uso, aportando, en primer lugar unos
diagramas de actividad para mostrar el flujo de un proceso entre los diferentes casos de uso.
De esta manera, estamos mostrando el negocio desde el punto de vista del usuario, en el que
pueden intervenir diferentes casos de uso, y posteriormente ver cmo estn diseados los
casos de uso ms relevantes que intervienen en estos procesos.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 78
Subsistema de conexin: Gestin de usuarios


Ilustracin 32 Diagrama de actividad para la gestin de usuarios

Accin del diagrama de actividad Caso de uso relacionado
Inicio: Conexin GU_CU_001: Conexin
Validar credenciales GU_CU_002: Validar credenciales
Men: Lista de usuarios GU_CU_003: Lista de usuarios
Alta de usuario GU_CU_004: Alta de usuario
Baja de usuario GU_CU_005: Baja de usuario
Modificacin GU_CU_006: Modificacin
Fin

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 79
Subsistema de revisiones e incidencia: Proceso de revisin de una incidencia
A continuacin veremos un diagrama de actividad para ver cmo intervienen los diferentes
casos de uso en la revisin de una incidencia. Posteriormente, realizaremos un diagrama de
secuencia de los ms relevantes.


Ilustracin 33 Diagrama de actividad para la revisin de una tarea
En el proceso de revisin, el usuario accede a una lista (previamente generada) en la que
puede seleccionar un registro correspondiente a una tarea encomendada a un proyecto
determinada. El objetivo es poder revisar dicha tarea y posteriormente decidir si sta ya ha
sido completada o bien tiene algn tipo de incidencia.
Como vemos, la relacin de casos de uso que intervienen son:
Accin del diagrama de actividad Caso de uso relacionado
Inicio EV_CU_001: Matriz de revisiones
Abrir detalle del registro EV_CU_006: Modificar revisin (corregir diagrama de caso de uso en AF)
Cambiar estado EV_CU_003: Cambiar estado
Abrir incidencia/Accin correctiva EV_CU_008: Aadir INC/AC
Seleccionar destinatario incidencia EV_CU_008: Aadir INC/AC
Enviar guardar incidencia EV_CU_008: Aadir INC/AC
Guardar revisin EV_CU_006: Modificar revisin


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 80
Subsistema de revisiones e incidencia: Proceso de incorporacin de una evidencia
A continuacin veremos un diagrama de actividad para ver cmo intervienen los diferentes
casos de uso en la revisin de una incidencia. Posteriormente, realizaremos un diagrama de
secuencia de los ms relevantes

Ilustracin 34 Diagrama de actividad para insertar evidencias
Accin del diagrama de actividad Caso de uso relacionado
Inicio EV_CU_001: Matriz de revisiones
Abrir detalle del registro EV_CU_006: Modificar revisin (corregir diagrama de caso de uso en AF)
Seleccionar tipo evidencia EV_CU_004: Aadir evidencia
Examinar directorios EV_CU_004: Aadir evidencia
Seleccionar fichero EV_CU_004: Aadir evidencia
Escribir URL EV_CU_004: Aadir evidencia
Guardar revisin EV_CU_006: Modificar revisin

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 81
Diseo de casos de uso : Diagramas de secuencia
En los diagramas de secuencia, se modela la interaccin y los mensajes que intercambian los
diferentes objetos que intervienen en un proceso o caso de uso. Todo ello, mostrado en una
secuencia temporal.
En CMMI-UP existen multitud de mantenimientos de tipo ABC (alta, baja, modificacin) o
CRUD (Create, Update, Delete). Para este tipo de mantenimientos, mostraremos un diagrama
de secuencia genrico, que puede ser aplicado en todos ellos, dado que al estar trabajando con
un framework, este tipo de implementaciones se realiza con un mismo procedimiento. En
cambio, para aquellos proceso ms representativos, mostraremos un diagrama de secuencia
concreto.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 82

Diagrama de secuencias para casos de uso tipo Listas


Ilustracin 35 Diagrama de secuencia para listas
La secuencia habitual para mostrar la lista es la siguiente:
1. El usuario selecciona la opcin correspondiente en el men de usuarios de la
aplicacin
2. A travs de un componente genrico (omitido para resumir el diagrama) se
determina cul es el controlador asociado al evento disparado por el usuario.
3. A continuacin se crea una nueva instancia del controlador.
4. El controlador recupera la lista de permisos para saber si el usuario puede acceder a la
opcin.
5. En caso afirmativo se accede al mtodo de bsqueda correspondiente en modelo de la
entidad (en este caso Users.Search() para recuperar los datos.
6. Al recuperar los datos, el controlador enva el objeto recuperado para rendelizarlo a
travs del componente vista.
7. En caso de que el usuario no tenga permisos para acceder a la opcin, se informa al
usuario mediante un mensaje genrico
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 83
Diagrama de secuencias para casos de uso tipo Alta

Ilustracin 36 Diagrama de secuencia para Altas
La secuencia habitual es parecida a la anterior:
1. El usuario selecciona la opcin correspondiente en el men de usuarios de la
aplicacin
2. A travs de un componente genrico (omitido para resumir el diagrama) se
determina cul es el controlador asociado al evento disparado por el usuario.
3. A continuacin se crea una nueva instancia del controlador.
4. El controlador recupera la lista de permisos para saber si el usuario puede acceder a la
opcin.
5. En caso afirmativo se crea una nueva instancia de la entidad y se renderiza el
formulario para inicializar los campos a rellenar por parte de el usuario.
6. El usuario rellena los datos, se validan los campos y sus atributos y pulsa el botn
Guardar.
7. El controlador interpreta el evento y lanza un nuevo mtodo en el modelo para
almacenar el objeto usuario en la base de datos.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 84
Diagrama de secuencias para casos de uso tipo Baja

Ilustracin 37 Diagrama de secuencias para 'bajas'
La secuencia es la siguiente:
1. El usuario selecciona la opcin correspondiente en el men de usuarios de la
aplicacin
2. A travs de un componente genrico (omitido para resumir el diagrama) se
determina cul es el controlador asociado al evento disparado por el usuario.
3. A continuacin se crea una nueva instancia del controlador.
4. El controlador recupera la lista de permisos para saber si el usuario puede acceder a la
opcin.
5. En caso afirmativo se crea una nueva instancia de la entidad y se renderiza la lista de
usuarios con los datos proporcionados por el modelo.
6. El usuario edita el registro y pulsa el botn Baja.
7. El controlador interpreta el evento y lanza la instruccin correspondiente al modelo, el
cual, determinar previamente si no afecta a la integridad referencial de los datos. En
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 85
caso de que no afecte, borrar el registro. En caso contrario, mostrar un mensaje al
usuario.
Diagrama de secuencias para casos de uso tipo DashBoard


Ilustracin 38 Diagrama de secuencia para Dashboard
La secuencia es la siguiente:
1. El usuario accede a la aplicacin a travs del login.
2. A travs de un componente genrico (omitido para resumir el diagrama) se
determina cul es el controlador asociado al evento disparado por el usuario.
3. A continuacin se crea una nueva instancia del controlador.
4. El controlador recupera la lista de permisos para saber si el usuario puede visualizar el
dashboard.
5. En caso afirmativo se crea una nueva instancia de la entidad (la entidad Dashboard no
es persistente) y se llama al mtodo correspondiente para que realiza las diferentes
consultas en base de datos.
6. Devuelve los diferentes dato para que sean renderizados por el componente vista.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 86
Diseo E/R CMMI Core




Ilustracin 39 E-R CMMI Core
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 87
Diseo de la interfaz grfica
Pantalla principal y men


Ilustracin 40 Prototipo pantalla Men
La pantalla principal presenta un aspecto tpico con un men de opciones horizontal clsico.
Cabe destacar la posibilidad que nos brinda el framework de desarrollo en adaptar diferentes
temticas (themes) que nos permiten adecuar el look & feel segn requerimientos de cliente
de una manera fcil.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 88
Login

Ilustracin 41 Prototipo Pantalla Login
La pantalla de acceso a la aplicacin permite la entrada y la validacin de la contrasea as
como las opciones clsicas de recuperacin de contrasea o la de habilitar el recordatorio de
usuario.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 89
DashBoard

Ilustracin 42 Prototipo DashBoard
Una vez el usuario se ha validado, la pantalla principal se sita en el caso de uso DashBoard,
que permitir tener una visin global de los diferentes grficos y que, de una manera visual, el
usuario puede conocer el estado de la implantacin CMMI.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 90
Pantallas CMMI: Core


Ilustracin 43 Prototipo lista de Categoras
Las pantallas de tipo listas, en los mantenimientos, siempre presentan un aspectos
homogneo. En este caso, los colores son configurables y permiten diferenciar las reas de
proceso de CMMI.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 91

Ilustracin 44 Prototipo Alta de Categora
Las pantallas de tipo alta presentan un aspecto similar. Cada uno de los controles ser
implementado segn la informacin que contendr (listas desplegables, selectores de fecha,
cajas de texto, etc.)
Como podemos observar, tambin se indicar con un asterisco los campos obligatorios.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 92

Ilustracin 45 Prototipo lista niveles de Madurez
Las listas tambin presentan la opcin de filtro en la primera lnea y la capacidad de acceder a
los diferentes casos de uso (eliminar, modificar, visualizar) desde la propia lnea.













Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 93


Ilustracin 46 Prototipo lista reas de proceso
En el mantenimiento de reas de proceso, como podemos observar, se realiza una pantalla de
tipo lista de dos niveles, permitiendo agrupar de este modo por categora.
Obsrvese tambin que los colores nos indican la categora a la que pertenece cada rea de
proceso.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 94

Pantallas CMMI: Proyectos, Roles

Ilustracin 47 Prototipo lista Roles
En esta pantalla podemos gestionar los diferentes roles del equipo de proyectos.


Ilustracin 48 Prototipo lista de proyectos
El mantenimiento de proyectos contiene toda la informacin relevante del proyecto.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 95

Ilustracin 49 Prototipo alta de proyectos

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 96

Pantallas CMMI: Revisiones

Ilustracin 50 Prototipo lista tipos de revisiones
Las revisiones permiten definir el intervalo de das que debe pasar entre una revisin y otra.
Posteriormente asociaremos este tipo de revisin a una tarea determinada.

Ilustracin 51 Prototipo lista tareas de revisin
Como vemos, aqu ya estn asociados los tipos de revisiones a las diferentes tareas.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 97


Ilustracin 52 Prototipo Alta de tareas de revisin
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 98

Ilustracin 53 Prototipo matriz de revisiones
Esta es la pantalla principal que usar el revisor CMMI para ir revisando las tareas
encomendadas a los diferentes proyectos. En l puede observarse la evidencia, el estado de la
revisin (con diferentes colores), el proyecto y la tarea que debera haber realizado.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 99

Ilustracin 54 Prototipo lista de cobertura de tareas
En esta pantalla se permite definir la cobertura de cada tarea. De esta manera, a medida que
se van realizando las tareas se puede obtener una visin del alcance obtenido en la
implantacin de una manera real.









Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 100


Ilustracin 55 Prototipo calendario de revisiones
El calendario permite tener una visin general de las tareas que debe revisarse en un intervalo
de tiempo. Desde el propio calendario tambin puede acceder a cambiar el estado de una
revisin o asignarle evidencias a una tarea.



Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 101

Valoracin econmica

En este apartado, hemos considerado apropiado realizar una valoracin econmica del trabajo
realizado y una estimacin del trabajo pendiente de realizar, como puede ser la
implementacin del proyecto de software, las pruebas pertinentes, la implantacin o la
formacin.
Existen diversos estudios y modelos entorno a la valoracin de la construccin del software. No
obstante, varios autores han analizado una aproximacin del coste global de desarrollo de un
proyecto informtico. Estas aproximaciones datan de los aos setenta y comienzos de los
ochenta por autores como Boehm i Brooks y son aceptadas en la actualidad como referencia.
Un 40% del coste de desarrollar una aplicacin se emplea las etapas de anlisis y
diseo.
Un 20% en la etapa de implementacin
El resto, entorno al 40% se emplea en las pruebas.
El costo de mantenimiento que puede representar el doble del coste de implementacin, y el
del hardware, en este caso no se tiene en cuenta.
Una vez recopilado todos los datos necesarios, procederemos a valorar el coste del proyecto.
Para ello nos basaremos en el coste de cada recurso que debiera participar en el proyecto y
tomando como referencia los precios estndar del sector y asumiendo una persona por rol y
tarea, dado que el tiempo de entrega no es un requisito importante en este caso.
Recurso Coste/hora Coste/Jornada
Jefe de proyectos 48 384
Analista 36 288
Analista programador 24 192
Arquitecto 35 280


Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 102
Recordemos la tabla de actividades desglosadas en el plan de proyecto:
Nota: Pese a que la planificacin temporal se basa en estimaciones de jornadas de 4
horas, en la estimacin econmica hemos tenido en cuenta jornadas de 8 horas para
adecuarlos a los estndares profesionales. Por lo tanto, hemos considerado adecuado
dividir por dos las jornadas detalladas en el planning.


Estimacin por actividades
Actividad Nombre de actividad: Nivel I Jornadas
de 8 horas
Recurso Precio
Jornada
Total
01 PAC1- Plan de proyecto 4 Jefe de proyecto 384 1536
02 PAC2- Especificacin y
anlisis
13 Analista 288 3744
03 PAC3- Diseo del sistema 12,5 Analista-
Programador
192 2400
04 Memoria y presentacin 7,5 Jefe de proyecto 384 2880
05 Programacin y pruebas
unitarias
40 Analista
programador
192 7680
06 Pruebas integradas 15,5 Analista 288 4464
07
1
Formacin a usuarios 1 Analista 288 288
08
2
Adecuacin de datos tareas
vs cobertura CMMI
1,5 Analista
programador
192

288
09 Puesta en produccin 1,5 Arquitecto 280 420
10
3
Final del proyecto 0,5 Jefe de proyecto 384 192
TOTAL 97 23892



1
Aunque no existe formacin explcita, consideramos 1 jornada mnimo para explicar el funcionamiento
del sistema a las personas que comiencen a probar
2
Aunque no existe migracin de datos, estimamos 1 jornada para la revisin de los datos de partida
(tareas y cobertura de tareas).
3
El cierre del proyecto requiere recopilar la documentacin y formalizar el cierre con el cliente
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 103
Conclusiones

El proyecto CMMI UP surge de una experiencia real de una implantacin CMMI en una
organizacin, cuya parte de su dedicacin recae en el desarrollo de software. En ocasiones, las
directrices que marca un modelo se siguen de manera extrema, causando una gran
problemtica de alineamiento con los procesos ya implantados y que es posible que ya
funcionen.
La herramienta que proponemos, no garantiza que una implantacin de tal calibre pueda
llegar a buen puerto, sino que pretende evitar los costes indirectos que supone la gestin de la
informacin, las revisiones que acarrean y la obtencin de una visin clara del estado de la
implantacin.
No sera descabellado pensar que este tipo de solucin que hemos abordado, diera un paso
adelante y, abordando el problema desde una perspectiva ms abstracta, podamos reutilizarlo
para implantaciones de tipo ISO, ITIL, etc. ya que posiblemente lo que cambia es la
informacin, no el modelo.
En aspectos econmicos, la solucin presenta un coste relativamente bajo, debido a que no
posee complejos flujos de trabajo ni complejos algoritmos ni pantallas muy sofisticadas. La
simplicidad debe ser un factor clave dado y debe alinearse con las tareas de gestin que
habitualmente llevan a cabo las organizaciones y que generalmente realizan combinando
diferentes herramientas ofimticas. El coste de esta solucin no debe presentar mayores
problemas en incorporarlo en presupuestos globales de implantacin.
En definitiva, el proyecto CMMI UP se presenta como una solucin que mejorar la
productividad de las tareas que conlleva una implantacin de mejores prcticas como es la del
modelo de madurez CMMI y desarrollado bajo la experiencia de una situacin real en la que
pueden verse reflejadas multitud de empresas del sector.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 104

Apndice A: Glosario

Accin correctiva (corrective action) Acciones o actos usados para remediar una situacin,
eliminar un error o ajustar una condicin.
Adaptacin (tailoring) La adaptacin de un proceso hace, modifica o adapta la descripcin de
proceso para un fin particular. Por ejemplo, un proyecto establece su proceso definido
adaptndolo a partir del conjunto de procesos estndar de la organizacin para cumplir los
objetivos,las limitaciones y el entorno del proyecto.
Adecuado (adequate) Esta palabra se usa para que se puedan interpretar las metas y las
prcticas a la luz de los objetivos de negocio de su organizacin. Cuando se usa cualquier
modelo CMMI, se deben interpretar las prcticas de forma que funcionen para su organizacin.
El trmino se usa en las metas y las prcticas donde ciertas actividades pueden no realizarse
siempre (vase tambin apropiado y segn sea necesario).
Adquisicin (acquisition) El proceso consistente en obtener productos (bienes y servicios) a
travs de contrato.
Alcance de la evaluacin (appraisal scope) La definicin de los lmites de la evaluacin que
engloban los lmites de la organizacin y los lmites del modelo CMMI, dentro de los cuales
operan los procesos que van a ser investigados.
Anlisis de requerimientos (requirement analysis) La determinacin del rendimiento y de las
caractersticas funcionales especficas del producto, basndose en el anlisis de las
necesidades, expectativas y restricciones del cliente; en el concepto operativo; en los entornos
de uso proyectados para las personas, los productos y los procesos; y en las medidas de
eficacia.
Anlisis de riesgos (risk analysis) La evaluacin, clasificacin y priorizacin de los riesgos.
Anlisis funcional (functional analysis) Examen de una funcin definida para identificar todas
las subfunciones necesarias para realizarla; identificacin de las relaciones funcionales e
interfaces (internas y externas) y captura de stas en una arquitectura funcional; y transferir los
requerimientos de rendimie nto de mayor nivel y asignacin de estos requerimientos a
subfunciones de menor nivel. (Vase tambin arquitectura funcional).
rea de proceso (process area) Un grupo de prcticas relacionadas en un rea que, cuando se
implementan colectivamente, satisfacen un conjunto de metas consideradas importantes para
hacer mejoras en ese rea. Todas las reas de proceso CMMI son comunes tanto a la
representacin continua como a la representacin por etapas.
Arquitectura del proceso (process architecture) Las relaciones de orden, las interfaces, las
interdependencias y otras relaciones entre los elementos de proceso de un proceso estndar.
La arquitectura de proceso tambin describe las interfaces, las interdependencias y otras
relaciones entre los elementos de proceso y los procesos externos (p. ej., la gestin del
contrato).
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 105
Arquitectura funcional (functional architecture) La organizacin jerrquica de las funciones, de
sus interfaces funcionales internos y externos (externos a la propia agregacin) e interfaces
fsicos externos, de sus respectivos requerimientos funcionales y de rendimiento, y de sus
restricciones de dis eo.
Arranque del proyecto (project startup) Cuando un conjunto de recursos interrelacionados se
dirigen a desarrollar o entregar uno o ms productos destinados a un cliente o usuario final.
(Vase tambin proyecto).
Aseguramiento de la calidad (quality assurance) Un modo planificado y sistemtico de
asegurar a la gerencia que se aplican los estndares, prcticas, procedimientos y mtodos
definidos del proceso.
Atributos de producto de trabajo y de tarea (work product and task attributes) Caractersticas
de los productos, servicios y tareas del proyecto usadas para ayudar en la estimacin del
trabajo del proyecto. Estas caractersticas incluyen elementos tales como el tamao, la
complejidad, el peso, la forma, el ajuste y la funcin. Se usan normalmente como una entada
para derivar otras estimaciones del proyecto o de recursos (p. ej., esfuerzo, coste y calendario).
Auditora (audit) En las actividades de mejora de procesos de CMMI, un examen objetivo de un
producto de trabajo o de un conjunto de productos de trabajo frente a criterios especficos (p.
ej., requerimientos).
Calidad (quality) La capacidad de un conjunto de caractersticas inherentes de un producto,
componente de producto o proceso para satisfacer los requerimientos de los clientes.
Calificacin (rating) (Vase calificacin de la evaluacin).
Calificacin de la evaluacin (appraisal rating) Tal y como se usa en los materiales de
evaluacin CMMI, el valor asignado por un equipo de evaluacin a (a) una meta o rea de
proceso CMMI (b) el nivel de capacidad de un rea de proceso o (c) el nivel de madurez de una
unidad de la organizacin. La calificacin se determina aplicando el proceso de calificacin
definido por el mtodo de evaluacin que se est empleando.
Capacidad de proceso (process capability) El rango de resultados esperados que pueden
lograrse siguiendo un proceso.
Ciclo de vida del producto (product lifecycle) El periodo de tiempo, consistente en fases, que
empieza cuando se concibe un producto y termina cuando el producto ya no est disponible
para su uso. Dado que una organizacin puede estar produciendo mltiples productos para
mltiples clientes, una descripcin de un ciclo de vida del producto puede no ser adecuada.
Por tanto, la organizacin puede definir un conjunto de modelos aprobados de ciclo de vida del
producto. Estos modelos se encuentran normalmente en la literatura publicada y es probable
que se adapten para uso en una organizacin. Un ciclo de vida del producto podra constar de
las siguientes fases: (1) concepto/visin (2) viabilidad (3) diseo/desarrollo (4) produccin y (5)
retirada.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 106
Cliente (customer) La parte (individuo, proyecto u organizacin) responsable de aceptar el
producto o de autorizar el pago. El cliente es externo al proyecto (excepto quizs cuando se
usan equipos integrados, como en IPPD), pero no necesariamente externo a la organizacin.
El cliente puede ser un proyecto de mayor nivel. Los clientes son un subconjunto de las partes
interesadas. (Vase tambin partes interesadas). En la mayora de los casos en los que se usa
este trmino, la definicin precedente es la que prevalece. Sin embargo, en algunos contextos,
el trmino cliente pretende incluir a otras partes interesadas relevantes (Vase tambin
Requerimientos de cliente).
CMMI UP Nombre dado al proyecto y al software (producto) en el marco de este proyecto.
Componente de producto (product component) En el Conjunto de productos CMMI, un
producto de trabajo que es un componente de bajo nivel del producto. Los componentes de
producto se integran para producir el producto. Pueden existir varios niveles de componentes
de producto. (Vase tambin producto y producto de trabajo).
Componente del modelo CMMI (CMMI model component) Cualquiera de los principales
elementos arquitectnicos que componen el modelo CMMI. Algunos de los principales
elementos de un modelo CMMI incluyen prcticas especficas, prcticas genricas, metas
especficas, metas genricas, reas de proceso, niveles de capacidad y niveles de madurez.
Componentes CMMI informativos (informative CMMI components) Componentes CMMI que
ayudan a los usuarios del modelo a comprender los componentes requeridos y esperados de
un modelo. Estos componentes pueden contener ejemplos, explicaciones detalladas u otra
informacin til. Las subprcticas, notas, referencias, ttulos de metas, ttulos de prcticas,
fuentes, productos de trabajo tpicos, ampliaciones y elaboraciones de prcticas genricas son
componentes informativos del modelo.
Componentes CMMI requeridos (required CMMI components) Componentes CMMI que son
esenciales para alcanzar la mejora de procesos en un rea de proceso determinada. Estos
componentes se usan en las evaluaciones para determinar la capacidad de proceso. Las metas
especficas y las metas genricas son componentes del modelo requeridos.
Conjunto de procesos estndar de la organizacin (organizations set of standard processes)
Una coleccin de definiciones de los procesos que guan las actividades en una organizacin.
Estas descripciones de procesos cubren los elementos fundamentales de proceso (y las rela-
ciones entre ellos, tales como secuencia e interfaces) que deben incorporarse en los procesos
definidos que se implementan en los proyectos de la organizacin. Un proceso estndar
asegura la coherencia de las actividades de desarrollo y de mantenimiento en toda la
organizacin y es esencial para la estabilidad y la mejora a largo plazo. (Vase tambin
proceso definido y elemento de proceso).
Control de calidad (quality control) Las tcnicas y las actividades operativas que se usan para
satisfacer los requerimientos de calidad. (Vase tambin aseguramiento de la calidad).
Datos (data) Informacin registrada, sin importar la forma o el mtodo de registro, incluyendo
datos tcnicos, documentos de software de ordenadores, informacin financiera, informacin
de gestin, representacin de hechos, nmeros o datos de cualquier naturaleza que pueden
comunicarse, almacenarse y procesarse.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 107
Definicin de proceso (process definition) El acto de definir y describir un proceso. El resultado
de una definicin de proceso es una descripcin de proceso. (Vase tambin descripcin de
proceso).
Desarrollo (development) En el Conjunto de productos CMMI, no slo se pueden incluir las
actividades de desarrollo, sino tambin las actividades de mantenimiento. Los proyectos que se
benefician de las mejores prcticas CMMI pueden enfocarse en desarrollo, mantenimiento o
ambos.
Desarrollo integrado de producto y de proceso (integrated product and process development
IPPD) Una aproximacin sistemtica al desarrollo de producto, que logra una colaboracin
oportuna de las partes interesadas relevantes durante todo el ciclo de vida del producto para
satisfacer mejor las necesidades del cliente.
Descripcin de proceso (process description) Una expresin documentada de un conjunto de
actividades realizadas para alcanzar un propsito determinado. Una descripcin de proceso
proporciona una definicin operativa de los principales componentes de un proceso. La
descripcin especifica, de manera completa, precisa y verificable, los requerimientos, el diseo,
el comportamiento u otras caractersticas de un proceso. Puede tambin incluir rocedimientos
para determinar si se han satisfecho estas disposiciones. Se pueden encontrar descripciones de
proceso a nivel de actividad, de proyecto o de organizacin.
Director (senior manager) En el Conjunto de productos CMMI, un rol de gestin situado en un
nivel lo suficientemente alto en la organizacin, donde la preocupacin principal de la persona
que juega este rol es la permanencia de la organizacin a largo plazo ms que las
reocupaciones y presiones a corto plazo contractuales y del proyecto. Un director tiene
autoridad para dirigir la asignacin o reasignacin de recursos, para dar soporte a la eficacia de
la mejora de procesos de la organizacin. (Vase tambin nivel directivo). Un director puede
ser cualquier gerente que satisface esta descripcin, incluyendo el dirigente mximo de la
organizacin. Sinnimos para director incluyen ejecutivo y gerente de alto nivel. Sin
embargo, para asegurar la consistencia y la usabilidad, estos sinnimos no se usan en los
modelos CMMI.
Disciplina (discipline) En el Conjunto de productos CMMI, los corpus de conocimiento
disponibles cuando selecciona un modelo CMMI (p. ej., ingeniera de sistemas). El Equipo de
Producto CMMI (CMMI Product Team) prev que otros corpus de conocimiento se integren en
el marco CMMI en el futuro.
Documento (document) Una coleccin de datos, sin importar el medio en el que se han
registrado, que normalmente permanece y puede ser ledo por seres humanos o mquinas. Por
tanto, los documentos incluyen tanto los documentos en papel como los electrnicos.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 108
Ejecutivo (executive) (Vase director) Elaboracin de prctica genrica (generic practice
elaboration) Un componente informativo del modelo, que aparece despus de la prctica
genrica para proporcionar orientacin de cmo debera aplicarse la prctica genrica al rea
de proceso.
Elemento de configuracin (configuration item) Una agregacin de productos de trabajo que
se establece para la gestin de configuracin y se trata como una entidad nica en el proceso
de gestin de configuracin. (Vase tambin gestin de configuracin).
Empresa (enterprise) La composicin completa de las compaas. Las compaas pueden
consistir en varias organizaciones en varias ubicaciones con distintos clientes (Vase tambin
organizacin).
Equipo de accin de procesos (process action team) Un equipo que tiene la responsabilidad de
desarrollar e implementar actividades de mejora de procesos para una organizacin tal como
se documentan en un plan de accin de procesos.
Equipo integrado (integrated team) Un grupo de personas con habilidades y pericia
complementarias, que estn comprometidos a entregar los productos de trabajo especificados
colaborando de forma oportuna. Los miembros del equipo integrado proporcionan las
habilidades y el apoyo apropiados a todas las fases de la vida de los productos de trabajo y son
responsables colectivamente de entregar los productos de trabajo segn se especificaron. Un
equipo integrado debera incluir a los representantes autorizados de las organizaciones, de las
disciplinas y de las funciones que tienen un inters en el xito de los productos de trabajo.
Estndar (standard) Cuando vea la palabra estndar usada como un nombre en un modelo
CMMI, se refiere a los requerimientos formales obligatorios, desarrollados y usados para
prescribir aproximaciones coherentes al desarrollo (p. ej., los estndares ISO/IEC, los
estndares IEEE y los estndares de la organizacin). En lugar de usar estndar en su sentido
comn diario, se usa otro trmino que significa la misma cosa (p. ej., tpico, tradicional, usual o
rutinario).
Estructura de descomposicin del trabajo (WBS) (work breakdown structure) Una disposicin
de los elementos de trabajo y de su relacin entre ellos y con el producto final.
Evaluacin (appraisal) En el Conjunto de productos CMMI, un examen de uno o ms procesos
por un equipo de profesionales formados, usando un modelo de evaluacin de referencia
como base para determinar, como mnimo, fortalezas y debilidades (Vase tambin
valoracin y evaluacin de capacidad).
Evidencia (evidence) (Vase evidencia objetiva).
Evidencia objetiva (objective evidence) Tal y como se usa en los materiales de evaluacin
CMMI, los documentos o resultados de entrevistas usados como indicadores de la
implementacin o institucionalizacin de las prcticas del modelo. Fuentes de evidencia
objetiva pueden ser instrumentos, presentaciones, documentos y entrevistas.
Formacin (training) Opciones de aprendizaje formal e informal, que pueden incluir formacin
en aulas, tutela informal, formacin basada en web, autoestudio dirigido, y programas
formalizados de formacin en el puesto de trabajo. Las opciones de aprendizaje seleccionadas
para cada situacin se basan en una evaluacin de la necesidad de formacin y de las carencias
de rendimiento a tratarse.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 109
Gerente (manager) En el Conjunto de productos CMMI, una persona que proporciona direccin
y control tcnico y administrativo a aquellos que realizan tareas o actividades dentro del rea
de responsabilidad del gerente. Las funciones tradicionales de un gerente incluyen el trabajo
de planificacin, de organizacin, de direccin y de control en un rea de responsabilidad.
Gestin de cambios (change management) Uso juicioso de medios para efectuar un cambio, o
un cambio propuesto sobre un producto o servicio. (Vase tambin gestin de
configuracin).
Gestin de requerimientos (requirement management) La gestin de todos los requerimientos
recibidos o generados por el proyecto, incluyendo tanto los requerimientos tcnicos como los
no tcnicos, as como aquellos requerimientos impuestos al proyecto por la organizacin.
Gestin de riesgos (risk management) Un proceso organizado y analtico para identificar lo que
podra causar dao o prdida (identificar riesgos); para evaluar y cuantificar los riesgos
identificados; y para desarrollar y, si es necesario, implementar una aproximacin apropiada
para prevenir o gestionar las causas de riesgo que podran dar como resultado daos o
prdidas significativos.
Grupo de procesos (process group) Una coleccin de especialistas que facilita la definicin, el
mantenimiento y la mejora de los procesos usados por la organizacin.
Guas de adaptacin (tailoring guidelines) Las guas de la organizacin que permiten a los
proyectos, a los grupos y a las funciones de la organizacin, adaptar los procesos estndar
apropiadamente para su uso. El conjunto de procesos estndar de la organizacin se describe a
nivel general y puede no ser directamente usable para ejecutar un proceso. Las guas de
adaptacin ayudan a aquellos que establecen los procesos definidos para los proyectos. Las
guas de adaptacin cubren (1) la seleccin de un proceso estndar, (2) la seleccin de un
modelo de ciclo de vida aprobado, y (3) la adaptacin del proceso estndar y el modelo de ciclo
de vida seleccionados para ajustarse a las necesidades del proyecto. Las guas de adaptacin
describen qu es lo que puede y no puede modificarse, e identifican los componentes de
proceso que son candidatos a modificacin.
Hallazgos (findings) (Vase hallazgos de la evaluacin)
Hallazgos de la evaluacin (appraisal findings) Los resultados de una evaluacin que identifican
las cuestiones, problemas u oportunidades ms importantes para la mejora de procesos,
dentro del alcance de la evaluacin. Los hallazgos de la evaluacin son deducciones sacadas de
evidencias objetivas corroboradas.
Identificacin de riesgos (risk identification) Una aproximacin organizada y rigurosa para
buscar riesgos probables o realistas en la consecucin de los objetivos.
Ingeniera de hardware (hardware engineering) La aplicacin de una aproximacin sistemtica,
disciplinada y cuantificable, para transformar un conjunto de requerimientos que representan
la coleccin de necesidades, expectativas y restricciones de las partes interesadas, usando
tcnicas documentadas y tecnologa para disear, implementar y mantener un producto
tangible. (Vase tambin ingeniera del software e ingeniera de sistemas). En CMMI, la
ingeniera de hardware representa todos los campos tcnicos (p. ej., elctrico o mecnico) que
transforman los requerimientos e ideas en productos tangibles y producibles.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 110
Ingeniera de sistemas (systems engineering) La aproximacin interdisciplinaria que rige el
esfuerzo total tcnico y de gestin requerido para transformar un conjunto de necesidades,
expectativas y restricciones de los clientes en una solucin de producto y para dar soporte a
esa solucin a lo largo de la vida del producto. (Vase tambin ingeniera de hardware e
ingeniera del software). Esto incluye la definicin de las medidas tcnicas de rendimiento, la
integracin de las especialidades de ingeniera para establecer una arquitectura de producto, y
la definicin de los procesos de soporte del ciclo de vida que aseguran un equilibrio entre los
objetivos de coste, de rendimiento y de calendario.
Ingeniera del software (software engineering) (1) La aplicacin de una aproximacin
sistemtica, disciplinada y cuantificable al desarrollo, a la explotacin y al mantenimiento de
software. (2) El estudio de las aproximaciones como en (1). (Vase tambin ingeniera de
hardware e ingeniera de sistemas).
Institucionalizacin (institutionalization) La forma arraigada de funcionamiento que una
organizacin sigue rutinariamente como parte de su cultura corporativa.
Jefe de proyecto (project manager) En el Conjunto de productos CMMI, la persona responsable
de planificar, dirigir, controlar, estructurar y motivar el proyecto. El jefe de proyecto es
responsable de satisfacer al cliente.
Madurez de la organizacin (organizational maturity) El grado en el cual una organizacin tiene
explcita y consistentemente procesos desplegados que estn documentados, gestionados,
medidos, controlados y mejorados continuamente. La madurez de la organizacin puede
medirse a travs de las evaluaciones.
Marco (framework) (Vase marco CMMI).
Marco CMMI (CMMI framework) La estructura base que organiza los componentes CMMI, que
incluye elementos comunes de los actuales modelos CMMI, al igual que las reglas y los
mtodos para generar modelos, mtodos de evaluacin (incluyendo artefactos asociados) y
materiales de formacin. El marco permite aadir nuevas disciplinas a CMMI de forma que las
nuevas disciplinas se integren con las existentes. (Vase tambin modelo CMMI y Conjunto
de productos CMMI).
Medicin de proceso (process measurement) El conjunto de definiciones, mtodos y
actividades usadas para tomar mediciones de un proceso y de sus productos resultantes, con el
propsito de caracterizar y comprender el proceso.
Mejora de procesos (process improvement) Un programa de actividades diseado para
mejorar el rendimiento y la madurez de los procesos de la organizacin y los resultados de
dicho programa.
Mejoras de procesos y de tecnologa (process and technology improvements) Mejoras
incrementales e innovadoras a los procesos y a las tecnologas de proceso o de producto.
Meta (goal) Un componente CMMI requerido que puede ser una meta genrica o bien una
meta especfica. Cuando vea la palabra meta en un modelo CMMI, se refiere siempre a un
componente del modelo (p. ej., meta genrica y meta especfica). (Vase tambin meta
genrica, objetivo y meta especfica).

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 111
Meta especfica (specific goal) Un componente requerido del modelo que describe las
caractersticas nicas que deben estar presentes para satisfacer el rea de proceso. (Vase
tambin nivel de capacidad, meta genrica, objetivos de negocio de la organizacin y
rea de proceso).
Meta genrica (generic goal) Un componente requerido del modelo, que describe las
caractersticas que deben estar presentes para institucionalizar los procesos que implementan
un rea de proceso. (Vase tambin institucionalizacin).
Modelo CMMI (CMMI model) Uno de los modelos posibles de la coleccin completa que
pueden generarse a partir del marco CMMI. Dado que el marco CMMI puede generar distintos
modelos basndose en las necesidades de la organizacin que est usndolo, existen mltiples
modelos CMMI (Vase tambin marco CMMI y Conjunto de productos CMMI.).
Modelo de ciclo de vida (lifecycle model) Una particin en fases de la vida de un producto o
proyecto.
Modelo de madurez y de capacidad (capability maturity model) un modelo que contiene los
elementos esenciales de procesos eficaces para una o ms disciplinas, y que describe un
camino de mejora evolutiva desde procesos inmaduros ad hoc a procesos maduros
disciplinados con eficacia y calidad mejorada.
Modelo de referencia (reference model) Un modelo que se usa como punto de referencia para
medir algn atributo.
Modelo de referencia de evaluacin (appraisal reference model) Tal y como se usa en los
materiales de evaluacin CMMI, el modelo CMMI al cual un equipo de evaluacin correlaciona
las actividades de proceso implementadas.
Modelo de rendimiento de proceso (process performance model) Una descripcin de las
relaciones entre los atributos de un proceso y sus productos de trabajo, que se desarrolla a
partir de los datos histricos de rendimiento de proceso y se calibra usando las medidas
recogidas de proceso y de producto del proyecto, y que se usa para predecir los resultados que
sern obtenidos siguiendo el proceso.
Nivel de capacidad (capability level) Logro de la mejora de procesos dentro de un rea de
proceso individual. Un nivel de capacidad se define por las prcticas especficas y genricas
apropiadas para un rea de proceso (Vase tambin meta genrica, prctica genrica,
nivel de madurez, y rea de proceso).
Nivel de madurez (maturity level) Grado de mejora de procesos a travs de un conjunto
predefinido de reas de proceso en las que se alcanzan todas las metas del conjunto. (Vase
tambin nivel de capacidad y rea de proceso).
Nivel directivo (higher level management) La persona o personas que proporcionan la poltica
y la orientacin global para el proceso, pero no proporcionan la monitorizacin y el control
directo y cotidiano del proceso. Dichas personas pertenecen a un nivel de gestin en la
organizacin por encima del nivel inmediato responsable del proceso y pueden ser (aunque no
necesariamente) directores (Vase tambin director).

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 112
Objetivo (objective) Cuando se usa como un nombre en el Conjunto de productos CMMI, el
trmino objetivo (objective) reemplaza a la palabra meta (goal), tal y como se usa en su sentido
cotidiano corriente, ya que la palabra meta (goal) se reserva para usarse cuando se refiere a los
componentes del modelo CMMI llamados metas (goals) especficas y metas (goals) genricas.
(Vase tambin meta).
Objetivo cuantitativo (quantitative objective) Valor objetivo deseado expresado en medidas
cuantitativas. (Vase tambin objetivos de mejora de procesos y objetivos de calidad y de
rendimiento del proceso).
Objetivos de calidad y de rendimiento del proceso (quality and process performance
objectives) Objetivos y requerimientos de la calidad del producto, de la calidad del servicio y
del rendimiento del proceso. Los objetivos de rendimiento del proceso incluyen la calidad; sin
embargo, para enfatizar la importancia de la calidad en el Conjunto de productos CMMI, se usa
la frase objetivos de calidad y de rendimiento del proceso en lugar de objetivos de rendimiento
del proceso.
Objetivos de mejora de proceso (process improvement objectives) Un conjunto de
caractersticas objetivo establecidas para guiar el esfuerzo para mejorar un proceso existente,
de manera especfica y medible, tanto en trminos de caractersticas del producto resultante
(p. ej., calidad, rendimiento y conformidad con los estndares) como en la maneraen la que se
ejecuta el proceso (p. ej., eliminacin de etapas redundantes, combinacin de etapas de
proceso y mejora del tiempo de ciclo). (Vase tambin objetivos de negocio de la
organizacin y objetivo cuantitativo).
Objetivos de negocio (business objectives) (Vase objetivos de negocio de la organizacin).
Objetivos de negocio de la organizacin (organizations business objectives) Estrategias
diseadas por la direccin para asegurar la existencia continuada de la organizacin y fomentar
su rentabilidad, cuota de mercado y otros factores que influyen en el xito de la organizacin.
(Vase tambin objetivos de calidad y de rendimiento del proceso y objetivo cuantitativo).
Dichos objetivos pueden incluir la reduccin del nmero de peticiones de cambios durante la
fase de integracin del sistema, la reduccin del tiempo del ciclo de desarrollo, el incremento
del nmero de errores encontrados en la primera o segunda fase de desarrollo del producto y
la reduccin del nmero de defectos informados por clientes, cuando se aplica a actividades de
ingeniera de sistemas.
Organizacin (organization) Una estructura administrativa en la que la gente gestiona
colectivamente uno o ms proyectos como un todo, y cuyos proyectos comparten un director y
operan bajo las mismas polticas. Sin embargo, la palabra organizacin tal y como se usa en
todos los modelos CMMI, tambin puede aplicarse a una persona que realiza una funcin en
una pequea organizacin que podra ser realizada por un grupo de gente en una organizacin
grande. (Vase tambin empresa y unidad organizativa).
Parmetros de rendimiento (performance parameters) Las mediciones de eficacia y otras
medidas clave usadas para guiar y controlar el desarrollo progresivo.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 113
Parte interesada (stakeholder) En el Conjunto de productos CMMI, un grupo o individuo que se
ve afectado por o es de alguna manera responsable del resultado de un proyecto. Las partes
interesadas pueden incluir a los miembros del proyecto, los proveedores, los clientes, los
usuarios finales y otros. (Vase tambin cliente y parte interesada relevante).
Participantes en la evaluacin (appraisal participants) Miembros de la unidad de la
organizacin que participan proporcionando informacin durante la evaluacin.
Perfil (profile) (Vase perfil alcanzado y perfil objetivo).
Perfil alcanzado (achievement profile) En la representacin continua, una lista de reas de
proceso y sus correspondientes niveles de capacidad, que representan el progreso de la
organizacin para cada rea de proceso, segn avanza a travs de los niveles de capacidad.
(Vase tambin perfil de nivel de capacidad, perfil objetivo y progresin hacia un nivel
objetivo).
Perfil objetivo (target profile) En la representacin continua, una lista de reas de proceso y
sus niveles de capacidad correspondientes que representan un objetivo de mejora de procesos.
(Vase tambin perfil logrado y perfil de nivel de capacidad).
Plan de proyecto (Project plan) Un plan que proporciona la base para ejecutar y controlar las
actividades del proyecto, las cuales tratan los compromisos con el cliente del proyecto. La
planificacin del proyecto incluye estimar los atributos de los productos de trabajo y de las
tareas, determinar los recursos necesarios, negociar los compromisos, elaborar un calendario,
e identificar y analizar los riesgos del proyecto. Puede ser necesaria la iteracin entre estas
actividades para establecer el plan de proyecto.
Poltica (policy) (Vase poltica de la organizacin).
Poltica de la organizacin (organizational policy) Un principio de gua establecido
normalmente por la direccin, que se adopta por una organizacin para influenciar y
determinar decisiones.
Prctica alternativa (alternative practice) Una prctica que es un sustituto para una o ms
prcticas genricas o especficas contenidas en los modelos CMMI, que alcanza un efecto
equivalente a satisfacer la meta genrica o especfica asociada con las prcticas del modelo. Las
prcti cas alternativas no son necesariamente reemplazo una-por-una para las prcticas
genricas o especficas.
Prctica especfica (specific practice) Un componente esperado del modelo que se considera
importante para alcanzar la meta especfica asociada. Las prcticas especficas describen las
actividades esperadas para dar como resultado el logro de las metas especficas de un rea de
proceso. (Vase tambin rea de proceso y meta especfica).
Prctica genrica (generic practice) Un componente esperado del modelo que se considera
importante para alcanzar las metas genricas asociadas. Las prcticas genricas asociadas con
una meta genrica describen las actividades que se espera resulten en el logro de la meta
genrica y contribuyan a la institucionalizacin de los procesos asociados con el rea de
proceso.
Procedimiento de prueba (test procedure) Instrucciones detalladas para el establecimiento,
ejecucin y evaluacin de los resultados de una determinada prueba.
Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 114
Proceso (process) En el Conjunto de productos CMMI, las actividades que pueden reconocerse
como implementaciones de las prcticas en un modelo CMMI. Estas actividades pueden
corresponderse con una o ms prcticas en las reas de proceso de CMMI para permitir que un
modelo sea til para la mejora de procesos y la evaluacin de procesos. Hay un uso especial de
la frase el proceso en las declaraciones y descripciones de las metas genricas y las prcticas
genricas. El proceso, tal y como se usa en la Parte Dos, es el proceso o procesos que
implementan el rea de proceso.
Proceso definido del proyecto (projects defined process) El proceso integrado y definido que
se adapta a partir del conjunto de procesos estndar de la organizacin.
Proceso en optimizacin (optimizing process) Un proceso gestionado cuantitativamente que es
mejorado basndose en una comprensin de las causas comunes de variacin inherentes al
proceso. El enfoque de un proceso en optimizacin est en mejorar continuamente el rango de
rendimiento del proceso a travs de mejoras tanto incrementales como innovadoras. (Vase
tambin causa comn de variacin del proceso, proceso definido y proceso gestionado
cuantitativamente).
Proceso estndar (standard process) Una definicin operativa del proceso bsico que gua el
establecimiento de un proceso comn en una organizacin. Un proceso estndar describe los
elementos de proceso fundamentales que son esperados para incorporarse a cualquier
proceso definido. Tambin describe las relaciones (p. ej., ordenacin e interfaces) entre estos
elementos de proceso.
Producto (product) En el Conjunto de productos CMMI, un producto de trabajo que est
previsto entregar a un cliente o usuario final. La forma de un producto puede variar segn el
contexto. (Vase tambin cliente, componente de producto, servicio y producto de
trabajo).
Producto de trabajo (work product) En el Conjunto de productos CMMI, un resultado til de un
proceso. Esto puede incluir ficheros, documentos, productos, partes de un producto, servicios,
descripciones de proceso, especificaciones y facturas. Una distincin clave entre un producto
de trabajo y un componente de producto es que un producto de trabajo no es necesariamente
parte del producto. En los modelos CMMI, se ver la frase productos de trabajo y servicios.
Aunque la definicin de producto de trabajo incluye los servicios, esta frase se usa para
enfatizar la inclusin de servicios.
Productos de trabajo tpicos (typical work products) Un componente informativo del modelo
que proporciona ejemplos de resultados de una prctica especfica. Estos ejemplos se
denominan productos de trabajo tpicos porque a menudo hay otros productos de trabajo que
son igual de eficaces pero no estn enumerados.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 115
Prototipo (prototype) Un tipo, forma o instancia preliminar de un producto o componente de
producto que sirve como modelo para etapas posteriores o para la versin final y completa del
producto. Este modelo (p. ej., fsico, electrnico, numrico o analtico) puede usarse entre
otros, para los siguientes propsitos:
Evaluacin de la viabilidad de una tecnologa nueva o no familiar.
Evaluacin o mitigacin de un riesgo tcnico.
Validacin de los requerimientos.
Demostracin de caractersticas crticas.
Cualificacin de un producto.
Cualificacin de un proceso.
Caracterizacin del rendimiento o del producto.
Explicacin de principios fsicos.
Proveedor (supplier) (1) Una entidad que entrega productos o realiza servicios que han sido
adquiridos. (2) Un individuo, sociedad, empresa, corporacin, asociacin u otros servicios que
tienen un acuerdo (contrato) con un comprador para el diseo, el desarrollo, la fabricacin, el
mantenimiento, la modificacin o el suministro de elementos bajo los trminos de un acuerdo
(contrato).
Proyecto (project) En el Conjunto de productos CMMI, un conjunto gestionado de recursos
interrelacionados que entrega uno o ms productos a un cliente o usuario final. Un proyecto
tiene un comienzo concreto (es decir, el arranque del proyecto) y opera normalmente de
acuerdo a un plan. Dicho plan est frecuentemente documentado y especifica qu es lo que se
va a entregar o implementar, los recursos y los fondos que van a usarse, el trabajo que va a
realizarse y el calendario para hacer el trabajo. Un proyecto puede estar compuesto de
proyectos.
Prueba de aceptacin (acceptance testing) Prueba formal llevada a cabo para permitir a un
usuario, a un cliente o a otra entidad autorizada determinar si aceptan un producto o
componente de producto. (Vase tambin prueba unitaria).
Prueba unitaria (unit testing) Pruebas de unidades individuales o de grupos de unidades
relacionadas de hardware o de software. (Vase tambin prueba de aceptacin).
Referencia (reference) Un componente informativo del modelo, que apunta a informacin
adicional o ms detallada de reas de proceso relacionadas.
Rendimiento de proceso (process performance) Una medida de los resultados reales
alcanzados al seguir un proceso. Se caracteriza tanto por las medidas de proceso (p. ej.,
esfuerzo, tiempo de ciclo y eficacia en la eliminacin de defectos) como por medidas de
producto (por ejemplo, fiabilidad, densidad de defectos y tiempo de respuesta).

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 116
Representacin (representation) La organizacin, uso y presentacin de los componentes del
CMM. En general, son evidentes dos tipos de aproximacin para presentar las mejores
prcticas: la representacin por etapas y la representacin continua.
Requerimiento (requirement) (1) Una condicin o capacidad necesitada por un usuario para
solucionar un problema o lograr un objetivo. (2) Una condicin o capacidad que debe cumplir o
poseer un producto o componente de producto para satisfacer un contrato, un estndar, una
especificacin u otros documentos impuestos formalmente. (3) Una representacin
documentada de una condicin o capacidad como en (1) o en (2).
Requerimientos de cliente (customer requirements) El resultado de educir, consolidar y
resolver los conflictos entre las necesidades, las expectativas, las limitaciones y las interfaces
de las partes interesadas relevantes del producto de una forma que sea aceptable para el
cliente (Vase tambin cliente).
Requerimientos de componente de producto (product component requirements) Una
especificacin completa de un componente de producto, incluyendo el ajuste, la forma, la
funcin, el rendimiento y cualquier otro requerimiento.
Requerimientos de producto (product requirements) Un refinamiento de los requerimientos
de cliente en el lenguaje de los desarrolladores, transformando los requerimientos implcitos
en requerimientos derivados explcitos. (Vase tambin requerimientos derivados y
requerimientos de componente de producto). El desarrollador usa los requerimientos de
producto para guiar el diseo y la construccin del producto.
Requerimientos derivados (derived requirements) Requerimientos que no estn indicados
explcitamente en los requerimientos de cliente, pero son deducidos (1) de los requerimientos
contextuales (p. ej., estndares aplicables, leyes, polticas, prcticas comunes y decisiones de la
gerencia) o (2) de los requerimientos necesarios para especificar un componente de producto.
Los requerimientos derivados pueden surgir tambin durante el anlisis y el diseo de los
componentes del producto o del sistema. (Vase tambin requerimientos de producto).
Requerimientos no tcnicos (non technical requirements) Estipulaciones, compromisos,
condiciones y trminos contractuales que afectan a cmo se adquieren los productos o los
servicios. Algunos ejemplos son productos que van a ser entregados, derechos de datos para
elementos no desarrollados (NDI) de componentes comerciales (COTS) entregados, fechas de
entrega e hitos con criterios de salida. Otros requerimientos no tcnicos incluyen los
requerimientos de formacin, los requerimientos del emplazamiento y los calendarios del
despliegue.
Requerimientos tcnicos (technical requirements) Propiedades (atributos) de productos o
servicios que van a ser adquiridos o desarrollados.
Retorno de la inversin (return on investment) El ratio de retorno entre los ingresos del
producto y los costes de produccin, que determina si una organizacin se beneficia de la
produccin de ese producto.

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 117
Servicio (service) En el Conjunto de productos CMMI, un servicio es un producto que es
intangible y no almacenable. (Vase tambin producto, cliente y producto de trabajo).
Subprctica (subpractice) Un componente informativo del modelo que proporciona guas para
interpretar e implementar una prctica especfica o genrica. Las subprcticas pueden
redactarse como si fueran obligatorias, pero de hecho slo pretenden proporcionar ideas que
pueden ser tiles para la mejora de procesos.
Subproceso (subprocess) Un proceso que es parte de un proceso mayor. Un subproceso puede,
a su vez, descomponerse en subprocesos y/o elementos de proceso. (Vase tambin proceso,
descripcin de proceso y elemento de proceso).
Trazabilidad (traceability) Una asociacin discernible entre dos o ms entidades lgicas, tales
como requerimientos, elementos de sistema, verificaciones o tareas. (Vase tambin
trazabilidad bidireccional y trazabilidad de requerimientos).
Trazabilidad bidireccional (bidirectional traceability) Una asociacin entre dos o ms entidades
lgicas que es discernible en ambos sentidos (es decir, hacia y desde una entidad). (Vase
tambin trazabilidad de requerimientos y trazabilidad).
Trazabilidad de requerimientos (requirement traceability) Una asociacin discernible entre los
requerimientos y los requerimientos relacionados, las implementaciones y las verificaciones.
(Vase tambin trazabilidad bidireccional y trazabilidad).
Unidad organizativa (organizational unit) La parte de una organizacin que es objeto de una
evaluacin. Una unidad organizativa despliega uno o ms procesos que tienen un contexto de
procesos coherente y opera dentro de un conjunto coherente de objetivos de negocio. Una
unidad organizativa es normalmente parte de una organizacin mayor, aunque en una
organizacin pequea, la unidad organizativa puede ser toda la organizacin.
Validacin (validation) Confirmacin de que el producto, tal y como se ha proporcionado (o
ser proporcionado), satisfar su uso previsto. En otras palabras, la validacin asegura que se
ha construido el producto correcto. (Vase tambin verificacin).
Valoracin (assessment) En el Conjunto de productos CMMI, una evaluacin que una
organizacin hace internamente con el propsito de mejora de procesos. La palabra valoracin
tambin se usa en el conjunto de productos CMMI en su sentido cotidiano (p. ej., valoracin de
riesgos). (Vase tambin evaluacin y evaluacin de capacidad).
Verificacin (verification) Confirmacin de que los productos de trabajo reflejan
apropiadamente los requerimientos que se han especificado para ellos. En otras palabras, la
verificacin asegura que se construy correctamente el producto. (Vase tambin
validacin).

Proyecto final de carrera: Ingeniera de Software

Marcelo Tello Helbling (Universitat Oberta de Catalunya) Pgina 118
Apndice B: Bibliografa
OMG. (s.f.). Unified Modeling Language 2.4.1. Obtenido de OMG Specifications: www.omg.org
Software Engineering Institute. (2010). CMMI for development, Version 1.3.
Software Engineering Institute. (June 1993). Taxonomy-Based Risk Identification.
Universitat Oberta de Catalunya. (s.f.). Gesti i desenvolupament de projectes.
Universitat Oberta de Catalunya. (s.f.). Gestin y Organizacin de Proyectos Informticos. UOC.
Universitat Oberta de Catalunya. (s.f.). Ingeniera de Software.
Universitat Oberta de Catalunya. (s.f.). Introduccin a la Ingeniera de software OO.
Universitat Oberta de Catalunya. (s.f.). Presentaci de documents i elaboraci de presentacions.
Universitat Oberta de Catalunya. (s.f.). Redacci de textos cientificotcnics.
Universitat Oberta de Catalunya. (s.f.). Treball final de carrera.

También podría gustarte