Uploaded by Alexander Rommel

T-ESPE-032633

advertisement
ESCUELA POLITÉCNICA DEL EJÉRCITO
DPTO. DE CIENCIAS DE LA COMPUTACIÓN
CARRERA DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
ELABORACIÓN DEL ESTÁNDAR DE APLICACIÓN DE LA
NORMA ISO/IEC 12207, AL DESARROLLO DE
APLICACIONES DE SOFTWARE PARA LA UTIC DE LA
ESPE
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS E INFORMÁTICA
POR:
SR. ANDRÉS GALLEGOS VELÁSQUEZ
SR. PABLO ANDERSON ORTIZ RODRÍGUEZ
SANGOLQUÍ, Agosto del 2011
CERTIFICACIÓN
Certifico que el presente trabajo fue realizado en su totalidad por el Sr(s).
GALLEGOS VELÁSQUEZ ANDRÉS y ORTIZ RODRÍGUEZ PABLO ANDERSON,
como requerimiento parcial a la obtención del título de INGENIERO(S) EN
SISTEMAS E INFORMÁTICA.
_________________
Agosto del 2011
_________________
ING. MARIO RON
i
DEDICATORIA
Esta tesis va dedicado principalmente a Dios por acompañarme y guiarme a lo
largo de toda mi vida, colmándome de muchas bendiciones. A mis padres y
hermanos, quienes me han dado su cariño, comprensión,
y siempre me
motivaron para alcanzar mis metas enseñándome a ser constante.
Andrés Gallegos Velásquez
ii
DEDICATORIA
Este trabajo se lo dedico a mis padres y a mi hermana, que me han sabido
comprender y apoyar en este largo camino, siempre han sido mi más grande
motivación para seguir adelante
y cumplir todas las metas que
me he
trazado.
A mis abuelos, por sus consejos que me hicieron reflexionar sobre las cosas
importantes de la vida.
Pablo Anderson Ortiz Rodríguez
iii
AGRADECIMIENTOS
Agradezco principalmente a mis padres por ser la ayuda moral, espiritual, que a
pesar de cualquier dificultad, siempre han sido el ejemplo a seguir día a día, a mis
hermanos por apoyarme y ayudarme a conseguir cualquier meta planteada. A
toda mi familia y amigos por
colaborar de cualquier forma para que ésta
culminación de carrera universitaria haya llegado a su mejor fin. A mis maestros
por haberme impartido todos sus conocimientos y enseñanzas, agradeciendo de
igual manera a mi Director, Codirector y Colaborador de esta tesis.
Y sobre todo agradezco a Dios.
Andrés Gallegos Velásquez
iv
AGRADECIMIENTO
Agradezco a Dios, por haber sido mi refugio en los momentos más difíciles,
por permitirme estar vivo y por ayudarme a superar todas las adversidades
que se me han presentado.
Agradezco a mis padres; a mi madre, por sus consejos, su apoyo, paciencia y
ayuda incondicional; a mi padre, por su esfuerzo y sacrifico desinteresado,
para que yo pueda seguir adelante.
A mi querida hermana, por su paciencia, comprensión; por ser mi amiga y en
momentos como mi madre, por su ejemplo para que pudiera seguir el camino
correcto.
A mi Director, Codirector, y Colaborador de tesis, por su apoyo y ayuda, para
seguir adelante y culminar este proyecto.
A todos mis amigos, por brindarme su amistad y apoyarme en todo momento.
Pablo Anderson Ortiz Rodríguez
v
ÍNDICE
ÍNDICE DE FIGURAS ................................................................................................................... xii
ÍNDICE DE TABLAS .....................................................................................................................xiii
RESUMEN ......................................................................................................................................xiv
CAPÍTULO I ...................................................................................................................................... 1
1.
INTRODUCCIÓN ..................................................................................................................... 1
1.1.-
Antecedentes ................................................................................................................ 1
1.2.-
Planteamiento del Problema ...................................................................................... 2
1.3.-
Justificación .................................................................................................................. 5
1.4.-
Objetivos........................................................................................................................ 6
1.4.1.-
Objetivo General ...................................................................................................... 6
1.4.2.-
Objetivos Específicos .............................................................................................. 6
1.5.-
Alcance o Meta............................................................................................................. 7
1.6.-
Metodología .................................................................................................................. 7
1.6.1.1.7.-
Metodología de Investigación ................................................................................ 7
Factibilidad .................................................................................................................... 9
1.7.1.-
Factibilidad Técnica ................................................................................................. 9
1.7.2.-
Factibilidad Operativa.............................................................................................. 9
1.7.3.-
Factibilidad Económica ......................................................................................... 10
CAPÍTULO II ................................................................................................................................... 11
2.
MARCO TEÓRICO ................................................................................................................ 11
2.1.-
Tecnologías de la Información y Comunicación (TIC) ......................................... 11
2.1.1.-
Antecedentes .......................................................................................................... 11
2.1.2.-
Definición TIC ......................................................................................................... 12
2.1.3.-
Características de las TIC .................................................................................... 14
2.1.4.-
Ventajas y Desventajas de las TIC ..................................................................... 15
2.1.4.1.-
Ventajas........................................................................................................... 15
2.1.4.2.-
Desventajas .................................................................................................... 16
2.1.5.-
Objetivos de las TIC en las Instituciones ........................................................... 16
2.1.6.-
Tareas del Departamento de TIC dentro de una Institución ........................... 17
2.1.7.-
Servicios del Departamento de TIC dentro de una Institución ....................... 17
vi
2.2.-
Software ...................................................................................................................... 19
2.2.1.-
Antecedentes .......................................................................................................... 19
2.2.2.-
Definición de Software .......................................................................................... 20
2.2.3.-
Producto Software ................................................................................................. 20
2.2.4.-
Clasificación del Software .................................................................................... 21
2.2.4.1.-
Software de Sistemas ................................................................................... 22
2.2.4.2.-
Software de Tiempo Real ............................................................................. 22
2.2.4.3.-
Software de Gestión ...................................................................................... 23
2.2.4.4.-
Software de Ingeniería y Científico ............................................................. 23
2.2.4.5.-
Software Empotrado ...................................................................................... 24
2.2.4.6.-
Software de Computadores Personales..................................................... 24
2.2.4.7.-
Software Basado en Web ............................................................................. 25
2.2.5.-
Proceso de Creación de Software....................................................................... 25
2.2.6.-
Proceso, Métodos y Herramientas ...................................................................... 27
2.2.6.1.-
Proceso............................................................................................................ 27
2.2.6.2.-
Métodos ........................................................................................................... 27
2.2.6.3.-
Herramientas .................................................................................................. 28
2.2.7.-
Fases Principales del Desarrollo de Software................................................... 28
2.2.7.1.-
Fase de Definición ......................................................................................... 28
2.2.7.2.-
Fase de Desarrollo......................................................................................... 29
2.2.7.3.-
Fase de Mantenimiento................................................................................. 33
2.2.8.-
Ciclo de Vida de Software .................................................................................... 34
2.2.8.1.-
Modelos del Ciclo de Vida del Software ..................................................... 35
2.2.8.1.1.- Modelo Lineal ........................................................................................... 35
2.2.8.1.2.- Modelo Cascada ...................................................................................... 36
2.2.8.1.3.- Modelo Evolutivo ...................................................................................... 37
2.2.8.1.4.- Modelo Incremental ................................................................................. 37
2.2.8.1.5.- Modelo Espiral .......................................................................................... 38
2.3.-
Norma ISO/IEC 12207 .............................................................................................. 40
2.3.1.-
Introducción ............................................................................................................ 40
2.3.2.-
Definiciones Importantes ...................................................................................... 41
2.3.2.1.-
Estándar .......................................................................................................... 41
2.3.2.2.-
ISO ................................................................................................................... 41
2.3.2.3.-
IEC.................................................................................................................... 42
vii
2.3.3.-
Norma ISO/IEC 12207:2008 ................................................................................ 42
2.3.3.1.-
Propósito ......................................................................................................... 43
2.3.3.2.-
Limitaciones .................................................................................................... 43
2.3.3.3.-
Conformidad ................................................................................................... 44
2.3.3.3.1.- Uso Correcto ............................................................................................. 44
2.3.3.3.2.- Conformidad Completa ........................................................................... 44
2.3.3.3.3.- Conformidad a la Medida ........................................................................ 45
2.3.3.4.- Recomendaciones de la Norma ISO/EC 12207:2008 para los Procesos
del Ciclo de Vida del Software ......................................................................................... 45
2.3.3.5.-
Organización de la Norma ISO/IEC 12207:2008 ...................................... 46
2.3.3.5.1.- Categorías del Proceso de Ciclo de Vida del Software ..................... 46
2.3.3.5.2.- Estructura de los Procesos del Ciclo de Vida del Software según la
Norma ISO/IEC 12207 .................................................................................................. 49
CAPÍTULO III .................................................................................................................................. 52
3.
ANÁLISIS UTIC ESPE Y PROCESO DE DESARROLLO DE SOFTWARE ................ 52
3.1.-
Funciones de la UTIC de la ESPE .......................................................................... 52
3.2.Gestión del Departamento de Tecnología de la Información y Comunicación
(UTIC-ESPE) .............................................................................................................................. 53
3.2.1.-
GT.1 Gestión Estratégica de Tecnologías de Información.............................. 53
3.2.2.-
GT.2 Gestión y Soporte Técnico ......................................................................... 53
3.2.3.-
GT.3 Administración de Redes, Comunicaciones y Servicio .......................... 54
3.2.4.-
GT.4 Desarrollo, Implantación y Mantenimiento de Aplicativos ..................... 54
3.2.5.-
GT5 Administración de Aplicativos y Base de Datos ....................................... 54
3.3.-
Árbol de Gestión y Tecnología Informática (UTIC-ESPE) ................................... 55
3.4.-
Análisis del GT.4 (Desarrollo, Implantación y Mantenimiento de Aplicativos) . 56
3.4.1.-
Objetivo.................................................................................................................... 57
3.4.2.-
Alcance .................................................................................................................... 57
3.4.3.-
Responsable ........................................................................................................... 57
3.4.4.-
Requisitos Legales ................................................................................................ 57
3.4.5.-
Políticas Internas.................................................................................................... 58
3.4.6.-
Subprocesos ........................................................................................................... 58
3.4.7.-
Registros Controlados ........................................................................................... 59
3.4.8.-
Documentos Controlados ..................................................................................... 60
3.4.9.-
Instrucciones Aclaratorias .................................................................................... 60
3.4.10.-
Procesos para el Desarrollo de Software en la UTIC de la ESPE ............. 61
viii
3.4.10.1.- Análisis y Diseño para el Desarrollo de Aplicativos ................................. 62
3.4.10.2.- Construcción de Aplicativos ........................................................................ 63
3.4.10.3.- Implantación de Aplicativos ......................................................................... 64
3.5.Análisis Crítico de los Procesos más Importantes y Urgentes de la Norma
ISO/IEC 12207:2008, referentes al Desarrollo de Software ............................................... 65
3.6.Comparación de los Procesos de la UTIC ESPE vs Procesos Norma ISO/IEC
12207:2008. ................................................................................................................................ 69
CAPÍTULO IV ................................................................................................................................. 86
4. ESTÁNDAR DE APLICACIÓN BASADO EN LA NORMA ISO/IEC 12207, AL
PROCESO DE DESARROLLO DE SOFTWARE EN LA UTIC DE LA ESPE ..................... 86
4.1.-
Términos y Definiciones............................................................................................ 87
4.2.-
Procesos Específicos del Software ....................................................................... 100
4.2.1.-
Proceso de Implementación del Software ....................................................... 100
4.2.1.1.-
Propósito ....................................................................................................... 100
4.2.1.2.-
Actividades y Tareas ................................................................................... 101
4.2.1.2.1.- Implementación del Software ............................................................... 101
4.2.2.-
Proceso de Análisis de Requerimientos del Software ................................... 102
4.2.2.1.-
Propósito ....................................................................................................... 102
4.2.2.2.-
Actividades y Tareas ................................................................................... 103
4.2.2.2.1.- Análisis de Requerimientos del Software........................................... 103
4.2.3.-
Proceso de Diseño de Arquitectura del Software ........................................... 105
4.2.3.1.-
Propósito ....................................................................................................... 105
4.2.3.2.-
Actividades y Tareas ................................................................................... 105
4.2.3.2.1.- Diseño de Arquitectura del Software .................................................. 105
4.2.4.-
Proceso de Diseño Detallado del Software ..................................................... 107
4.2.4.1.-
Propósito ....................................................................................................... 107
4.2.4.2.-
Actividades y Tareas ................................................................................... 107
4.2.4.2.1.- Diseño Detallado del Software............................................................. 107
4.2.5.-
Proceso de Construcción del Software ............................................................ 109
4.2.5.1.-
Propósito ....................................................................................................... 109
4.2.5.2.-
Actividades y Tareas ................................................................................... 110
4.2.5.2.1.- Construcción del Software.................................................................... 110
4.2.6.-
Proceso de Integración del Software ................................................................ 111
4.2.6.1.-
Propósito ....................................................................................................... 111
4.2.6.2.-
Actividades y Tareas ................................................................................... 112
ix
4.2.6.2.1.- Integración del Software ....................................................................... 112
4.2.7.-
Proceso de Pruebas del Software ..................................................................... 114
4.2.7.1.-
Propósito ....................................................................................................... 114
4.2.7.2.-
Actividades y Tareas ................................................................................... 114
4.2.7.2.1.- Pruebas del Software ............................................................................ 114
4.3.-
Procesos de Apoyo.................................................................................................. 116
4.3.1.-
Proceso de Gestión de la Documentación del Software ............................... 116
4.3.1.1.-
Propósito ....................................................................................................... 116
4.3.1.2.-
Actividades y Tareas ................................................................................... 116
4.3.1.2.1.- Implementación del Proceso ................................................................ 116
4.3.1.2.2.- Diseño y Desarrollo ............................................................................... 117
4.3.1.2.3.- Producción .............................................................................................. 118
4.3.1.2.4.- Mantenimiento ........................................................................................ 118
4.3.2.-
Proceso de Gestión de la Configuración del Software .................................. 119
4.3.2.1.-
Propósito ....................................................................................................... 119
4.3.2.2.-
Actividades y Tareas ................................................................................... 119
4.3.2.2.1.- Implementación del Proceso ................................................................ 119
4.3.2.2.2.- Identificación de la Configuración ....................................................... 120
4.3.2.2.3.- Control de la Configuración .................................................................. 120
4.3.2.2.4.- Determinación del Estado de la Configuración ................................. 121
4.3.2.2.5.- Evaluación de la Configuración ........................................................... 121
4.3.2.2.6.- Gestión de Releases y Entrega ........................................................... 121
4.3.3.-
Proceso de Resolución de Problemas del Software ...................................... 122
4.3.3.1.-
Propósito ....................................................................................................... 122
4.3.3.2.-
Actividades y Tareas ................................................................................... 122
4.3.3.2.1.- Implementación del Proceso ................................................................ 122
4.3.3.2.2.- Solución de problemas.......................................................................... 123
4.3.4.-
Proceso de Revisión Conjunta del Software ................................................... 124
4.3.4.1.-
Propósito ....................................................................................................... 124
4.3.4.2.-
Actividades y Tareas ................................................................................... 124
4.3.4.2.1.- Implementación del Proceso ................................................................ 124
4.3.4.2.2.- Revisiones de la Gestión del Proyecto ............................................... 126
4.3.4.2.3.- Revisiones Técnicas .............................................................................. 126
4.3.5.-
Proceso de Validación del Software ................................................................. 127
x
4.3.5.1.-
Propósito ....................................................................................................... 127
4.3.5.2.-
Actividades y tareas..................................................................................... 128
4.3.5.2.1.- Implementación del proceso ................................................................ 128
4.3.5.2.2.- Validación ................................................................................................ 129
CAPÍTULO V ................................................................................................................................ 131
5.
CONCLUSIONES Y RECOMENDACIONES .................................................................. 131
5.1.-
Conclusiones ............................................................................................................ 131
5.2.-
Recomendaciones ................................................................................................... 132
ANEXOS ....................................................................................................................................... 134
ANEXO A: RESUMEN DEL ESTÁNDAR DE APLICACIÓN BASADO EN LA NORMA
ISO/IEC 12207 ............................................................................................................................. 134
ANEXO B: PLAN DE GESTIÓN DE LA DOCUMENTACIÓN ............................................... 139
ANEXO C: PLAN DE GESTIÓN DE LA CONFIGURACIÓN ................................................ 141
ANEXO D: ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE (ERS) ............ 147
ANEXO E: DISEÑO DE ARQUITECTURA DE ALTO NIVEL Y DETALLADO .................. 153
ANEXO F: PLAN DE PRUEBAS ............................................................................................... 162
ANEXO G: FORMATO ENCUESTA ......................................................................................... 169
BIBLIOGRAFÍA ............................................................................................................................ 174
xi
ÍNDICE DE FIGURAS
Figura 2.1: (Convergencia Tecnologías de Información y Comunicación) ........................... 12
Figura 2.2: (Servicios de las TIC dentro de una Institución) ................................................... 18
Figura 2.3: (Tareas para Captura y Análisis de Requisitos) ................................................... 29
Figura 2.4 (Ejemplo Resultado Pruebas Unitarias JUnit) ........................................................ 30
Figura 2.5: (Metodología de Integración TOP_DOWN) ........................................................... 31
Figura 2.6: (Representación Modelo Lineal) ............................................................................. 36
Figura 2.6: (Representación Modelo Cascada) ........................................................................ 36
Figura 2.8: (Representación Modelo Evolutivo) ........................................................................ 37
Figura 2.9: (Representación Modelo Incremental) ................................................................... 38
Figura 2.10: (Representación Modelo Espiral).......................................................................... 39
Figura 2.11: (Ciclo de Vida de los Procesos de Software de 12207) .................................... 47
Figura 2.12: (Selección de Elemento(s) de la Norma que se ajustan a necesidades de la
Organización) ................................................................................................................................. 48
Figura 2.13: (Estructura de los Procesos de ISO/IEC 12207:2008) ...................................... 50
Figura 3.1: (Estructura UTIC ESPE) ........................................................................................... 55
Figura 3.2: (Árbol Productos/Servicios UTIC ESPE) ............................................................... 56
Figura 3.3: (Diagrama Análisis y Diseño para el Desarrollo de Aplicativos) ........................ 62
Figura 3.4: (Diagrama Construcción de Aplicativos) ................................................................ 63
Figura 3.6: (Diagrama de Análisis de Requerimientos) ........................................................... 70
Figura 3.7: (Diagrama de Proceso de Diseño de Alto Nivel) .................................................. 71
Figura 3.8: (Diagrama de Proceso de Diseño Detallado de Software) ................................. 72
Figura 3.9: (Diagrama Proceso de Construcción de Software) .............................................. 73
Figura 3.10: (Diagrama Proceso De Integración) ..................................................................... 74
Figura 3.11: (Diagrama Proceso De Pruebas) .......................................................................... 75
xii
ÍNDICE DE TABLAS
Tabla 1.1: (Descripción Factibilidad Económica)...................................................................... 10
Tabla 3.1: (Subprocesos GT4 y Periodicidad) .......................................................................... 58
Tabla 3.2: (Registros Controlados GT4) .................................................................................... 59
Tabla 3.3: (Matriz de Importancia Urgencia Procesos ISO/IEC 12207:2008)...................... 67
Tabla 3.4: (Matriz de Importancia Urgencia Procesos de Apoyo ISO/IEC 12207:2008).... 68
Tabla 3.5: (Cuadro Comparativo Desarrollo de Software UTIC-ESPE vs Estándar de
Aplicación Norma ISO/IEC 12207).............................................................................................. 77
xiii
RESUMEN
El desarrollo de software es un proceso muy complejo que requiere de una
metodología eficiente y sistemática, durante este proceso pueden presentarse
diversos problemas como son: no cumplir con los requerimientos del cliente, mal
manejo de los tiempos que conlleva un desarrollo, no contar con un lenguaje
unificado que permita en un futuro el crecimiento del aplicativo, entre otros; por
esto se han desarrollado normas y estándares aplicables para el control y
mejoramiento de la calidad del software ya que en el mundo globalizado de hoy,
es un requisito indispensable para mantenerse compitiendo en el mercado. La
norma ISO/IEC 12207, que es la base de la presente tesis, establece un análisis
del ciclo de vida del software, incluye procesos y actividades que se aplican desde
la definición de requisitos, hasta la finalización de su uso. Para esta tesis, se
utilizó la investigación contrastiva para establecer semejanzas y diferencias entre
los procesos de la UTIC e ISO/IEC 12207 y la investigación aplicativa para la
elaboración de este estándar de aplicación de desarrollo de software para la UTIC
de la ESPE. Este estándar de aplicación, permitirá a la UTIC mejorar la
funcionalidad y rendimiento del software, satisfaciendo los requerimientos de
calidad exigidos por cliente.
xiv
CAPÍTULO I
1. INTRODUCCIÓN
El presente capítulo, describe y justifica las motivaciones, que llevaron a
elaborar la presente tesis.
1.1.- Antecedentes
El desarrollo de software es un proceso muy complejo que requiere de una
metodología eficiente y sistemática, durante este proceso pueden presentarse
diversos problemas como son: no cumplir con los requerimientos del cliente, mal
manejo de los tiempos que conlleva un desarrollo, no contar con un lenguaje
unificado que permita en un futuro el crecimiento del aplicativo, entre otros; por
esto se han desarrollado normas y estándares aplicables para el control y
mejoramiento de la calidad del software ya que en el mundo globalizado de hoy,
es un requisito indispensable para mantenerse compitiendo en el mercado.
Los sistemas de gestión de la calidad basados en las normas ISO, reflejan el
consenso internacional en este tema y han cobrado una gran popularidad, por lo
que muchas organizaciones han decidido tomar el camino de implantarlos. “La
ISO (International Standarization Organization) es la entidad encargada de facilitar
-1-
la normalización en el mundo” 1 , su función principal es orientar, coordinar,
simplificar y unificar los usos para conseguir menores costos y efectividad.
La norma ISO/IEC 12207, que es la base de la presente tesis, establece un
análisis del ciclo de vida del software que incluye procesos y actividades que se
aplican desde la definición de requisitos, pasando por la adquisición y
configuración de los servicios del sistema, hasta la finalización de su uso.
1.2.- Planteamiento del Problema
Las tecnologías de información y comunicación; y propiamente la industria
del software, se han incrementado considerablemente, debido a la importancia
que tienen en las empresas y organizaciones para poder competir en el mercado
global.
Las empresas y organizaciones ecuatorianas, forman parte de este
fenómeno global, obligándolas a mejorar y estar a la par, en el crecimiento de las
tecnologías de la Información y el desarrollo de software de calidad.
1
Tomado de: http://s3.amazonaws.com/lcp/ncastillo_unefai/myfiles/Objetivo-1.2-normalizacion.pdf
-2-
Importancia de la Industria
Las Tecnologías de la Información y más propiamente el software es
transversal a todos los sectores:
Genera competitividad para todos los sectores.
Es generadora intensiva de empleo.
Es generadora de valor e impacto con nivel de ganancias tempranas.
Tiene la capacidad de atraer inversiones.
Demanda recurso humano de alto valor agregado.
Se ajusta a requerimientos del mercado (Sector Público y Privado).
Produce soluciones que aportan valor.
Datos Estadísticas
Empresas de software por registro: 265
Registradas en AESOFT2: 77
Facturación Total de la Industria:
2005:US$ 62 millones
2006:US$ 99 millones
2007: US$130 millones.
2
AESOFT: Asociación Ecuatoriana de Software
http://aesoft.com.ec/index.php?option=com_content&task=view&id=108&Itemid=3&date=2011-0201
-3-
Exportaciones:
2005: US$ 10.1 millones
2006: US$ 19 millones
2007: US$ 24 millones (*)
(*) Estimado
Por Región:
Quito: 85%
Guayaquil: 11%
Cuenca: 2%
Resto del país: 2%
Estos datos, exponen el impacto de la industria del software en el Ecuador,
mostrando la importancia de mejorar la calidad de software que se desarrolla en
el país.
Para desarrollar software de calidad, es indispensable tomar medidas para
controlar y mejorar aspectos como: análisis de requerimientos del software,
documentación que se debe generar, procesos que intervienen en el desarrollo de
un aplicativo, entre otros; dichas medidas deben estar establecidas en un
documento formal para que los participantes del desarrollo de software las
implementen.
-4-
Para desarrollar software dentro de la Unidad de Tecnologías de la
Información UTIC de la ESPE, se sugiere implementar un plan de aplicación, el
cual permita mejorar la calidad de todo el proceso de desarrollo de software.
Este proyecto de investigación, busca aportar a la UTIC de la ESPE, un
estándar de aplicación en el proceso de desarrollo de software, basado en la
Norma ISO/IEC 12207, que permita mejorar el método de desarrollo de software
utilizado actualmente.
1.3.- Justificación
La elaboración del estándar de aplicación basado en la norma ISO/IEC
12207, para el desarrollo de de software, dentro de la UTIC de la ESPE, busca
estandarizar y mejorar el proceso manejado actualmente.
El personal de la UTIC encargada de la parte de desarrollo, podrá tener
acceso a un modelo guía que le indique los pasos a seguir en un proyecto de
desarrollo, y facilite la comunicación entre los involucrados en el proyecto debido
al lenguaje unificado que maneja.
-5-
1.4.- Objetivos
1.4.1.- Objetivo General
•
Elaborar un estándar de aplicación basado en la norma ISO/IEC
12207 al desarrollo de aplicaciones de software, elaboradas por la
Unidad de Tecnología de la Información UTIC de la Escuela
Politécnica del Ejército ESPE.
1.4.2.- Objetivos Específicos
•
Presentar el marco teórico de las Tecnologías de Información y
Comunicación, las funciones que desempeñan y su importancia.
•
Presentar el marco teórico de la norma ISO/IEC 12207, su propósito,
su mecanismo de implementación y su importancia.
•
Presentar un marco teórico sobre el software, y su proceso de
desarrollo.
•
Conocer la estructura y el proceso que se lleva en la UTIC de la
ESPE, para el desarrollo de software.
•
Determinar los procesos de la norma ISO/IEC 12207 de mayor
importancia y urgencia en la UTIC de la ESPE aplicables al desarrollo
de software.
-6-
1.5.- Alcance o Meta
El alcance del proyecto, está basado en los procesos y tareas que se
consideren prioritarios y aplicables contemplados en la norma ISO/IEC 12207, los
cuales indican las acciones que se debieron tomar, para obtener un desarrollo de
calidad.
Como primera parte, se describió los procesos actuales que se llevan para el
desarrollo de aplicaciones de software en la UTIC de la ESPE, para así poder
determinar falencias y aciertos que tienen estos procesos, en contraste al que
sugiere la norma ISO/IEC 12207.
La presente tesis, se desarrolló en la Escuela Politécnica del Ejército
(ESPE), para lo cual se realizó un análisis del proceso actual de desarrollo de
aplicaciones de software en la UTIC, que será considerado para determinar los
procesos que deben ser aplicados de la norma ISO/IEC 12207.
1.6.- Metodología
1.6.1.- Metodología de Investigación
La metodología seleccionada dentro de este plan estuvo basada en la
Investigación Contrastiva e Investigación Aplicativa.
-7-
La investigación contrastiva, luego de un análisis previo del objeto de
estudio, cubre la necesidad de buscar los errores de las teorías del mismo, con la
finalidad de desecharlas, reajustarlas o incrementar su veracidad. Su objetivo
central está en proveer pruebas en contra a una teoría previamente construida o,
en su defecto, en proveer argumentos a su favor.
La investigación aplicativa, parte del hecho de que, dentro de la secuencia
de trabajo, existen teorías cuya veracidad ha aumentado gracias a un cierto
número de aplicaciones y además, del hecho de que en el mundo de las
necesidades de desarrollo existen requerimientos que pueden ser satisfechos
aprovechando esas teorías. Su objetivo central está en proveer tecnologías o
esquemas de acción derivados de los conocimientos teóricos construidos
anteriormente.
En resumen, la investigación contrastiva, se utilizó en la primera etapa de la
tesis, para establecer las semejanzas y diferencias encontradas entre el proceso
de desarrollo de software que lleva la UTIC de la ESPE, con la de la norma
ISO/IEC 12207; y en la segunda parte del proyecto, se utilizó la investigación
aplicativa, ya que el fin de la tesis es elaborar un estándar de aplicación de la
norma ISO/IEC 12207, al proceso de desarrollo de aplicaciones de software que
se lleva en la UTIC de la ESPE.
-8-
1.7.- Factibilidad
1.7.1.- Factibilidad Técnica
Los desarrolladores contarán con los conocimientos necesarios y suficientes
acerca de: ingeniería de software, estándares, desarrollo de software. Dentro de
la UTIC, existe el personal con los conocimientos necesarios para brindar la
asesoría necesaria para la satisfactoria realización de este proyecto.
•
Información: recopilada de la UTIC de la ESPE, normas y estándares
ISO.
•
Asesoramiento: Del personal, que se encuentra trabajando en el
desarrollo de software en la UTIC, así como del Director y Codirector
de tesis.
1.7.2.- Factibilidad Operativa
Al ser necesario, generar software de calidad en la UTIC de la ESPE, se
elaboró un plan de aplicación, que está basado en la norma ISO/IEC 12207, con
este fin, la Escuela Politécnica del Ejército, brindó el apoyo logístico,
proporcionado por parte del personal que trabaja dentro de la UTIC. Así como
también de la información que se disponga de los procesos que se manejan
actualmente en el desarrollo de aplicaciones de software.
-9-
1.7.3.- Factibilidad Económica
Todos los gastos contemplados en la Tabla 1.1, fueron asumidos por los
estudiantes ejecutores de este proyecto.
Tabla 1.1: (Descripción Factibilidad Económica)
INGRESOS
Aporte
$ 2.970
EGRESOS
Computadores personales
$ 1.800
SERVICIOS
Uso de equipos (energía eléctrica)
$ 100
Uso de internet
$ 200
Movilización
$ 220
OTROS RECURSOS
Material bibliográfico
$ 400
Material de oficina y copias
$ 120
Varios
$ 130
TOTAL
$ 2.970
-10-
CAPÍTULO II
2. MARCO TEÓRICO
La presente tesis, requiere del conocimiento previo de tres grandes temas
que en conjunto aportan para el entendimiento y solución del problema.
2.1.- Tecnologías de la Información y Comunicación (TIC)
2.1.1.- Antecedentes
La información y la comunicación, han sufrido cambios significativos dentro
de la sociedad, que son constatables a simple vista, la unión de los computadores
y las comunicaciones, desencadenaron una revolución a comienzo de los años
noventa, donde internet pasó de ser una herramienta creada con fines científicos,
a una red de fácil acceso y uso; nunca antes se había tenido acceso a tanta
información acumulada, ni tantos soportes diferentes o métodos tan sofisticados
para producir, reproducir y transmitir información;
se han desarrollado
instrumentos que cada vez son más poderoso y rápidos, que permiten la
comunicación en variadas formas, desde un mensaje de texto, hasta una
videoconferencia entre dos personas que se encuentre en diferentes puntos del
planeta.
Las Tecnologías de Información y Comunicación nacen de la convergencia
tecnológica de la electrónica, la informática (Software) y la infraestructura de
-11-
telecomunicaciones representadas, que rompieron los esquemas tradicionales de
comunicación y de acceso a la información
información.
ELECTRÓNICA
TELECOMUNICACIONES
INFORMÁTICA
TIC
Figura 2.1: (Convergencia Tecnologías de Información y Comunicación)
2.1.2.- Definición TIC
Para poder definir a las TIC (Tecnologías de Información y Comunicación),
es importante conocer previamente que la Tecnología, “es
es el conjunto de teorías y
técnicas que permiten el aprovechamiento práctico del conocimiento científico3,
en consecuencia las Tecnologías de la Información
Información y la Comunicación ,
conforman un conjunto de técnicas y elementos que tienen la función de:
procesar, almacenar, sintetizar,
ntetizar, recuperar y presentar la información,
información por medio
de herramientas computacionales e informáticas, brindando así una gran variedad
vari
de formas de comunicación.
Según la Asociación Americana de las Tecnologías de la Información ITAA4
por sus siglas en inglés son “el estudio, el diseño, el desarrollo, el fomento, el
mantenimiento y la administración de la información por medio de sistemas
3
4
Tomado de: http://definicion.de/tecnologia/
ITAA: Information Technology Association of America.
America
-12-
informáticos, esto incluye todos los sistemas informáticos, no solamente la
computadora este es solo un medio más, el más versátil, pero no el único;
también los teléfonos celulares, la televisión, la radio, los periódicos digitales, etc.”
Las Tecnologías de la información y Comunicación, tratan sobre el empleo
de computadores principalmente y software informático para transformar,
almacenar, gestionar, proteger, difundir y localizar los datos necesarios para
cualquier actividad que realice el ser humano.
Los
instrumentos
tecnológicos
como:
internet,
software,
redes
de
comunicación, bases de datos, entre otros, se han transformado en elementos
prioritarios en el desarrollo de la civilización, poseen característica que ayudan a
la comunicación sin fronteras geográficas y el fácil acceso a cualquier tipo de
información.
El uso de las TIC también es dual, ya que pueden servir como medio de
información y de entretenimiento, puede ser utilizado para beneficio o destrucción
de la sociedad, en cualquiera de los dos aspectos, depende de los usuarios que
ofrezcan contenidos de calidad, ya que es la audiencia quien determina y exige el
tipo de información que desea. Por tal motivo, se habla de la implicación de las
tecnologías dentro de la construcción de la sociedad.
-13-
2.1.3.- Características de las TIC
Las TIC tienen como características principales las siguientes:
Transforman la información, contenida en un medio físico a un digital,
almacenando gran cantidad de información en pequeño medios
físicos de almacenamiento.
Crean y dan apertura a nuevas formas de comunicación.
Aportan con métodos y herramientas tecnológicas, que facilitan el
aprendizaje en el campo educativo.
Permiten transmitir información, de manera inmediata a lugares
alejados.
Permiten transmitir información de manera dinámica.
Aportan beneficios económicos a largo plazo, debido a que minimizan
los tiempos de ejecución y mejoran la efectividad del desarrollo de
procesos y tareas.
Facilitan a través del software, la implantación de modelos de gestión
dentro de una organización.
Permiten la planificación de los recursos de una empresa, mediante la
implementación de sistemas ERP (Enterprise Resource Planning)5.
Permiten la automatización y seguimiento de procesos que
involucran documentos, información y tareas en las cuales intervienen diferentes
participantes, dentro de una empresa mediante software Workflow6.
5
ERP: Software de información centralizado orientado a registrar e integrar la mayoría de los
procesos de negocio.
6
Workflow: Permite la implementación, automatización y seguimiento de procesos administrativos
en donde se involucren documentos, información o tareas que pasen de un participante a otro(s).
-14-
2.1.4.- Ventajas y Desventajas de las TIC
Las ventajas y desventajas de las TIC, se pueden presentar desde diferentes
perspectivas, dependiendo del campo en el cual se estén aplicando, entre las
cuales podemos mencionar las siguientes:
2.1.4.1.- Ventajas
Integran la administración de la empresa, finanzas, talento humano,
etc.
Facilitan el análisis de la cadena de valor, ya sea de un producto o un
servicio con el fin de identificar que actividades no están generando
valor, para eliminarlas y disminuir costos.
Integran nuevas tecnologías y herramientas de vanguardia como el
software, aprovechando herramientas como Internet.
Proporcionan ventajas competitivas, si es que la competencia no
cuenta con el uso de las TIC, o si su departamento es menos
eficiente.
Permiten que la información que maneje una empresa, esté
disponible para todos los usuarios en tiempo real.
Permiten trabajar con un mismo sistema en puntos distantes.
Permiten el aprendizaje interactivo y la educación a distancia.
-15-
2.1.4.2.- Desventajas
Incrementar el riesgo a la pérdida de información.
Generan pérdidas de puestos de trabajo, en ciertos casos.
Exponen la información a robo de fuentes externas.
2.1.5.- Objetivos de las TIC en las Instituciones
Las Tecnologías de Información y Comunicación juegan un papel
estratégico muy importante en el crecimiento, madurez y evolución de una
institución, las actuales y futuras necesidades que se presentan, están basadas
en un gran porcentaje en las TIC, debido a que todas las actividades que se
manejan dentro de una institución, van apoyadas de la mano de estas.
Su evolución ha sido significativa dentro de una organización, al punto de
convertirse en un departamento que interrelaciona a todos los integrantes de una
institución que además facilita y genera información a través de programas
informáticos; información que es de vital importancia para el desempeño de la
institución.
Como objetivos de las Tecnologías de la Información que se plantean
dentro de una institución, se pueden mencionar las siguientes tareas y servicios
que brinda.
-16-
2.1.6.- Tareas del Departamento de TIC dentro de una Institución
Dentro de un departamento de Tecnologías de Información, se ejecutan
diversas tareas, entre las más importantes se pueden mencionar:
Monitorear, analizar la prospectiva tecnológica.
Planificar del desarrollo tecnológico.
Diseñar de estrategias de desarrollo tecnológico.
Identificar, evaluar y seleccionar las tecnologías.
Adaptar e innovar tecnología.
Negociar, adquirir y contratar tecnologías.
Comercializar tecnologías de la empresa.
Financiar el desarrollo tecnológico.
2.1.7.- Servicios del Departamento de TIC dentro de una Institución
Los departamentos de Tecnologías de la Información, dentro de una
institución proporcionan diferentes servicios a la empresa, entre los principales se
encuentran los siguientes:
Administración de aplicativos.
Desarrollo de software a la medida.
Adquisición de hardware y software para la institución.
Soporte y Mantenimiento del hardware y software de la institución.
Creación, manejo y administración de Base de Datos.
-17-
Administración de los servicios y redes de comunicación.
Desarrollo y administración de proyectos de Tecnologías de
Información
APLICATIVOS
(Administración,
Desarrollo,
Adquisición)
REDES DE
COMUNICACIÓN
(Adminsitración)
PROYECTOS DE TI
(Gestión,
Administraión,
Desarrollo)
DEPARTAMENTO
TIC
SOPORTE Y
MANTENIMIENTO
(Hardware y
Software)
BASE DE DATOS
(Creación, Manejo,
Administración)
Figura
ura 2.2: (Servicios de las TIC dentro de una Institución)
En la actualidad se está viviendo la “Sociedad de la Información” en la que
todo está basado en generar, difundir y acceder a información a través de
diferentes dispositivos que son manejados por programas informáticos.
El conocer e implementar las tecnologías de información y comunicación,
permiten facilitar tareas que antes se tornaban muy difíciles y lentas como la
correspondencia, facilitada ahora por el correo electrónico, además de tener
acceso a gran información de manera fácil y entablar comunicación con diversos
puntos del planeta, es ahí donde radica su importancia.
-18-
2.2.- Software
2.2.1.- Antecedentes
En el comienzo de la era de las computadoras, el software se consideraba
como un agregado del computador, los desarrollos de software que se realizaban,
no contaban con una metodología definida y el software era manejado por una
sola persona u organización, la misma que se encargaba de la administración y
corrección de errores, si se presentaban dentro de la aplicación.
A mediados de la década de los sesenta hasta finales de los setenta,
aparecen los programas multiusuario y ya se comienza a ver al software no como
un agregado del computador, sino como un producto, se cambio drásticamente la
forma de desarrollarlo, implementándose técnicas como la conocida estructura de
programación orientada a objetos, que ayuda a la creación de software de mejor
calidad y con un tiempo de vida más extenso, software que interactúan por medio
de redes de área local y área extendida con sistemas más grandes, aplicaciones
distribuidas, haciendo más importante y globalizada la utilización del software.
El software se ha convertido en una herramienta indispensable, por ejemplo
en el campo comercial, es importante para la toma de decisiones; en el campo
científico, es un apoyo fundamental en la realización de investigaciones y en otra
gran diversidad de campos como: telecomunicaciones, medicina, industria,
ingeniería, en fin; en el mundo actual a tomado una gran magnitud en el desarrollo
social y tecnológico que su uso es casi obligatorio.
-19-
2.2.2.- Definición de Software
Existen muchas definiciones de software, entre las cuales podemos
mencionar algunas de las que más se apegan a su significado:
“Se conoce como al equipamiento lógico o soporte lógico de una
computadora digital, y comprende el conjunto de los componentes lógicos
necesarios para hacer posible la realización de una tarea específica, en
contraposición a los componentes físicos del sistema (hardware).”7
“El software es un conjunto de programas elaborados por el hombre, que
controlan la actuación del computador, haciendo que éste siga en sus acciones
una serie de esquemas lógicos predeterminados.”8
En conclusión se puede definir al software como: Conjunto de componentes
o programas lógicos elaborados por el hombre, creados para realizar tareas, que
son presentadas a través de un computador; es el vínculo entre el hardware y el
hombre.
2.2.3.- Producto Software
El software como producto final, es visto desde dos puntos de vista, para el
desarrollador o ingeniero de software, son los datos, programas, documentos que
configuran todo el software, y desde el punto de vista de los usuarios, es la
7
Tomado de: http://es.wikipedia.org/wiki/Software
Tomado de: http://www.bloginformatico.com/concepto-y-tipos-de-software.php
8
-20-
información que se obtiene mediante la interacción con el software que facilita sus
tareas.
2.2.4.- Clasificación del Software
El software es aplicable en cualquier campo en el cual previamente se
hayan definido los requisitos necesarios para crearlo, por lo tanto su clasificación
está determinada en base a la estructura, naturaleza y la forma de entrada y
salida de información que requiere:
Software de Sistemas.
Software de Tiempo Real.
Software de Gestión.
Software de Ingeniería y Científico.
Software Empotrado.
Software de Computadores Personales.
Software basado en Web.
Software de Inteligencia Artificial.
-21-
2.2.4.1.- Software de Sistemas
Este tipo de software, está encargado de administrar los recursos que posee
un computador, permitiendo el control e interacción con el sistema operativo y
sirve como soporte para el funcionamiento de diferentes programas. Ejemplo:
Sistemas Operativos.
Entorno de escritorio.
BIOS.
Controlador de Dispositivos.
2.2.4.2.- Software de Tiempo Real
Este tipo de software, que coordina, analiza, y controla sucesos del mundo
real conforme se vayan presentando. Ejemplo:
Software que permite Optimización de consumo de gasolina en
automóviles.
Software que permite Interactuar con juegos.
-22-
2.2.4.3.- Software de Gestión
Este tipo de software se encarga de reestructurar datos de tipo comercial
existentes en diversas bases de datos, para facilitar operaciones comerciales y de
toma de decisiones.
Sistemas de base de datos orientados a un objeto.
Programas de creación de bases de datos relacionales.
Programas de creación de bases de datos distribuidas.
2.2.4.4.- Software de Ingeniería y Científico
Este tipo de software tiene como característica principal el uso de
algoritmos de manejo numérico, ahora las nuevas aplicaciones van más allá,
llegando al diseño asistido por computadora, simulación de sistemas y otras
aplicaciones iterativas.
Programas para fabricación automática.
Programas de análisis de presión de automotores.
-23-
2.2.4.5.- Software Empotrado
Este tipo de software reside en memoria solo de lectura, utilizado para
controlar los sistemas de mercados industriales y de consumo, sus funciones son
limitadas.
Programa control del tablero de un automóvil.
Programa que controla el botón de un horno microondas.
2.2.4.6.- Software de Computadores Personales
Este tipo de software se refiere a programas que se pueden encontrar en
un ordenador personal para manejo del usuario.
Hojas de cálculo.
Procesadores de Texto.
Multimedia.
-24-
2.2.4.7.- Software Basado en Web
Este tipo de software maneja instrucciones de ejecución como la HTML,
java y datos de diversos formatos, su acceso es por medio de la red a través de
un modem.
Servicio Web de los bancos.
Correo electrónico.
2.2.5.- Proceso de Creación de Software
El proceso de creación de software, es el conjunto de pasos lógicos y
secuenciales con el fin de lograr un objetivo, el producto software; lo realizan los
ingenieros de software y sus gestores que adaptan el proceso a sus necesidades
y lo siguen.
La duración de un proceso de desarrollo es indistinta, puede variar
dependiendo de diversos factores como son:
Tamaño del aplicativo.
Grado de dificultad.
Especificación de los Requisitos, etc.
Todo proyecto de desarrollo de software debe involucrar una buena
planificación y gestión de recursos tanto humanos como tecnológicos, para
-25-
obtener un producto final; como se menciono anteriormente, desde el punto de
vista del ingeniero de software, serán todos los documentos, datos y programas
que son consecuencia de las actividades de ingeniería de software definidas por
el proceso.
El proceso que se maneje para el desarrollo de software, dependerá del
tipo de software que se vaya a construir, un proceso puede ser el apropiado para
un sistema contable, y para la creación de un sitio web, puede ser otro proceso
totalmente diferente el apropiado.
Para crear software de calidad, es necesario implementar la ingeniería de
software, la cual se entiende como el análisis, diseño, construcción, verificación y
gestión del software, de la cual se deben cuestionar y responder las siguientes
preguntas:
¿Cuál es el problema a resolver?
¿Cuáles son las características del software que se utilizan para
resolver el problema?
¿Qué realizará el software?
¿Cómo se construirá el software?
¿Qué enfoque se va a utilizar para contemplar los errores que se
cometan en el diseño y en la construcción del software?
¿Cómo
se
apoyará
el
software
cuando
usuarios
correcciones, adaptaciones y mejoras de la entidad?
-26-
soliciten
2.2.6.- Proceso, Métodos y Herramientas
Para el desarrollo de un software de calidad, es importante la aplicación de
la ingeniería de software, debido a que proporciona una estructura multicapas que
está enfocada hacia la calidad del producto final y se mencionan a continuación.
2.2.6.1.- Proceso
Es el que ayuda a establecer un marco de trabajo, para un grupo de áreas
claves, las cuales son la base del control de gestión de proyectos de software y
son los que establecen el contexto en el que se aplican los métodos técnicos, se
obtienen productos del trabajo (modelos, métodos, documentación, datos).
2.2.6.2.- Métodos
Son los que indican cómo construir técnicamente el software, estos
abarcan una gran variedad de tareas como son la especificación de requisitos,
diseño del software, pruebas. Los métodos de la ingeniería del software dependen
de un conjunto de principios básicos que rigen cada área de la tecnología e
incluyen actividades de modelado y otras técnicas descriptivas.
-27-
2.2.6.3.- Herramientas
Son aquellas que proporcionan una guía automática y semiautomática para
el proceso y para los métodos.
2.2.7.- Fases Principales del Desarrollo de Software
El
desarrollo
de
aplicativos
mediante
la
ingeniería
de
software,
independientemente de la complejidad, dimensión y del campo en el que se vaya
a aplicar, se puede dividir en tres grandes faces:
Fase de Definición.
Fase de Desarrollo.
Fase de Mantenimiento.
2.2.7.1.- Fase de Definición
“Qué se va desarrollar”, aquí se definen los requerimientos funcionales y no
funcionales (complementarios) del software, esta fase es muy importante porque
aquí el desarrollador debe tratar de identificar cuáles van a ser las funciones que
desempeñe el software, que información requiere procesar, como va a
comportarse el sistema, como debe ser el interfaz que va a manejar el usuario,
todas las validaciones que se deben realizar, en fin establecer los requisitos
claves, existe una rama de la ingeniera de software que se dedica exclusivamente
-28-
a los requerimientos del software denominada ingeniería de requisitos, la cual
permite:
Comprender el problema.
Facilitar la obtención de las necesidades del cliente/usuario.
Validar con el cliente/usuario.
Garantizar las especificaciones de requisitos.
Figura 2.3: (Tareas para Captura y Análisis de Requisitos)
2.2.7.2.- Fase de Desarrollo
“Cómo se va a desarrollar”, es la implementación de los requisitos
obtenidos en la fase anterior, aquí se define que arquitectura se va a manejar
para implementar las funciones que requiere el software, la estructuración de los
datos, generación de código que dependiendo de la forma de trabajo y lenguaje
elegido puede adoptar varios estados como: código fuente (programador), código
-29-
objeto (código fuente compilado), código ejecutable (resultado de enlazar código
objeto con rutinas y bibliotecas necesarias) y las pruebas que se van a
implementar.
Se pueden realizar varias pruebas en el software como por ejemplo:
Pruebas Unitarias
Este tipo de pruebas se realiza en secciones del software: procedimientos,
funciones, módulos, son utilizadas para asegurar el funcionamiento por partes del
código.
Figura 2.4 (Ejemplo Resultado Pruebas Unitarias JUnit)
-30-
Pruebas de Integración
Este tipo de pruebas se realizan luego de que se concluyó con las pruebas
unitarias con resultados exitosos, lo que hacen es comprobar que todo el sistema
y subsistemas en conjunto funcionan correctamente.
Existen diversas metodologías para integrar el software, entre las más
utilizadas esta:
Integración TOP-DOWN
El sistema se construye por fases empezando por los componentes que
llaman a otros componentes.
1
2
4
3
5
6
7
Módulo reemplazado por un stub
Stub
Figura 2.5: (Metodología de Integración TOP_DOWN)
A medida que se integran los módulos, se realizan pruebas de regresión
para capturar y corregir nuevos errores.
-31-
Ventajas
La lógica de control del sistema se prueba relativamente pronto.
Los grandes problemas conceptuales de diseño se identifican
rápidamente.
Se puede obtener un sistema que funcione parcialmente en un
momento temprano del proyecto.
La codificación puede comenzar antes de que los detalles de diseño a
bajo nivel estén completos.
Inconvenientes
Los problemas de interfaces a bajo nivel se detectan tarde.
Gran número de stubs9 a mantener.
No se puede aplicar en diseños orientados a objetos y sistemas
interactivos.
Pruebas de Regresión
Son cualquier tipo de pruebas, que tratan de descubrir las causas de
errores nuevos, carencias de funcionalidad o cambios funcionales con
respecto al funcionamiento que se espera del software.
9
Stub: En el contexto del testeo del software, un trozo de código usado como sustituto de alguna
otra funcionalidad. Un stub puede simular el comportamiento de código existente (tal como un
procedimiento en una máquina remota) o ser el sustituto temporal para un código aún no
desarrollado.
-32-
2.2.7.3.- Fase de Mantenimiento
En esta fase se maneja la corrección de errores que se detecten en el
software, implementaciones que se vayan realizando debido a los nuevos
requerimientos del cliente, y cambios en el software debido a las modificaciones
que se presenten en su entorno, en esta fase se presentan cuatro tipos de
cambios:
Corrección
Se realiza para corregir errores que el cliente encuentre en el software, es
muy probable que se presenten.
Adaptación
Debido a cambios que se puedan presentar en el entorno exterior del
software, será necesario hacer adaptaciones al mismo, se pueden presentar en:
cambios de sistema operativo, equipo, reglas de negocio que van cambiando en
la empresa, entre otros.
Mejora
Cuando el cliente a medida que utiliza el software, va descubriendo
funciones extras que van a ser de su beneficio; este mantenimiento vas mas allá
de los requerimientos iniciales.
-33-
Prevención
Este mantenimiento consiste en realizar cambios con la finalidad de que el
software se pueda adaptar, corregir y realizar mejoras de manera más fácil,
debido a que el software se deteriora por los cambios que se generan en su
entorno.
Entre las actividades típicas de esta categoría se incluyen:
Seguimiento y control del proyecto de software.
Revisiones técnicas formales.
Garantía de calidad del software.
Gestión de configuración del software.
Preparación y producción de documentos.
Gestión de reutilización.
Mediciones.
Gestión de riesgos.
Estas actividades se aplican durante todo el Ciclo de Vida del Software 2.2.8.
2.2.8.- Ciclo de Vida de Software
El ciclo de vida del software, es un término que define todo el proceso del
desarrollo de software, desde su etapa de inicio hasta su etapa de finalización, en
estas etapas se describen todas las actividades que se deben realizar cuando se
-34-
está creando software, las mismas que tratan de seguir un orden secuencial y
coherente entre cada etapa.
2.2.8.1.- Modelos del Ciclo de Vida del Software
Los modelos de ciclo de vida de software, tienen como finalidad facilitar a
los ingenieros de software, la organización de las actividades que se deben
ejecutar en el desarrollo de un proyecto, permitiendo minimizar tiempos, costos,
establecer plazos de entrega, etc., que determinan la calidad del producto final
que se entrega al cliente, entre algunos de los modelos más importantes podemos
mencionar:
2.2.8.1.1.- Modelo Lineal
Este modelo de ciclo de vida del software, se realiza de manera lineal,
porque cada etapa se realiza una sola vez y su ordenamiento está basado en la
espera de la culminación de una etapa para comenzar con la siguiente.
Es conocido también como modelo lineal secuencial, modelo clásico o
modelo tradicional, es muy difícil de implantar de forma pura debido a su
exigencia, puesto que no hay como retroceder entre una fase y otra, lo que
implica que cada fase debe estar sin errores, algo que es muy difícil que se
cumpla en un desarrollo de software, este modelo puede ser aplicable en
desarrollos muy cortos y de baja complejidad.
-35-
ANÁLISIS
DISEÑO
IMPLEMENTACIÓN
INTEGRACIÓN Y PRUEBAS
OPERACIPON Y
MANTENIMIENTO
Figura 2.6: (Representación Modelo Lineal)
2.2.8.1.2.- Modelo Cascada
Es
s una variación que se utiliza en el modelo lineal, que consiste en la
retroalimentación de etapas, por ejemplo, si se pasa de la fase de definición de
requerimientos al análisis de diseño de software, puede haber algunas
modificaciones posteriores en las especificaciones, para conllevar estos cambios,
se realiza una retroalimentación entre las fases para poder
poder continuar con el
modelo.
ANÁLISIS
DISEÑO
IMPLEMENTACIÓN
INTEGRACIÓN Y PRUEBAS
OPERACIPON Y
MANTENIMIENTO
Figura 2.6:
2.6 (Representación Modelo Cascada)
-36-
2.2.8.1.3.- Modelo Evolutivo
El modelo de ciclo de vida evolutivo, acepta que los requerimientos pueden
cambiar en cualquier momento durante el desarrollo, en la práctica, es muy difícil
que se puedan entregar todos los requerimientos al comienzo del desarrollo, en
este modelo se realiza la iteración de los ciclos: requisitos, desarrollo, evaluación.
Es un modelo muy útil, cuando no se conoce los requerimientos al inicio de
un proyecto, no están completos o se desconoce de la mayoría ellos.
Figura 2.8: (Representación Modelo Evolutivo)
2.2.8.1.4.- Modelo Incremental
El modelo de ciclo de vida incremental, está basado en la construcción en
incrementos, que se retroalimentan con los anteriores para ir mejorando y
ampliando el desarrollo, mientras se realiza un incremento, se puede empezar
-37-
otro en cualquier momento,
momento el modelo sugiere un enfoque incremental, como
forma para reducir la repetición del trabajo y así retrasar la toma de decisiones en
los requerimientos, hasta adquirir experiencia con el sistema.
Por lo general se construye un incremento sobre otro que ya fue terminado,
a medida que se va avanzando se obtiene un producto software con mayores y
mejoradas funcionalidades, hasta el cumplimiento de la totalidad del proyecto.
1 INCREMENTO
• Analisis - Diseño Implementación 2 INCREMENTO
Pruebas
• Analisis - Diseño Implementación - Pruebas
3 INCREMENTO
• Analisis - Diseño Implementación - Pruebas
4 INCREMENTO
• Analisis - Diseño Implementación - Pruebas
Tiempo de Calendario
2.9 (Representación Modelo Incremental)
Figura 2.9:
2.2.8.1.5.- Modelo Espiral
El modelo de ciclo de vida en Espiral, consiste en una serie de ciclos que
se repiten, es decir que en cada fase de este modelo van a existir los mismos
ciclos, con la finalidad de obtener un software, que va creciendo hasta obtener el
final en el último ciclo
iclo del proceso, en esta parte tiene similitud al modelo
-38-
incremental. Se divide en regiones de tarea, que son el número de actividades del
marco de trabajo.
Todos los circuitos, representan puntos de inicio de los proyectos que están
relacionados, por ejemplo el proyecto de desarrollo de conceptos comienza en el
origen de la espiral y culmina en la última tarea del circuito marcada de color
verde como muestra la Figura 2.10, a medida que el ciclo se cumple, se sigue
obteniendo prototipos del desarrollo, que van ganando la satisfacción del cliente o
usuario, es muy útil para el desarrollo de sistemas operativos complejos.
Figura 2.10: (Representación Modelo Espiral)
La gran demanda y utilización del software, la diversidad de campos donde
tiene aplicación, la importancia de la información que maneja y genera, la
-39-
complejidad de las operaciones que puede realizar, han llevado a crear diversas
formas de desarrollarlo, con la finalidad de mejorar el producto, para satisfacer las
necesidades para las cuales fue creado.
2.3.- Norma ISO/IEC 12207
2.3.1.- Introducción
La Norma ISO/IEC 12207, fue la primera norma internacional que
proporcionó un amplio conjunto de procesos de ciclo de vida del software, el cual
forma parte de un sistema mayor, se realizó su primera publicación el 1 de agosto
de 1995, la misma que fue precedido en noviembre del 2002 por la norma
ISO/15288 que trata los procesos del ciclo de vida de un sistema.
Según esta norma, el software y sus procesos de diseño, no deben estar
desvinculados de los sistemas, por el contrario deben ser tomados como una
parte integral de los procesos de diseño de sistemas, la norma puede ser
utilizada:
•
Por una organización: para ayudar a establecer un entorno de
trabajo.
•
Por un proyecto: para ayudar a seleccionar una infraestructura y
emplear todos los elementos que comprenden un conjunto de ciclo
de vida establecido.
-40-
•
Por un comprador o proveedor: para ayudar a desarrollar un acuerdo
sobre los procesos y actividades que se van a manejar.
•
Por las organizaciones y asesores: para realizar evaluaciones que
puedan servir de apoyo para mejorar los procesos de la
organización.
2.3.2.- Definiciones Importantes
Antes de entrar en materia de la norma, es necesario conocer las
definiciones de términos que facilitaran el entendimiento de la misma.
2.3.2.1.- Estándar
Un estándar es un modelo o conjunto de reglas y procedimientos
documentados que se siguen con la finalidad de cumplir un objetivo.
2.3.2.2.- ISO
Son las siglas de (International Organization for Standardization), proviene
del griego (isos), que significa igual, la Organización Internacional de
Estandarización, es un organismo que promueve el desarrollo de normas
internacionales de comercio y comunicación, para todas las ramas de la industria
con excepción de la electrónica, su principal objetivo es el de estandarizar
productos y seguridad para organizaciones o empresas a nivel internacional.
-41-
Todos los países que son miembros de esta organización, están
representados por sus respectivas instituciones de normalización, que se
comprometen a respetar las reglas que son establecidas por ISO, que son
relativas al conjunto de normas nacionales, estas normas son voluntarias y su
sede principal se encuentra en Ginebra.
2.3.2.3.- IEC
La Comisión Electrónica Internacional IEC (International Electronic
Comission), es una organización que se encarga de la normalización en el campo
eléctrico, electrónico y en todas las tecnologías que se encuentren relacionadas,
existen numerosas normas que se elaboran conjuntamente con la ISO conocidas
como normas ISO/IEC, como es el caso de la norma ISO/IEC 12207.
2.3.3.- Norma ISO/IEC 12207:2008
La norma ISO/IEC 12207:2008 la cual será tomada como referencia para
elaborar el estándar de aplicación de desarrollo de software, implanta un marco
común para los procesos de ciclo de vida de software, estableciendo dentro de
estos procesos, terminologías bien definidas que hacen referencia a la industria
del software.
Está conformada por procesos, actividades y tareas que se deben aplicar
durante la adquisición, suministros, desarrollo, operación, mantenimiento y
eliminación de productos o servicios de software.
-42-
Esta norma se emplea para definir, controlar y mejorar los procesos del
ciclo de vida de software, su aplicación se puede realizar sola o en conjunto con
otras normas, dependiendo de las necesidades existentes.
2.3.3.1.- Propósito
El objetivo de la norma ISO/IEC 12207, es proporcionar un conjunto de
procesos
bien
definidos,
que
permitan
facilitar
la
comunicación
entre
compradores, proveedores y demás inmersos en el ciclo de vida del software.
Está escrita, encaminada a los adquirientes de sistemas, productos de
software y servicios, proveedores, desarrolladores, operadores, gerentes,
directores de control de calidad y usuarios.
Está propuesta, para ser aplicada en una situación en la cual participan dos
partes, donde ambas partes pertenecen a la misma organización, dicha situación
puede variar desde un simple acuerdo informal, hasta un contrato que este
jurídicamente establecido, también puede ser establecida en una única parte a
través de la auto imposición establecida de los procesos.
2.3.3.2.- Limitaciones
No detalla el ciclo de vida de los procesos, en términos de métodos o
procedimientos necesarios para cumplir con los requisitos y los resultados de un
proceso.
-43-
No posee documentación detallada en términos de nombre, formato,
contenido explícito y medios de grabación, puede requerir de la elaboración de
documentos adicionales de características semejantes a la norma, sin embargo,
esto no implica que la documentación sea desarrollada por separada o en
conjunto, de alguna manera, esta decisión queda a criterio del usuario de la
norma; la norma ISO/IEC 15289 aborda contenido de elementos de información
para el proceso de ciclo de vida (documentación).
2.3.3.3.- Conformidad
2.3.3.3.1.- Uso Correcto
La aplicación de esta norma en general, consiste en seleccionar un
conjunto de procesos y adecuarlos para determinada organización o proyecto, en
vista de que no en toda organización o proyecto será necesaria la inclusión de
todos los procesos establecidos en la norma.
Existen dos formas en las cuales se puede afirmar que una implementación
se ajusta a esta norma. Cualquier declaración de conformidad puede ser citada en
una sola de las dos formas que se muestran a continuación:
2.3.3.3.2.- Conformidad Completa
Se denomina una conformidad completa, cuando se demuestra que todos
los procesos establecidos por la norma, han sido satisfechos usando los
resultados como evidencia de esto.
-44-
2.3.3.3.3.- Conformidad a la Medida
Se denomina conformidad a la medida, cuando esta norma utiliza como
base un conjunto de procesos específicos, y estos han sido satisfechos usando
los resultados como evidencia de esto.
2.3.3.4.- Recomendaciones de la Norma ISO/EC 12207:2008 para
los Procesos del Ciclo de Vida del Software
La norma recomienda un marco común para los procesos de ciclo de vida
del software, que nace de una idea o una necesidad, que puede ser satisfecha en
parte o en su totalidad por el software y que culmina con la jubilación del mismo.
La creación de un sistema o de un software, puede estar conformado por
diversos modelos de ciclo de vida, como los mencionados en el numeral 2.2.8.1
del presente capítulo, los cuales constan de etapas que representan la vida del
software, desde su concepción, hasta la culminación de su uso o para representar
el estado actual de un proyecto de desarrollo.
Esta norma, no requiere la implementación de un modelo de ciclo de vida
de software, pero recomienda que para cada proyecto se defina el modelo de
ciclo de vida apropiado, de manera preferencial un modelo que haya sido
establecido por la organización para manejar diversos proyectos.
-45-
Esta norma, no requiere de un conjunto de etapas determinadas, por
ejemplo en una fase de ciclo de un sistema interviene: concepto, desarrollo,
producción, utilización, apoyo y jubilación, o en el caso de ciclo de vida de un
producto software: desarrollo, operación y mantenimiento.
2.3.3.5.- Organización de la Norma ISO/IEC 12207:2008
2.3.3.5.1.- Categorías del Proceso de Ciclo de Vida del Software
La ISO/IEC 12207:2008, agrupa las actividades que se pueden realizar
durante el proceso de ciclo de vida, de un sistema de software en siete (7) etapas,
cada uno de estos grupos, se describen en función del propósito y resultados que
se desean obtener, se enumeran las actividades y tareas que se deben seguir
para el cumplimiento de dichos resultados.
Procesos de Acuerdo.
Procesos Organizativos de Habilitación del Proyecto.
Procesos de Proyecto.
Procesos Técnicos.
Procesos de Implementación del Software.
Procesos de Soporte de Software.
Procesos de Reutilización del Software10
10
Tomado de: Norma ISO/IEC 12207:2008
-46-
Figura 2.11: (Ciclo de Vida de los Procesos de Software de 12207)
-47-
-48-
Figura 2.12: (Selección de Elemento(s) de la Norma que se ajustan a necesidades de la Organización)
2.3.3.5.2.- Estructura de los Procesos del Ciclo de Vida del
Software según la Norma ISO/IEC 12207
Los procesos de la Norma ISO/IEC 12207 están distribuidos de la siguiente
manera:
Procesos del Contexto del sistema:
Procesos de Acuerdo.
Procesos de Proyecto.
Procesos Técnicos.
Procesos Específicos del Software:
SW. Procesos de Implementación.
SW. Procesos de Apoyo.
Procesos de Reutilización del Software:
Proceso de Ingeniería del Dominio.
Proceso de Gestión de Reúso de Activos.
Proceso de Gestión de Reúso del Programa.
-49-
La estructura de los procesos se detalla con más precisión en la Figura
2.13.
Figura 2.13: (Estructura de los Procesos de ISO/IEC 12207:2008)
La norma ISO/IEC 12207 define cuarenta y tres procesos que pueden
aplicarse durante la adquisición, suministro, desarrollo, operación, mantenimiento
y evolución de productos software.
-50-
Para el caso de la presente tesis, el uso de la norma está enfocada a la
etapa de desarrollo de software, para lo cual se evaluó los procesos que pueden
ser implementos en la UTIC de la ESPE y el estándar de aplicación resultante
quedó como base de una estructura, que puede ser adaptada a una estructura de
nivel superior, que abarque todas las etapas del proceso de ciclo de vida del
software dado por norma ISO/IEC 12207 y otras relacionadas a esta.
-51-
CAPÍTULO III
3. ANÁLISIS UTIC ESPE Y PROCESO DE DESARROLLO DE
SOFTWARE
El presente capítulo, pretende mostrar la estructura de la UTIC (Unidad de
Tecnologías de la Información) de la ESPE, las funciones que desempeña dentro
de la institución y específicamente cómo manejan el proceso de desarrollo de
software; la información acerca de la UTIC, se tomó del sitio de Gestión de
Tecnología de la Información y Comunicaciones11, y de la ayuda del personal de
la unidad.
3.1.- Funciones de la UTIC de la ESPE
La UTIC, está encargada de gestionar todo lo relacionado a las
Tecnologías de la Información que se manejan dentro de la ESPE, su estructura
se descompone en macro procesos, procesos y subprocesos, que engloban todas
las actividades que se realizan dentro de la unidad.
11
Tomado de: http://sgc.espe.edu.ec/Paginas/mapa.html
-52-
3.2.- Gestión del Departamento de Tecnología de la Información y
Comunicaciones (UTIC-ESPE)
La gestión que se realiza dentro del departamento, está distribuida en los
cinco procesos que se mencionan a continuación; estos, reflejan todas las
actividades que se despeñan en la UTIC:
GT.1 Gestión Estratégica de Tecnologías de Información.
GT.2 Gestión y Soporte Técnico.
GT.3 Administración de Redes, Comunicaciones y Servicio.
GT.4 Desarrollo, Implantación y Mantenimiento de Aplicativos.
GT.5 Administración de Aplicativos y Base de Datos.
3.2.1.- GT.1 Gestión Estratégica de Tecnologías de Información
El objetivo de este proceso es el de controlar y ejecutar todos los proyectos
relacionados con tecnologías de información y comunicación de la ESPE, y del
plan de contingencia, optimizando recursos en base a las exigencias tecnológicas
y dando prioridad a las necesidades de la institución.
3.2.2.- GT.2 Gestión y Soporte Técnico
El objetivo de este proceso es el de dar asistencia técnica de primer nivel y
segundo nivel (avanzada), la cual incluye: instalación, actualización de equipos
y/o elementos informáticos, con la finalidad de conservar los equipos informáticos
-53-
funcionando en correcto estado, actualizados y que satisfagan los requerimientos
de los clientes.
3.2.3.- GT.3 Administración de Redes, Comunicaciones y Servicio
El objetivo de este proceso es el de proporcionar a la comunidad politécnica
todos los servicios integrados de red, internet, intranet y comunicaciones de
acuerdo a los avances tecnológicos, elaborando un seguimiento y registrando las
actividades de la red, detección de eventos y ejecutando las acciones que sean
necesarias para garantizar los servicios de comunicación requeridos en la ESPE.
3.2.4.- GT.4 Desarrollo, Implantación y Mantenimiento de Aplicativos
El objetivo de este proceso, inicia con la recepción de un requerimiento o el
identificar la necesidad de un nuevo aplicativo o actualización/modificación de uno
ya existente, y termina con la implantación de un nuevo aplicativo o la
actualización de uno ya existente (una nueva versión).
3.2.5.- GT5 Administración de Aplicativos y Base de Datos
Se encarga de administrar todos los aplicativos (sistemas informáticos) de la
ESPE, para garantizar su disponibilidad y permanente operatividad, además de
garantizar la integridad, confidencialidad y seguridad de la información que se
almacena en la base de datos.
-54-
3.3.- Árbol de Gestión y Tecnología Informática (UTIC-ESPE)
La UTIC se encuentra estructurada jerárquicamente por macroprocesos,
procesos y subprocesos que cumplen funciones determinadas dentro del
departamento como se puede ver en la Figura 3.1.
Figura 3.1: (Estructura UTIC ESPE)
-55-
Todos los servicios que brinda el departamento, dan como resultado la
salida de un producto que es de beneficio para la institución Figura 3.2.
Figura 3.2: (Árbol Productos/Servicios UTIC ESPE)
3.4.- Análisis del GT.4 (Desarrollo, Implantación y Mantenimiento de
Aplicativos)
El GT.4 abarca todo lo referente al manejo de desarrollo de software dentro
de la institución, por lo cual es el área en donde más se centrara el análisis dentro
de la UTIC.
-56-
3.4.1.- Objetivo
Gestionar la implantación o mantenimiento de aplicativos, en base al análisis
de requerimientos institucionales y de usuario.
3.4.2.- Alcance
Este proceso inicia con la recepción de un requerimiento o la identificación
de una necesidad de un nuevo aplicativo o actualización/modificación de uno
existente; y termina con la implantación de un nuevo aplicativo o la actualización
de uno ya existente (nueva versión).
3.4.3.- Responsable
Coordinador de GT4 / Director de UTIC / Especialista de TI.
3.4.4.- Requisitos Legales
Reglamentos de la Escuela Politécnica del Ejército.
Ordenes de Rectorado.
Directivas.
-57-
3.4.5.- Políticas Internas
Implementar aplicativos sobre requerimientos institucionales y del
usuario.
Se deberá mantener un respaldo de todas las versiones de un
aplicativo.
Los aplicativos adquiridos y en general tercerizados deberán incluir la
garantía técnica.
3.4.6.- Subprocesos
El proceso Desarrollo, Implantación y Mantenimiento de Aplicativos está
compuesto por los siguientes subprocesos:
Tabla 3.1: (Subprocesos GT4 y Periodicidad)
NOMBRE
PERIODICIDAD
Análisis y Diseño para el Desarrollo de Aplicativos.
Continua.
Construcción de Aplicativos.
Continua.
Implantación de Aplicativos.
Continua.
NOTA: La periodicidad depende de la recepción y priorización de los
requerimientos.
-58-
3.4.7.- Registros Controlados
Tabla 3.2: (Registros Controlados GT4)
REGISTRO
Memorando (de
contestación).
Requerimientos de
Aplicativos.
Especificaciones
Técnicas (archivo
digital).
Modelos.
Bitácora del
aplicativo.
Manual del
aplicativo.
UBICACIÓN
Unida de
Tecnología y
Telecomunicaci
ones UTIC.
Desarrollo,
Implantación y
Mantenimiento
de
Aplicativos.
Desarrollo,
Implantación y
Mantenimiento
de
Aplicativos.
Desarrollo,
Implantación y
Mantenimiento
de
Aplicativos.
Desarrollo,
Implantación y
Mantenimiento
de
Aplicativos.
Desarrollo,
Implantación y
Mantenimiento
de
Aplicativos.
RECUPERACIÓN
ORDEN
ACCESO
Cronológico
Abierto
Aplicativo,
fecha
Abierto
Aplicativo,
fecha
Abierto
Aplicativo,
fecha
Abierto
Aplicativo,
fecha
Abierto
Aplicativo,
fecha
Abierto
-59-
RETENCIÓN
Tres años.
Tres años, se
enviará a
disposición en
enero de cada
año siempre y
cuando haya sido
finalizado.
Tres años, se
enviará a
disposición en
enero de cada
año siempre y
cuando haya sido
finalizado.
Tres años, se
enviará a
disposición en
enero de cada
año siempre y
cuando haya sido
finalizado.
Indefinida, copia
cada 3 meses a
Archivo General y
cada 6 meses a
ESPE-Idiomas.
Tres años, se
enviará a
disposición en
enero de cada
año siempre y
cuando haya sido
finalizado.
DISPOSICIÓN
Archivo General
Archivo General
Archivo General
Archivo General
Archivo
General/ESPE
IDIOMAS
Archivo general
3.4.8.- Documentos Controlados
No existen.
3.4.9.- Instrucciones Aclaratorias
Análisis y Diseño para Desarrollo de Aplicativos
Instrucción aclaratoria Figura 3.3.
6. Las tendencias actuales para la construcción de aplicativos determinan
que de cualquier fase del desarrollo del aplicativo se puede retomar a cualquiera
de las fases anteriores.
Construcción de Aplicativo
Instrucciones aclaratorias Figura 3.4.
5. Probar versión del aplicativo: pruebas internas y de integración.
6. Almacenar versión en archivo de versiones de aplicativo (respaldos):
en ocasiones se requiere verificar en una determinada fecha como funcionó el
aplicativo o una versión anterior del mismo.
Implantación de Aplicativos
Instrucciones aclaratorias Figura 3.5.
-60-
4. Autorizar Liberación: En ciertos casos el nuevo aplicativo se libera
cuando se requiere una actualización masiva para inicio de otro proceso como por
ejemplo matriculas.
5. Liberar la Versión: Poner en funcionamiento el nuevo aplicativo o nueva
versión en el área real.
3.4.10.- Procesos para el Desarrollo de Software en la UTIC de la
ESPE
En las siguientes figuras, se muestra el orden en el cual se desarrollan los
subprocesos que conforman el GT4, y los pasos a seguir para cumplir con el
objetivo de cada uno de ellos.
NOTA Los flujogramas presentado a continuación, poseen salidas
de proceso (evidencia documental), que hacen referencia a
aclaraciones realizadas en la parte de Instrucciones Aclaratorias
3.4.9.
-61-
3.4.10.1.- Análisis y Diseño para el Desarrollo de Aplicativos
Figura 3.3: (Diagrama Análisis y Diseño para el Desarrollo de Aplicativos)
-62-
3.4.10.2.- Construcción de Aplicativos
Figura 3.4: (Diagrama Construcción de Aplicativos)
-63-
3.4.10.3.- Implantación de Aplicativos
Figura 3.5: (Diagrama Implantación de Aplicativos)
-64-
3.5.- Análisis Crítico de los Procesos más Importantes y Urgentes de la
Norma ISO/IEC 12207:2008, referentes al Desarrollo de Software
En base a una encuesta realizado al personal del GT4 de la UTIC de la
ESPE, se determinó el nivel en el que los encuestados consideran importante y
urgente el implementar dentro de la unidad, los procesos que propone la norma
ISO/IEC 12207:2008 para el desarrollo de software.
Criterio de Evaluación
La evaluación se la realizó determinando el grado de importancia y
urgencia de cada proceso bajo los siguientes parámetros de calificación:
A = Alta
M = Media
B = Baja
Ponderación de cada Respuesta
La ponderación de cada respuesta es la siguiente:
Alta = 7
Media = 5
Baja = 3
-65-
Los resultados se obtienen a partir de una media aritmética (valor
resultante de la suma de todos los valores dividido entre el número de sumandos),
realizada con los valores asignados por los encuestados en cada una de las
preguntas:
Fórmula:
_
x=
a1 + a2 + ...a n
1 n
a
=
∑
1
n i =1
n
Encuestados:
Área de trabajo: UTIC – Tecnologías de Información
Cargo: Técnico especialista 2
Iniciales: TE121
Área de trabajo: UTIC – Tecnologías de Información
Cargo: Especialista Tecnologías de Información 3
Iniciales: TE2
Comentario: Todas las actividades relacionadas al software y que
describen son altamente importantes, la urgencia dependerá del proyecto
específico, que trate en cada actividad.
12
TE: Técnico Especialista UTIC ESPE
-66-
Área de trabajo: UTIC – Tecnologías de Información
Cargo: Técnico Especialista
Iniciales: TE3
Área de trabajo: UTIC – Tecnologías de Información
Cargo: Técnico Especialista TIC
Iniciales: TE4
Tabla 3.3: (Matriz de Importancia Urgencia Procesos ISO/IEC 12207:2008)
PROCESOS DE IMPLEMENTACIÓN
IMPORTANCIA
ENCUESTADOS
URGENCIA
MEDIA
T1
T2
T3
T4
Proceso de Implementación de
Software.
7
7
5
7
Proceso de Análisis de
Requerimientos del Software.
7
7
7
Proceso de Diseño de Arquitectura
del Software.
7
7
Proceso de Diseño Detallado del
Software.
7
Proceso de Construcción del
Software.
X
MEDIA
X
T1
T2
T3
T4
7
7
7
5
7
7
7
7
7
7
7
7
7
7
7
7
7
5
7
7
7
7
7
7
7
7
5
7
7
7
5
7
7
7
7
7
7
7
7
7
Proceso de Integración del
Software.
7
7
7
7
7
7
5
7
7
7
Proceso de Sistema de Calificación
de Pruebas.
7
7
5
7
7
7
3
5
7
7
PROCESOS
-67-
Tabla 3.4: (Matriz de Importancia Urgencia Procesos de Apoyo ISO/IEC
12207:2008)
PROCESOS DE APOYO
IMPORTANCIA
ENCUESTADOS
T1
PROCESOS
Proceso de Gestión de la
7
Documentación del Software.
URGENCIA
MEDIA
T2
T3
T4
7
5
5
X
MEDIA
X
T1
T2
T3
T4
6
7
7
5
5
6
Proceso de Gestión de la
Configuración del Software.
3
3
5
5
4
7
5
5
7
6
Proceso de Aseguramiento de la
calidad del Software.
7
7
5
7
7
7
3
5
5
5
Proceso de Verificación del
Software.
5
7
5
7
6
6
3
5
5
4
Proceso de Validación del
Software.
5
7
7
7
7
7
3
7
5
6
Proceso de Revisión del Software.
5
7
7
5
6
5
3
5
7
5
Proceso de Auditoría del Software.
5
7
5
5
6
5
3
5
7
5
Proceso de Resolución del
Problemas del Software.
5
7
5
5
6
5
5
5
5
5
Los resultados obtenidos de la encuesta, reflejados en las matrices de
Importancia y Urgencia Tabla 3.3, Tabla 3.4 de los procesos de Implementación y
Apoyo de ISO/IEC 12207:2008 respectivamente; demuestran que dichos
procesos son de interés del personal del GT4 de la UTIC, como opción de mejora
en la calidad del software que se desarrolla en la ESPE.
-68-
3.6.- Comparación de los Procesos de la UTIC ESPE vs Procesos Norma
ISO/IEC 12207:2008.
Para realizar la comparación de los dos procesos, se elaboró diagramas de
flujo correspondientes a cada uno de los procesos que maneja la norma,
presentados en las Figuras 3.6, 3.7, 3,8, 3.9, 3.10 y 3.11, y a continuación se
muestra una tabla comparativa, contrastando ambas metodologías, Tabla 3.5.
-69-
Actividades / Tareas
Responsable
Figura 3.6: (Diagrama de Análisis de Requerimientos)
-70-
Actividades / Tareas
Responsable
Figura 3.7: (Diagrama de Proceso de Diseño de Alto Nivel)
-71-
Actividades / Tareas
Responsable
Figura 3.8: (Diagrama de Proceso de Diseño Detallado de Software)
-72-
Actividades / Tareas
Responsable
Figura 3.9: (Diagrama Proceso de Construcción de Software)
-73-
Actividades / Tareas
Responsable
Figura 3.10: (Diagrama Proceso De Integración)
-74-
Actividades / Tareas
Responsable
Figura 3.11: (Diagrama Proceso De Pruebas)
-75-
El análisis comparativo tiene como finalidad el visualizar, las similitudes y
diferencias que existen entre la norma ISO/IEC 12207 y el proceso que se lleva
actualmente en la UTIC, mediante la elaboración de una tabla comparativa que
evidencie la estructura y metodología planteada por cada uno.
En la Tabla 3.5 se hace una comparación entre los procesos que se
realizan en la UTIC e ISO/IEC 12207 y la metodología implementada en cada
caso, para poder determinar las facilidades y dificultades que presenta el método
actual de la UTIC, para implementar el propuesto por ISO/IEC 12207.
.
-76-
ANÁLISIS
REQUERIMIENTOS
PROCESOS
Determinación de
Especificaciones
Técnicas del Aplicativo.
Análisis infraestructura
de telecomunicaciones
GT3 (ADMINISTRACIÓN
DE REDES Y
•
•
TELECOMUNICACIONES).
Realizar levantamiento
de información y
requerimientos de
usuario.
•
-77-
•
Especificaciones Técnicas
(archivo digital): a)
Desarrollo Implantación y
Mantenimiento de
Aplicativos.
•
•
Requerimiento de
aplicativos: a) Desarrollo
Implantación y
Mantenimiento de
Aplicativos.
Documentos Resultantes
Interfaces Externas.
Especificaciones
Funcionales y de
Capacidad.
Identificación de
requerimientos por parte
de los interesados.
Procedimientos
Documento Análisis de
Requerimientos de Software.
Documento Análisis de
Requerimientos de Software.
Documentos de Especificación de
Requerimientos del software.
Documentos Resultantes
PROCESO DE ANÁLISIS DE REQUERIMIENTOS DESOFTWARE
ANÁLISIS Y DISEÑO PARA EL DESARROLLO DE
APLICATIVOS
Procedimientos
NORMA ISO/IEC 12207
UTIC ESPE
Tabla 3.5: (Cuadro Comparativo Desarrollo de Software UTIC-ESPE vs Estándar de Aplicación Norma ISO/IEC 12207)
PROCESOS
Análisis Diseño de
Modelos.
Análisis Diseño de
Interfaces.
Análisis Diseño de
Componentes.
•
•
•
UTIC ESPE
-78-
Especiaciones de de
seguridad de acceso.
Definición de datos y
requerimientos de bases
de datos.
Requerimientos de
instalación y aceptación
del producto software.
Documentación usuario.
Evaluación de
Requerimientos de
software.
•
•
•
•
•
Requerimientos de
seguridad física.
Requerimientos de
seguridad .
Requerimientos de
Validación.
•
•
•
Documento de Evaluación de
Requerimientos de software.
Documento Análisis de
Requerimientos de Software.
Documento Análisis de
Requerimientos de Software.
Documento Análisis de
Requerimientos de Software.
Documento Análisis de
Requerimientos de Software.
Documento Análisis de
Requerimientos de Software.
Documento Análisis de
Requerimientos de Software.
Documento Análisis de
Requerimientos de Software.
NORMA ISO/IEC 12207
DISEÑO DE
SOFTWARE
PROCESOS
Diseñar Modelos y o
actualizar.
Diseño de interfaces de
la aplicación.
Diseño de
componentes de la
aplicación.
•
•
•
-79-
Modelos: a) Desarrollo
Implantación y
Mantenimientos de
Aplicativos.
Documentos Resultantes
Desarrollo y Diseño de
Alto Nivel BBDD.
Actualización
Documentación usuario si
existen cambios.
Definición Requerimientos
Preliminares de Prueba.
Planificación para la
Integración de Software.
•
•
•
Desarrollo Interfaces
Externas de alto nivel.
Desarrollo Estructura Alto
Nivel.
•
•
•
Procedimientos
Documento de Plan de Integración
de Software.
Documento de Plan de Integración
de Software.
Documento Diseño de Alto Nivel de
Software.
Documento Diseño de Alto Nivel de
Software.
Documento Diseño de Alto Nivel de
Software.
Documentos Resultantes
PROCESO DE DISEÑO DE ARQUITECTURA DE SOFTWARE
ANÁLISIS Y DISEÑO PARA EL DESARROLLO DE
APLICATIVOS
Procedimientos
NORMA ISO/IEC 12207
UTIC ESPE
PROCESOS
UTIC ESPE
-80-
Documento de Evaluación de
Arquitectura de software.
Diseño Refinado de
Componente.
Diseño Detallado de
interfaces externas.
Desarrollo Detallado de
DDBB.
Definición de
Requerimientos de
Prueba, planificación de
las pruebas de unidades.
Actualizar
Requerimientos de
Prueba y plan de
Aplicación.
•
•
•
•
Documento de Plan de Integración de
Software.
Documento de Plan de Pruebas de
Unidades.
Documento Diseño Detallado de Alto
Nivel de Software.
Documento Diseño Detallado de Alto
Nivel de Software.
Documento Diseño Detallado de
Software.
PROCESO DE DISEÑO DETALLADO DE ARQUITECTURA DE
SOFTWARE
Evaluación arquitectura de
elemento software,
diseño de interfaz y DDBB.
•
•
NORMA ISO/IEC 12207
CONSTRUCCIÓN DE
SOFTWARE
PROCESOS
Analizar el Diseño del
Aplicativo.
Construir o modificar la
base de datos si
requiere.
Construir o modificar
las interfaces de
aplicativos si requiere.
Construir o modificar
componentes si
requiere.
Generar versión del
Aplicativo.
•
•
•
•
•
Procedimientos
-81-
Bitácora del aplicativo: a)
Desarrollo Implantación y
Mantenimiento de
Documentos Resultantes
CONSTRUCCIÓN DE APLICATIVOS
UTIC ESPE
•
•
•
•
•
•
Documento de Evaluación Diseño
Detallado De Software.
Actualizar
requerimientos de
prueba y plan de
Actualizar
Documentación de
usuario si es necesario.
Probar Unidades de
Software y DDBB.
Plan de pruebas de
Unidad y DDBB.
Desarrollo de Unidades
de Software y de la
DDBB.
Procedimientos
Documento de Plan de Integración de
Software.
Documento de Pruebas de Unidad de
Software y DDBB.
Documento Plan de Pruebas de
Software.
Documentos Resultantes
PROCESO DE CONSTRUCCIÓN DE SOFTWARE
Evaluación Diseño
Detallado de Software.
NORMA ISO/IEC 12207
PROCESOS
Probar Versión del
Aplicativo .
Almacenar Versión el
Archivos de Versiones
del Aplicativo
(respaldos).
•
•
-82-
Bitácora del aplicativo: a)
Desarrollo Implantación y
Mantenimiento de
Aplicativos.
Aplicativos
UTIC ESPE
Documento de Evaluación de
Construcción de Software.
Desarrollo del Plan de
Integración.
Integración de Unidades
de Software y
Componentes del
Software.
Actualización
Documentación de
Usuario.
•
•
Procedimientos
Documento Plan de Integración.
Documento Plan de Integración.
Documentos Resultantes
PROCESO DE INTEGRACIÓN DE SOFTWARE
Evaluación Código
Fuente y Resultado de
las Pruebas.
•
•
integración.
NORMA ISO/IEC 12207
IMPLEMENTACIÓN
DEL SOFTWARE
PROCESOS
Instalar y o Configurar
la Versión del
Aplicativo.
Configuración de BBDD
si requiere.
Realizar pruebas
Finales de la Versión .
Autorizar liberación.
•
•
•
Receptar la Versión del
Aplicativo.
•
•
Procedimientos
-83-
Bitácora del aplicativo: a)
Desarrollo Implantación y
Documentos Resultantes
IMPLANTACIÓN DE APLICATIVOS
UTIC ESPE
•
•
•
•
•
Evaluación del Plan de
Integración de Software.
•
Documento Pruebas de Integración.
Documento Plan de Pruebas de
Software.
Liberación Producto
Preparar Producto
Software Entregable.
Brindar Soporte
Auditoría de ser
requerida.
Actualizar
Documentación Usuario.
Pruebas de Validación
Elemento Software.
Procedimientos
Documento Manual de Usuario.
Documento Plan de Pruebas de
Software.
Documentos Resultantes
PROCESO DE PRUEBAS DEL SOFTWARE
Prepara Requerimientos
de Validación del
Elemento Software.
•
NORMA ISO/IEC 12207
PROCESOS
Liberar y Notificar la
liberación de la versión.
Capacitación del
aplicativo a GT5.
•
•
-84-
Manual del aplicativo: a)
Desarrollo Implantación y
Mantenimiento de
Aplicativos.
Mantenimiento de
Aplicativos.
UTIC ESPE
Software Entregable.
NORMA ISO/IEC 12207
La UTIC de la ESPE, manejan tres grandes procesos para el desarrollo de
software: Análisis y Diseño para el Desarrollo de Aplicativos, Construcción de
Aplicativos, e Implantación de Aplicativos, que abarcan desde el levantamiento de
requerimientos hasta la liberación del software; el plan de aplicación basado en la
norma ISO/IEC 12207, maneja seis procesos para el desarrollo de software:
Análisis de Requerimientos de Software, Diseño de Arquitectura de Software,
Diseño Detallado de Arquitectura de Software, Construcción de Software,
Integración del Software, y Pruebas de Software, que a su vez se complementan
con cuatro procesos de apoyo: Documentación, Gestión de la Configuración,
Resolución de Problemas, Revisión Conjunta, que complementan las tareas
realizadas por los procesos principales, dando como resultados información de
mayor calidad y de mejor entendimiento.
El cuadro comparativo Tabla 3.5, muestra la manera óptima de acoplar el
estándar de aplicación basado en ISO/IEC 12207, en la estructura actual que
maneja la UTIC de la ESPE.
En base al análisis realizado a la UTIC de la ESPE y a la norma ISO/IEC
12207, se ha obtenido los procesos que se implementaron en el Estándar de
Aplicación de Desarrollo de Software, como sugerencia de mejora del proceso,
para beneficio de la unidad.
-85-
CAPÍTULO IV
4. ESTÁNDAR DE APLICACIÓN BASADO EN LA NORMA ISO/IEC
12207, AL PROCESO DE DESARROLLO DE SOFTWARE EN LA
UTIC DE LA ESPE
El presente estándar de aplicación, está dirigido al personal encargado del
desarrollo de aplicaciones de software en la ESPE, el cual se encuentra en la
Unidad de Tecnologías de Información y Comunicaciones de la Institución (UTIC
ESPE).
La norma ISO/IEC 12207:2008, de la cual este estándar de aplicación esta
basado, consta de una lista de términos y definiciones, que proporcionan un
lenguaje unificado entre todos los involucrados en el proceso de desarrollo de
software. Maneja una estructura definida por procesos principales y de apoyo,
cada uno de ellos posee actividades y tareas a seguir para cumplir con el objetivo
de cada proceso.
-86-
4.1.- Términos y Definiciones
Los términos y definiciones descritos a continuación, se utilizarán en todos
los procesos, actividades y tareas que describe ISO/IEC 12207 para el desarrollo
de aplicaciones de software.
Actividad conjunto de tareas de cohesión de un proceso.
Acuerdo reconocimiento mutuo de los términos y condiciones en que se
llevó a cabo una relación de trabajo.
Adquirente interesado que obtiene o adquiere un sistema, producto o
servicio software de un proveedor.
NOTA: el adquiriente podría ser uno de los siguientes: el comprador,
cliente, propietario, adjudicatario.
Adquisición el proceso de obtención de un sistema, producto de software
o servicio de software.
Aseguramiento de la Calidad todas las actividades planificadas y
sistemáticas implementadas dentro del sistema de calidad, y demostradas de ser
necesario, proporcionan la confianza de que una entidad va a cumplir con los
requisitos de calidad.
-87-
NOTA 1 hay propósitos para el aseguramiento de la calidad tanto
internos como externos:
a) Garantía de la calidad interna: dentro de una organización, el
aseguramiento de la calidad proporciona confianza para la
gestión.
b) Garantía de calidad externa: en las situaciones contractuales,
la garantía de calidad proporciona confianza a los clientes u
otros.
NOTA 2: algunos de controles de calidad y acciones de
aseguramiento de calidad están relacionados.
NOTA 3: a menos que los requisitos de calidad reflejen plenamente
las necesidades del usuario, el aseguramiento de la calidad no
proveerá la confianza adecuada.
Auditoría evaluación independiente de productos de software y procesos
realizados por una persona autorizada con el fin de evaluar el cumplimiento de los
requisitos.
Calificación proceso para demostrar si una entidad es capaz de cumplir
con los requisitos especificados.
Capacidad de Prueba medida en que una prueba objetiva y viable puede
ser diseñada para determinar si se cumple un requisito.
-88-
Ciclo de Vida evolución de un sistema, producto, servicio, proyecto u otra
entidad realizada por un humano, desde la concepción hasta su retiro.
Cliente organización o persona que recibe un producto o servicio.
NOTA 1 un cliente puede ser interno o externo a la organización.
NOTA 2 adaptado de la norma ISO 9000: 2005.
NOTA 3 otros términos comúnmente utilizados para el cliente es
adquiriente, comprador, y el adjudicatario.
Cobertura de las Pruebas grado al cual los casos de prueba, prueban los
requisitos para el producto de software o el sistema.
Contrato un acuerdo vinculante entre dos partes, en especial aplicable por
ley, o de un acuerdo interno similar total dentro de una organización.
Declaración de Trabajo documento utilizado por el adquirente como medio
para describir y especificar las tareas que deben realizarse en el marco del
contrato.
-89-
Desarrollador organización que realiza tareas de desarrollo (incluyendo el
análisis de requerimientos, diseño, prueba a través de aceptación) durante un
proceso de ciclo de vida.
NOTA en esta norma internacional, el desarrollador y ejecutor de los
términos son sinónimos.
Ejecutor organización que realiza las tareas de implementación.
NOTA: en esta norma internacional, el desarrollador y ejecutor de los
términos son sinónimos.
Elemento de Configuración entidad dentro de una configuración que
satisface una función de uso final y que pueden ser identificados de forma única a
un determinado punto de referencia.
Elemento de Software código fuente, código objeto, código de control,
datos de control, o una colección de los anteriores.
NOTA un elemento de software puede ser visto como un elemento
del sistema de la norma ISO/IEC 15288:2008.
Elemento del Sistema miembro de un conjunto de elementos que
constituye un sistema.
-90-
NOTA un elemento del sistema es una parte discreta de un sistema
que puede ser implementado para satisfacer los requisitos
especificados. Un elemento del sistema puede ser de hardware,
software, datos, los humanos, los procesos (por ejemplo, los
procesos de prestar servicio a los usuarios), procedimientos (por
ejemplo, las instrucciones del operador), instalaciones, materiales, y
entidades de origen natural (por ejemplo, el agua, los organismos,
minerales), o cualquier combinación.
Elemento no Entregable producto de hardware o software que no está
obligado a ser entregado en virtud del contrato, pero puede ser empleado en el
desarrollo de un producto de software.
Etapa el período de ciclo de vida de una entidad que se relaciona con el
estado de su descripción o realización.
NOTA 1 a los efectos de esta norma internacional, las etapas se
relacionan con avances importantes y principales objetivos de la
entidad a través de su ciclo de vida.
NOTA 2 las etapas pueden superponerse.
Evaluación determinación sistemática de la medida en que una entidad
cumpla con los criterios especificados.
-91-
Firmware la combinación de un dispositivo de hardware e instrucciones de
ordenador o los datos de ordenador que residen como el software sólo para leer
sobre el dispositivo de hardware.
NOTA el software no puede ser fácilmente modificado bajo el
programa de control.
Infraestructura medios físicos o equipos para facilitar la ejecución de una
acción, por ejemplo, los edificios, instrumentos, herramientas.
Interesado individuo u organización que tenga derecho, participación,
demanda o interés en un sistema o en su posesión de las características que
satisfagan sus necesidades y expectativas.
Lanzamiento versión particular de un elemento de configuración que está
disponible para un fin específico (por ejemplo, la prueba liberación).
Línea Base especificación o producto que ha sido formalmente revisado y
acordado, que posteriormente sirve como base para un mayor desarrollo, y que
sólo se puede modificar a través de procedimientos formales de control de
cambio.
Modelo de Ciclo de Vida marco de los procesos y actividades
relacionadas con el ciclo de vida que pueden ser organizados en etapas, que
-92-
también actúa como una referencia común para la comunicación y la
comprensión.
Monitoreo seguimiento de la situación del estado de las actividades de un
proveedor y de sus resultados por el adquiriente o de un tercero.
Operador entidad que realiza la operación de un sistema.
NOTA 1 el papel de operador y el papel de usuario pueden ser
establecidos, de forma simultánea o secuencial, en el mismo
individuo u organización.
NOTA 2 en el contexto de esta definición en específico, el término
entidad significa un individuo o una organización.
Organización persona o grupo de personas e instalaciones con una
disposición de responsabilidades, autoridades y relaciones.
NOTA 1 adaptado de la norma ISO 9000:2005.
NOTA 2 un grupo de personas organizadas para un fin específico,
como
un
club,
sindicato,
corporación
o
sociedad
es
una
organización.
NOTA 3 una identificada parte de una organización (incluso tan
pequeños como una sola persona) o de un grupo identificado de las
organizaciones pueden ser consideradas como una organización si
tiene responsabilidades, autoridades y relaciones.
-93-
NOTA 4 una forma de una entidad de organización a menudo se
llama una empresa, de modo que los aspectos organizativos de esta
norma internacional se aplican a una empresa también.
Partes son las organizaciones que entran en un contrato o acuerdo.
NOTA en esta norma internacional, las partes de acuerdo son
llamadas el adquirente y el proveedor.
Portafolio de Proyectos conjunto de proyectos que aborden los objetivos
estratégicos de la organización.
Proceso conjunto de actividades interrelacionadas o que interactúan, que
transforma los insumos en productos [ISO 9000:2005].
Producto resultado de un proceso, de [ISO 9000:2005].
Producto
de
Software
conjunto
de
programas
de
computación,
procedimientos y, posiblemente, la documentación y los datos.
Producto Pre elaborado <off the shelf> ya desarrollado y disponible.
-94-
Propósito del Proceso objetivo de alto nivel de la implementación del
proceso y los resultados.
NOTA la aplicación del proceso debe proporcionar beneficios
tangibles a las partes interesadas.
Proveedor organización o individuo que llega a un acuerdo con el
comprador para el suministro de un producto o servicio.
NOTA 1 el "proveedor" podría ser un contratista, productor,
vendedor o proveedor.
NOTA 2 a veces el adquirente y el proveedor son parte de la misma
organización.
Proyecto
esfuerzo con fechas de inicio y finalización definidas,
comprometiéndose a entregar el producto o servicio de acuerdo a lo especificado
tanto en recursos y en requisitos.
NOTA 1 adaptado de la norma ISO 9000:2005.
NOTA 2: un proyecto puede ser visto como un proceso exclusivo
que constará de actividades coordinadas y controladas y puede ser
integrado de las actividades de los procesos de proyectos y
procesos técnicos definidos en esta norma internacional.
-95-
Pruebas de Calificación pruebas, realizadas por el desarrollador y testigo
del adquirente (según corresponda), para demostrar que un producto de software
satisface sus especificaciones y está listo para su uso en su entorno de destino o
la integración en su sistema que lo contiene.
Recurso activo que es utilizado o consumido durante la ejecución de un
proceso.
Requisito de Calificación conjunto de criterios o condiciones que deben
cumplirse para poder optar a un producto de software que cumplen con sus
especificaciones y está listo para su uso en su entorno de destino o la integración
con su sistema que lo contiene.
Resultado del Proceso resultado observable al alcanzar el propósito de
un proceso.
NOTA un resultado se describe como lo siguiente:
o Producción de un artefacto.
o Un cambio significativo en el estado.
o Reunión de las limitaciones.
o Acuerdo en las limitaciones especificadas, por ejemplo, los
requisitos, objetivos, etc.
-96-
Retiro el retiro del soporte activo por parte de la organización de
mantenimiento y operación, parcial o total remplazo por un nuevo sistema, o
instalación de un sistema actualizado.
Seguridad protección de la información y de los datos de tal manera que
personas y sistemas no autorizados no puedan leerlos ni modificarlos y personas
o sistemas autorizados no tengan negado el acceso.
Servicio ejecución de las actividades, el trabajo, o de los derechos
asociados con un producto.
Sistema combinación de elementos organizados que interactúan para
lograr uno o más fines establecidos.
NOTA 1 un sistema puede ser considerado como un producto, o
como los servicios que presta.
NOTA 2 en la práctica, la interpretación de su significado suele ser
aclarado por el uso de un nombre de asociación, por ejemplo,
sistemas de aeronaves.
Sistema Habilitante sistema que soporta un sistema de interés durante
sus primeras etapas del ciclo de vida, pero no necesariamente contribuye en
forma directa a su función durante la operación.
-97-
NOTA 1: por ejemplo, cuando un sistema de interés entra en la fase
de producción, un sistema de producción habilitante es necesario.
NOTA 2: cada sistema habilitante tiene un ciclo de vida propio.
Esta norma internacional es aplicable a cada sistema habilitante cuando,
por derecho propio, es tratada como un sistema de interés.
Tarea requisito, recomendación o acción autorizada, destinada a contribuir
a la consecución de uno o más resultados del proceso.
Unidad de Software separadamente un pedazo de código compilable.
Usuario individuo o grupo que se beneficia de un sistema durante su
utilización.
NOTA la función de usuario y el papel de operador pueden ser
desarrollados, de forma simultánea o secuencial, en el mismo
individuo u organización.
Validación la confirmación, a través de la provisión de pruebas objetivas,
que las exigencias para un uso específico o aplicación han sido realizadas.
NOTA la validación en el contexto de ciclo de vida es el conjunto de
actividades que aseguran y ganan la confianza que un sistema es
capaz de acoplarse a su uso previsto, metas y objetivos.
-98-
Verificación la confirmación, mediante la aportación de pruebas objetivas,
que los requisitos especificados se han cumplido ISO 9000:2005.
NOTA verificación en un contexto de ciclo de vida es un conjunto de
actividades que compara un producto del ciclo de vida en contra de
las características exigidas para ese producto. Esto puede incluir,
pero no limita, requisitos especificados, descripción del diseño y el
propio sistema.
Versión instancias identificadas de un elemento.
NOTA la modificación de una versión de un producto de software,
dando como resultado una nueva versión, requiere la acción de la
administración de configuración.
-99-
4.2.- Procesos Específicos del Software
4.2.1.- Proceso de Implementación del Software
4.2.1.1.- Propósito
El propósito del proceso de Implementación de Software, es producir un
elemento específico del sistema, implementado como un producto o servicio de
software, que se encuentra conformado por los siguientes procesos de nivel
inferior:
•
Proceso de Análisis de Requerimientos del Software.
•
Proceso de Diseño de Arquitectura del Software.
•
Proceso de Diseño Detallado del Software.
•
Proceso de Construcción del Software.
•
Proceso de Integración del Software.
•
Proceso de Pruebas del Software.
Estos a su vez se complementan con los procesos de apoyo descritos a
continuación:
•
Proceso de Gestión de Documentación del Software.
•
Proceso de Gestión de la Configuración del Software.
•
Proceso de Resolución de Problemas del Software.
•
Proceso de Revisión Conjunta del Software.
•
Proceso de Validación del Software.
-100-
4.2.1.2.- Actividades y Tareas
4.2.1.2.1.- Implementación del Software
•
Si no está estipulado en el contrato o acuerdo, el desarrollador deberá
definir o seleccionar un modelo de ciclo de vida apropiado para el
ámbito, magnitud y complejidad del proyecto. El modelo de ciclo de
vida debe estar compuesto de etapas, propósito y resultados para
cada una de estas etapas.
•
El desarrollador deberá:
Documentar las salidas que genere el proceso, según el Proceso
de Gestión de la Documentación del Software 4.3.1.
Poner las salidas en base al Proceso de Gestión de la
Configuración del Software 4.3.2.
Documentar y solucionar los problemas y no conformidades
encontradas en los productos software y tareas, de acuerdo con el
Proceso de Resolución de Problemas del Software 4.3.3.
Establecer una línea base para cada elemento de configuración
con los elementos apropiados, como los determinados por el
adquiriente y el proveedor.
•
El desarrollador deberá seleccionar, adaptar y usar aquellas normas,
métodos, herramientas y lenguajes de programación (si no están
-101-
estipulados en el contrato o acuerdo) que estén documentados, sean
pertinentes y estén establecidos por la organización para llevar a cabo
las actividades del proceso de desarrollo.
•
El desarrollador deberá preparar planes para realizar las actividades
del proceso de desarrollo. Los planes deberían incluir normas
específicas, métodos, herramientas, acciones y responsabilidades
asociadas con el desarrollo y calificación de todos los requerimientos.
Si fuese necesario, se pueden preparar planes separados. Se
deberán documentar y ejecutar estos planes.
•
Para el desarrollo y mantenimiento del producto software, se pueden
emplear elementos no entregables. Sin embargo, se deberá asegurar
que la operación y mantenimiento del producto software entregable,
luego de entregado al adquiriente, sea independiente de dichos
elementos, de otra manera se deberán considerar como entregables.
4.2.2.- Proceso de Análisis de Requerimientos del Software
4.2.2.1.- Propósito
El propósito del Proceso de Análisis de Requerimientos del Software, es el
de establecer los requisitos de un aplicativo de software que se va a desarrollar.
-102-
4.2.2.2.- Actividades y Tareas
4.2.2.2.1.- Análisis de Requerimientos del Software
Para cada elemento de software (o para cada elemento de configuración de
software), esta actividad consta del análisis de las siguientes tareas:
•
El desarrollador deberá realizar el levantamiento de requerimientos.
•
El desarrollador deberá establecer y documentar los requerimientos
de software (incluyendo las especificaciones de las características de
calidad).
•
Especificaciones funcionales y de capacidad, incluyendo rendimiento,
características físicas y condiciones del entorno en donde el elemento
software ha de funcionar.
•
Interfaces externas al elemento software.
•
Especificaciones
de
seguridad
física,
incluyendo
aquellas
relacionadas con los métodos de operación y mantenimiento,
influencias del entorno y daño a las personas.
•
Especificaciones de seguridad de acceso, incluyendo aquellas que
comprometen información confidencial.
-103-
•
Definición de datos y requerimientos de las bases de datos.
•
Requerimientos de instalación y aceptación del producto software
entregado, en el lugar o lugares de operación y mantenimiento.
•
Requerimientos de documentación de usuario.
•
Requerimientos de operación y ejecución por parte del usuario.
•
Requerimientos de mantenimiento por parte del usuario.
•
El desarrollador deberá evaluar y documentar los requerimientos de
software teniendo en cuenta los criterios que se enumera a
continuación:
Trazabilidad de los requerimientos del sistema y el diseño del
sistema.
Consistencia externa con los requerimientos del sistema.
Consistencia interna.
Capacidad de ser probado.
Viabilidad del diseño software.
Viabilidad de la operación y mantenimiento.
El desarrollador deberá llevar a cabo revisiones conjuntas de
acuerdo con el Proceso de Revisión Conjunta del Software
4.3.4.
-104-
4.2.3.- Proceso de Diseño de Arquitectura del Software
4.2.3.1.- Propósito
El propósito del Proceso de Diseño de Arquitectura del Software, es proveer
un diseño para el software que se implemente y pueda ser verificado en base a
los requerimientos.
4.2.3.2.- Actividades y Tareas
4.2.3.2.1.- Diseño de Arquitectura del Software
Para cada elemento software (o para cada elemento de configuración de
software, si se ha identificado) esta actividad consta de las siguientes tareas:
•
El desarrollador deberá transformar los requerimientos para el
elemento software, en una arquitectura que describa su estructura a
un alto nivel y que identifique los componentes del software. Debe
asegurarse de que todos los requerimientos para el elemento
software, se asignen a sus componentes de software. Se deberá
documentar la arquitectura del elemento software.
•
El desarrollador deberá desarrollar y documentar un diseño a alto
nivel para las interfaces externas al elemento software, y para las
interfaces entre los componentes software del elemento software.
-105-
•
El desarrollador deberá desarrollar y documentar un diseño de alto
nivel para la base de datos.
•
Conviene que el desarrollador documente y desarrolle versiones
preliminares de la documentación de usuario.
•
El desarrollador deberá definir y documentar los requerimientos
preliminares de pruebas y la planificación para la integración del
software.
•
El desarrollador deberá evaluar la arquitectura del elemento software
y de los diseños de su interfaz y base de datos, teniendo en cuenta
los criterios enumerados a continuación. Se deberán documentar los
resultados de las evaluaciones.
Seguimiento hacia los requerimientos del elemento software.
Consistencia externa con los requerimientos del elemento
software.
Consistencia interna entre los componentes software.
Adecuación de los métodos de diseño y normas usadas.
Viabilidad del diseño detallado.
Viabilidad de la operación y mantenimiento.
•
El desarrollador deberá llevar a cabo revisiones conjuntas de acuerdo
con el Proceso de Revisión Conjunta del Software 4.3.4.
-106-
4.2.4.- Proceso de Diseño Detallado del Software
4.2.4.1.- Propósito
El propósito de este proceso, es proveer un diseño para el software que
implemente y que pueda ser verificado en base a los requerimientos, y que la
arquitectura del software sea lo suficientemente detallada para permitir su
codificación y prueba.
4.2.4.2.- Actividades y Tareas
4.2.4.2.1.- Diseño Detallado del Software
Para cada elemento software (o para cada elemento de configuración
software, si se ha identificado), esta actividad consta de las siguientes tareas:
•
El desarrollador deberá preparar un diseño detallado para cada
componente de software del elemento software. Se deberá refinar los
componentes de software hasta los niveles más bajos, que contienen
las unidades software que pueden ser codificadas, compiladas y
probadas. Se deberá asegurar que todos los requerimientos del
software están asignados desde los componentes software hacia las
unidades software. Se deberá documentar el diseño detallado.
-107-
•
El desarrollador deberá preparar y documentar un diseño detallado de
las interfaces externas al elemento software, y entre los componentes
software y las unidades software. El diseño detallado de las interfaces
deberá permitir la codificación sin necesidad de más información.
•
El desarrollador deberá preparar y documentar el diseño detallado
para la base de datos.
•
El desarrollador deberá actualizar la documentación de usuario si es
necesario.
•
El desarrollador deberá definir y documentar los requerimientos de
prueba y planificar la prueba de las unidades. Se deberían incluir en
los requerimientos de prueba, situaciones que fuercen a las unidades
software hasta los límites de los requerimientos del software.
•
El desarrollador deberá actualizar los requerimientos de prueba y el
plan para la integración del software.
•
El desarrollador deberá evaluar el diseño detallado del software y los
requerimientos
de
prueba,
teniendo
en
cuenta
los
criterios
enumerados a continuación. Se deberán documentar los resultados
de la evaluación.
-108-
Seguimiento hacia los requerimientos del elemento software.
Consistencia externa con el diseño de la arquitectura.
Consistencia interna entre los componentes de software y las
unidades de software.
Adecuación de los métodos de diseño y normas usadas.
Viabilidad de las pruebas.
Viabilidad de la operación y mantenimiento.
El desarrollador deberá llevar a cabo revisiones conjuntas de acuerdo con el
Proceso de Revisión Conjunta del Software 4.3.4.
4.2.5.- Proceso de Construcción del Software
4.2.5.1.- Propósito
El propósito del Proceso de Construcción del Software, es el de desarrollar
unidades de software ejecutables que reflejen adecuadamente el diseño de
software.
-109-
4.2.5.2.- Actividades y Tareas
4.2.5.2.1.- Construcción del Software
•
El desarrollador deberá documentar y desarrollar las siguientes
tareas:
Cada unidad software y base de datos.
Procedimientos de prueba y datos para probar cada unidad
de software y la base de datos.
•
El desarrollador deberá probar cada unidad de software y base de
datos asegurando que satisfacen sus requerimientos. Se deberán
documentar los resultados de las pruebas.
•
El desarrollador deberá actualizar la documentación de usuario, si es
necesario.
•
El desarrollador deberá actualizar los requerimientos de prueba y el
plan, para la integración del software.
•
El desarrollador deberá evaluar el código software y los resultados de
las pruebas teniendo en cuenta los criterios enumerados a
continuación. Se deberán documentar los resultados de las
evaluaciones.
-110-
Seguimiento hacia los requerimientos y el diseño del
elemento software.
Consistencia externa con los requerimientos y el diseño del
elemento software.
Consistencia interna entre los requerimientos de las unidades.
Cobertura de pruebas de las unidades.
Adecuación de los métodos de codificación y normas usadas.
Viabilidad de la integración del software y de las pruebas.
Viabilidad de la operación y mantenimiento.
4.2.6.- Proceso de Integración del Software
4.2.6.1.- Propósito
El propósito del Proceso de Integración, es el de combinar unidades y
componentes de software, produciendo elementos de software integrados,
consistentes al diseño del software, que demuestre que los requerimientos
funcionales y no funcionales del software, sean satisfechos en una plataforma
operacional.
-111-
4.2.6.2.- Actividades y Tareas
4.2.6.2.1.- Integración del Software
Para cada elemento de software (o para cada elemento de configuración de
software, si se ha identificado), esta actividad consta de las siguientes tareas:
•
El desarrollador deberá preparar un plan de integración, para integrar
las unidades y los componentes de software en el elemento software.
El plan deberá incluir requerimientos de prueba, procedimientos,
datos, responsabilidades y plazos. Se deberá documentar el plan.
•
El desarrollador deberá integrar las unidades y los componentes de
software y probarlos a medida que se agrupan de acuerdo con el plan
de integración. Se deberá asegurar que cada agrupación satisface los
requerimientos del elemento software, y que el elemento software
está integrado al final de la actividad de integración. Se deberá
documentar los resultados de la integración y de las pruebas.
•
El desarrollador deberá actualizar la documentación de usuario, si es
necesario.
•
El
desarrollador
deberá
preparar
y
documentar,
para
cada
requerimiento de validación del elemento software, un conjunto de
pruebas, casos de prueba (entradas, salidas, criterios de prueba) y
-112-
procedimientos de prueba, para llevar a cabo las pruebas de
validación del software. El desarrollador deberá asegurar que el
elemento software integrado, está listo para las pruebas de validación
del software.
•
El desarrollador deberá evaluar el plan de integración, el diseño, el
código, las pruebas, y los resultados de las pruebas, teniendo en
cuenta los criterios enumerados a continuación. Se deberán
documentar los resultados de las evaluaciones.
Seguimiento hacia los requerimientos del sistema.
Consistencia externa con los requerimientos del sistema.
Consistencia interna.
Cobertura de las pruebas de los requerimientos del elemento
software.
Adecuación de las normas de prueba y de los métodos
usados.
Conformidad con los resultados esperados.
Viabilidad de las pruebas de validación del software.
Viabilidad de la operación y mantenimiento.
El desarrollador debería llevar a cabo revisiones conjuntas de acuerdo con el
Proceso de Revisión Conjunta del Software 4.3.4.
-113-
4.2.7.- Proceso de Pruebas del Software
4.2.7.1.- Propósito
El propósito del Proceso de Pruebas del Software, es el de confirmar que el
producto de software integrado cumple con los requerimientos definidos.
4.2.7.2.- Actividades y Tareas
4.2.7.2.1.- Pruebas del Software
Para cada elemento software (o para cada elemento de configuración del
software, si se ha identificado), esta actividad consta de las siguientes tareas:
•
El desarrollador deberá llevar a cabo pruebas de validación, de
acuerdo con los requerimientos de validación para el elemento
software. Se deberá asegurar que se prueba la conformidad de la
implementación de cada requerimiento de software. Se deberán
documentar los resultados de las pruebas de validación.
•
El desarrollador deberá actualizar la documentación de usuario, si es
necesario.
•
El desarrollador deberá evaluar el diseño, el código, las pruebas, los
resultados de las pruebas y la documentación de usuario teniendo en
-114-
cuenta los criterios enumerados a continuación. Se deberán
documentar los resultados de las evaluaciones.
Cobertura de las pruebas de los requerimientos del elemento
software.
Conformidad con los resultados esperados.
Viabilidad de la integración del sistema y las pruebas, si se
llevan a cabo.
Viabilidad de la operación y mantenimiento.
•
El desarrollador deberá proporcionar soporte a las auditorías, de
acuerdo con el proceso de auditoría que la organización lleve
internamente. Se deberán documentar los resultados de las
auditorías.
•
Tras la finalización exitosa de las auditorías, si se llevan a cabo, el
desarrollador deberá actualizar y preparar el producto software
entregable para la integración del sistema, pruebas de validación del
sistema, instalación del software o apoyo a la aceptación del software,
como proceda.
NOTA: El plan de pruebas del software, se pueden usar en el
Proceso de Validación del Software 4.3.6.
-115-
4.3.- Procesos de Apoyo
4.3.1.- Proceso de Gestión de la Documentación del Software
4.3.1.1.- Propósito
El propósito del Proceso de Gestión de la Documentación del Software, es el
de registrar la documentación producida por un proceso o actividad del ciclo de
vida. El proceso contiene un conjunto de actividades para: planificar, diseñar,
desarrollar, producir, editar, distribuir y mantener aquellos documentos que
necesitan todos los involucrados tales como: gerentes, ingenieros y usuarios del
sistema o producto software.
4.3.1.2.- Actividades y Tareas
Este proceso consta de las siguientes actividades:
4.3.1.2.1.- Implementación del Proceso
•
Se deberá preparar, documentar e implementar, un plan que
identifique los documentos que se van a producir. Para cada
documento identificado, se deberá considerar lo siguiente:
Título o nombre.
Propósito.
-116-
Audiencia a la que se dirige.
Procedimientos y responsabilidades para las entradas,
desarrollo, revisión, modificación, aprobación, producción,
almacenamiento, distribución, mantenimiento y gestión de la
configuración.
Plazos para las versiones intermedias y final.
4.3.1.2.2.- Diseño y Desarrollo
•
Cada documento identificado se deberá diseñar de acuerdo con las
normas de documentación aplicables para el formato, descripción del
contenido, numeración de páginas, situación de las figuras y tablas,
marcas de propiedad y seguridad, empaquetado y otros elementos de
presentación.
•
Se deberá confirmar la fuente y adecuación de los datos de entrada
para los documentos. Se pueden usar herramientas automáticas de
documentación.
•
Se deberán revisar y corregir los documentos preparados de acuerdo
con el formato, contenido técnico y estilo de presentación frente a sus
normas de documentación. Personal autorizado deberá aprobar su
adecuación antes de que sean hechos públicos.
-117-
4.3.1.2.3.- Producción
•
Los documentos se deberán producir y poner a disponibilidad de
acuerdo con el plan. La producción y distribución de los documentos
puede hacerse usando papel, medios electrónicos u otros medios. Se
deberán almacenar los originales de acuerdo con los requerimientos
de conservación de registros, seguridad de acceso, mantenimiento y
copias de seguridad.
•
Se deberán establecer controles de acuerdo con el Proceso de
Gestión de la Configuración del Software 4.3.2.
4.3.1.2.4.- Mantenimiento
•
Se deberán llevar a cabo las tareas que se requieran cuando se
realice
la
modificación
de
la
documentación.
Para
aquellos
documentos que están bajo la gestión de la configuración, las
modificaciones se deberán administrar de acuerdo con el Proceso de
Gestión de la Configuración del Software 4.3.2.
-118-
4.3.2.- Proceso de Gestión de la Configuración del Software
4.3.2.1.- Propósito
El propósito del Proceso de Gestión de la Configuración consiste en
procedimientos técnicos y administrativos a lo largo del ciclo de vida del software
para: identificar, definir y establecer la línea base de los elementos software en un
sistema; controlar modificaciones y releases 13 de los elementos; registrar e
informar del estado de los elementos y peticiones de modificación; asegurar la
completitud, consistencia y corrección de los elementos; y controlar el
almacenamiento, manipulación y entrega de los elementos.
4.3.2.2.- Actividades y Tareas
Este proceso consta de las siguientes actividades:
4.3.2.2.1.- Implementación del Proceso
•
Se deberá preparar un Plan de Gestión de la Configuración. El plan
deberá describir: las actividades de gestión de la configuración;
procedimientos y plazos para llevar a cabo dichas actividades; la
organización u organizaciones responsables de llevar a cabo dichas
actividades; sus relaciones con otras organizaciones, tales como las
13
Release: Es una versión de lanzamiento, es decir, que el software se hace público.
-119-
de desarrollo o mantenimiento del software. Se deberá documentar e
implementar en el plan.
4.3.2.2.2.- Identificación de la Configuración
•
Se deberá establecer un esquema para la identificación de los
elementos software (y sus versiones) que van a ser controlados por el
proyecto. Se deberá identificar para cada elemento software y sus
versiones: la documentación que establece la línea de referencia, las
referencias a las versiones y otros detalles de identificación.
4.3.2.2.3.- Control de la Configuración
•
Se deberá llevar a cabo lo siguiente: identificación y registro de las
peticiones de cambio, análisis y evaluación de los cambios,
aprobación o rechazo de la petición, e implementación, verificación y
release del elemento software modificado. Deberá existir un rastro
auditable mediante el cual se pueda rastrear cada modificación, las
razones para la modificación y la autorización de la modificación. Se
deberá controlar y auditar todos los accesos a los elementos software
controlado que manejen funciones críticas para la seguridad tanto
física como de acceso.
-120-
4.3.2.2.4.- Determinación del Estado de la Configuración
•
Se debe implementar un esquema para la identificación de los
elementos de software y sus versiones que van a ser controladas a lo
largo del proyecto. Para cada elemento de software y sus versiones,
se debe identificar lo siguiente: La documentación que establece su
línea base, la referencia a versiones, y otros detalles de identificación.
4.3.2.2.5.- Evaluación de la Configuración
•
Se deberá determinar y asegurar lo siguiente: completitud funcional
de los elementos software frente a sus requerimientos y completitud
física de los elementos software (si su diseño y código reflejan una
descripción técnica actualizada).
4.3.2.2.6.- Gestión de Releases y Entrega
•
El release y entrega de los productos software y de la documentación
se deberá controlar formalmente. Se deberán guardar copias
maestras del código y la documentación durante toda la vida del
producto software. El código y la documentación que contengan
funciones críticas de seguridad física o de acceso, se deberá
manipular, almacenar, empaquetar y entregar de acuerdo con las
políticas de las organizaciones involucradas.
-121-
4.3.3.- Proceso de Resolución de Problemas del Software
4.3.3.1.- Propósito
El propósito del Proceso de Resolución de Problemas del Software es
analizar y resolver problemas (incluidas las no conformidades), cualquiera que
sea su naturaleza u origen, que se descubran durante la ejecución de los
procesos de desarrollo, mantenimiento u otros.
4.3.3.2.- Actividades y Tareas
Este proceso consta de las siguientes actividades:
4.3.3.2.1.- Implementación del Proceso
•
Se deberá establecer un Proceso de Resolución de Problemas del
Software para manejar todos los problemas (incluyendo las no
conformidades) detectados en los productos y actividades de
software. El proceso deberá cumplir los siguientes requerimientos:
•
El proceso deberá ser un bucle cerrado, asegurando que: se informa
rápidamente de todos los problemas detectados y se introducen en el
proceso de solución de problemas; se inician acciones sobre ellos; se
informa a las partes implicadas según sea necesario acerca de la
existencia de los problemas; las causas se identifican, analizan y,
-122-
donde sea posible, se eliminan; se consigue una solución y la
eliminación; se hace un seguimiento y se informa del estado; se
mantienen registros de los problemas tal como se estipule en el
contrato o acuerdo.
•
El proceso deberá contener un esquema para categorizar y priorizar
los problemas. Conviene que cada problema se clasifique por
categoría y prioridad para facilitar el análisis de tendencias y la
solución del problema.
•
Se deberán llevar a cabo análisis para detectar tendencias; en los
problemas informados.
•
Se deberán evaluar las soluciones y las disposiciones para evaluar
que los problemas han sido resueltos, las tendencias adversas han
sido invertidas y los cambios han sido implementados correctamente
en los productos y actividades de software apropiados; y determinar si
se han introducido problemas adicionales.
4.3.3.2.2.- Solución de Problemas
•
Cuando se han detectado problemas (incluyendo no conformidades)
en un producto o actividad software, se deberá preparar para cada
problema detectado un informe describiendo el problema. El informe
del problema se deberá usar como parte del proceso en bucle cerrado
-123-
descrito anteriormente: desde la detección del problema, pasando por
la investigación, análisis y solución del problema y su causa, hasta la
detección de tendencias en los problemas.
4.3.4.- Proceso de Revisión Conjunta del Software
4.3.4.1.- Propósito
El propósito del Proceso de Revisión Conjunta es evaluar el estado y los
productos de una actividad de un proyecto, según sea adecuado. Las revisiones
conjuntas están a nivel tanto de gestión del proyecto como técnico y se mantienen
a lo largo de la vida del contrato. Este proceso puede ser empleado por cualquiera
de las dos partes, donde una de ellas (la revisora) revisa a la otra parte (la
revisada).
4.3.4.2.- Actividades y Tareas
Lista de actividades. Este proceso consta de las siguientes actividades:
4.3.4.2.1.- Implementación del Proceso
•
Se
deberán
llevar
a
cabo
revisiones
periódicas
en
hitos
predeterminados tal como se especifica en los planes del proyecto.
Se pueden llevar a cabo revisiones para un fin especifico cuando se
considere necesario por cualquiera de las partes.
-124-
•
Las partes deberán acordar todos los recursos necesarios para llevar
a cabo las revisiones. Estos recursos incluyen personal, ubicación,
instalaciones, hardware, software y herramientas.
•
Las partes deberán acordar para cada revisión los siguientes
elementos: agenda de la reunión, productos software (y resultados de
una actividad) y problemas a revisar; alcance y procedimientos y
criterios de entrada y salida para la revisión.
•
Se deberán registrar los problemas detectados durante las revisiones
y pasarlos al Proceso de Resolución de Problemas del Software 4.3.4,
según se requiera.
•
Se deberá documentar y distribuir los resultados de las revisiones. La
parte revisora informará a la parte revisada sobre la adecuación (por
ejemplo, aprobación, no-aprobación o aprobación condicionada) de
los resultados de la revisión.
•
Las partes deberán ponerse de acuerdo sobre los resultados de la
revisión y en la responsabilidad sobre cualquier punto de acción y sus
criterios de finalización.
-125-
4.3.4.2.2.- Revisiones de la Gestión del Proyecto
•
Se deberá evaluar el estado del proyecto con relación a los planes,
plazos, normas y guías del proyecto aplicables.
•
El resultado de la revisión deberá discutirse entre las dos partes y
deberá conseguir lo siguiente:
Hacer que las actividades progresen de acuerdo con el plan,
basándose en una evaluación del estado de la actividad o
producto software.
Mantenimiento del control global del proyecto a través de la
adecuada asignación de recursos.
Cambio de la gestión del proyecto o determinación de la
necesidad de una planificación alternativa.
Evaluación y gestión de los elementos de riesgo que puedan
amenazar el éxito del proyecto.
4.3.4.2.3.- Revisiones Técnicas
•
Se deberán mantener revisiones técnicas para evaluar los productos
o servicios y proporcionar evidencia de que:
Son completos.
Cumplen con sus normas y especificaciones.
-126-
Los cambios se implementan adecuadamente y afectan sólo a
aquellas áreas identificadas por el proceso de gestión de la
configuración.
Se están adhiriendo a los plazos aplicables.
Están listos para la siguiente actividad.
El desarrollo, operación o mantenimiento se lleva a cabo de
acuerdo con los planes, plazos, normas y guías del proyecto.
4.3.5.- Proceso de Validación del Software
4.3.5.1.- Propósito
El propósito del Proceso de Validación es determinar si los requerimientos y
el sistema o producto software, tal como se ha construido, cumplen con su uso
específico previsto.
Este proceso se puede ejecutar con diversos grados de independencia. El
grado de independencia puede variar desde la misma persona o diferentes
personas dentro de la misma organización, hasta una persona de una distinta
organización con un grado de separación variable. En el caso en que el proceso
se ejecute por una organización independiente del proveedor, desarrollador,
operador o responsable de mantenimiento, se llama proceso de validación
independiente.
-127-
4.3.5.2.- Actividades y Tareas
Este proceso consta de las siguientes actividades:
4.3.5.2.1.- Implementación del Proceso
•
Se deberá determinar si el proyecto merece un esfuerzo de
validación, y el grado de independencia organizativa necesaria para
dicho esfuerzo.
•
Si el proyecto merece un esfuerzo independiente, se deberá
seleccionar una organización calificada responsable de llevar a cabo
este esfuerzo. Se deberá garantizar a esta organización la
independencia y autoridad para llevar a cabo las actividades de
validación, caso contrario la validación se hará mediante un proceso
interno.
•
Se deberá preparar y documentar un plan de validación. El plan
deberá incluir (sin estar limitado a ello) lo siguiente:
Elementos sujetos a validación.
Tareas de validación a llevar a cabo.
Recursos, responsabilidades y plazos para la validación.
Procedimientos para hacer llegar los informes de validación al
adquiriente y a otras partes.
-128-
•
Se deberá implementar el plan de validación. Los problemas y las no
conformidades detectadas por el esfuerzo de validación, se deberán
pasar al Proceso de Solución de Problemas. Se deberán resolver
todos los problemas y no conformidades. Se deberá poner a
disposición del adquiriente y otras organizaciones involucradas los
resultados de las actividades de validación.
4.3.5.2.2.- Validación
•
Preparar los requerimientos de prueba, casos de prueba y
especificaciones de prueba seleccionados para analizar los resultados
de las pruebas.
•
Asegurar que estos requerimientos de prueba, casos de prueba y
especificaciones de prueba reflejan los requerimientos particulares
para el uso específico previsto.
•
Llevar a cabo las pruebas de los 2 literales anteriores, incluyendo:
Pruebas con sobrecarga, límites y entradas excepcionales.
Pruebas del producto software respecto a su habilidad para
aislar y minimizar el efecto de errores; esto es, degradación
elegante por fallos, petición de asistencia del operador ante
sobrecargas y situaciones límite y excepcionales.
-129-
Pruebas de usuarios representativos que pueden llevar a
cabo con éxito sus tareas previstas usando el producto
software.
•
Validar que el producto software satisface su uso previsto.
•
Probar el producto software, cuando sea apropiado, en áreas
seleccionadas del entorno de destino.
-130-
CAPÍTULO V
5. CONCLUSIONES Y RECOMENDACIONES
5.1.- Conclusiones
•
Se realizó un análisis previo de la estructura de las UTIC de la ESPE, para
determinar qué área o áreas de la unidad, están encargadas del desarrollo
de software, y qué método utilizan para hacerlo, además de comprender el
aporte del resto de áreas para la consecución de proyectos de desarrollo
de software.
•
No se puede implementar de una sola vez, todos los procesos que
contempla la norma ISO/IEC 12207 en la UTIC de la ESPE, se debe
generar un plan de aplicación que contemple procesos de la norma,
destinados a un área específica de la unidad, los cuales sirvan de base
para posteriormente implementar el resto de procesos, una vez que la
UTIC adquiera experiencia en el manejo de la norma, con el estándar
implementado.
•
El estándar de aplicación propuesto, proporciona a la UTIC de la ESPE, la
generación de documentación sobre todo el transcurso de desarrollo de
software, y maneja un lenguaje unificado sobre dicha documentación, para
-131-
facilitar el entendimiento de la misma, entre todos los involucrados de
unidad y externos a ella, en el desarrollo de un proyecto de software.
•
La implementación del estándar propuesto no genera muchos conflictos
para adaptarlo dentro de la UTIC de la ESPE, debido a que el estándar
está orientado en base al proceso actual, para que el impacto del cambio
no sea tan drástico.
•
Para el éxito de la implementación del estándar, es necesario realizarlo lo
más conciso y claro posible, para facilitar al personal de la UTIC su
entendimiento y fácil aplicación en proyectos de desarrollo, tomando como
base las necesidades de la unidad.
•
ISO/IEC 12207 aporta en un futuro a la UTIC, procesos de implementación
para el suministro, operación, mantenimiento y la eliminación de los
productos software, tomando como base para su implementación el
estándar de aplicación, motivo de la presente tesis.
5.2.- Recomendaciones
•
Se recomienda al DCC a futuro, la inclusión de temas de certificaciones
ISO a procesos relacionados a Desarrollo de Software dentro de la malla
curricular.
•
Se recomienda la certificación de estándares de calidad, para mejorar los
procesos dentro de la UTIC, aumentar la confianza que la ESPE deposita
-132-
en la unidad, generar competitividad, entre otros beneficios que aportan las
certificaciones.
•
Se recomienda considerar el uso de otros estándares, propuestos por
ISO/IEC 12207 tales como ISO/IEC 15288 e ISO 9001, que complementan
su implementación y aporte en la calidad del producto software.
•
Para empezar un proyecto de software, es recomendable al personal de
desarrollo de la UTIC, elegir un modelo de ciclo de vida adecuado, basado
en un análisis previo, dependiendo del tipo de desarrollo que se vaya a
realizar.
•
Se recomienda al personal de desarrollo de la unidad e involucrados en el
desarrollo de software, la utilización del Resumen del Estándar de
Aplicación, como manual de bolsillo, para guiarse en el proceso de
desarrollo propuesto por ISO/IEC 12207, además de la utilización de las
plantillas propuestas en los anexos adjuntos a la tesis.
-133-
ANEXOS
ANEXO A: RESUMEN DEL ESTÁNDAR DE APLICACIÓN
BASADO EN LA NORMA ISO/IEC 12207
El Anexo A, es un instructivo que resume todo el Estándar de Aplicación basado
en la Norma ISO/IEC 12207, para la UTIC de la ESPE; todos los procesos
contemplados en este resumen, se profundizan en el Capítulo IV de esta tesis; se
sugiere el uso de las plantillas anexas que se listan a continuación, estas sirven
de apoyo para ejecutar los procesos y registrar los resultados generados por
estos.
ANEXO B: PLAN DE GESTIÓN DE LA DOCUMENTACIÓN.
ANEXO C: PLAN DE GESTIÓN DE LA CONFIGURACIÓN.
ANEXO D: ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE (ERS).
ANEXO E: DISEÑO DE ARQUITECTURA DE ALTO NIVEL Y DETALLADO.
ANEXO F: PLAN DE PRUEBAS.
A.1.- Procesos Específicos del Software
A.1.1.- Proceso de Implementación del Software
A.1.1.1.- Implementación del Software
Si no está estipulado en el contrato o acuerdo, el desarrollador deberá definir o
seleccionar un modelo de ciclo de vida apropiado para la magnitud y complejidad
del proyecto, este proceso trabaja con procesos de nivel inferior y de apoyo para
el desarrollo de software.
A.1.2.- Proceso de Análisis de Requerimientos del Software
A.1.2.1.- Análisis de Requerimientos del Software
Se sugiere uso: ANEXO D.
Tareas:
•
•
Levantar requerimientos.
Establecer y documentar requerimientos para:
o Especificaciones funcionales y de capacidad.
-134-
•
o Interfaces externas al elemento software.
o Especificaciones de seguridad física.
o Especificaciones de seguridad de acceso.
o Definición de datos y requerimientos de las bases de datos.
o Instalación y aceptación del producto software.
o Documentación de usuario.
o Operación y ejecución por parte del usuario.
o Mantenimiento por parte del usuario.
Evaluar los requerimientos de software.
A.1.3.- Proceso de Diseño de Arquitectura del Software
A.1.3.1.- Diseño de Arquitectura del Software
Se sugiere uso: ANEXO E.
Tareas:
•
•
Desarrollar y documentar:
o Transformar los requerimientos, en una arquitectura que describa su
estructura a un alto nivel e identifique los componentes del software.
o Diseño interfaces.
o Diseño base de datos.
o Versiones preliminares documentación de usuario (de ser
necesario).
o Definir requerimientos preliminares de prueba y la planificación para
la integración del software Se sugiere uso: ANEXO F.
Evaluar la arquitectura del elemento software y de sus interfaces.
A.1.4.- Proceso de Diseño Detallado del Software
A.1.4.1.- Diseño Detallado del Software
Se sugiere uso: ANEXO E.
Tareas:
•
•
•
•
•
Desarrollar y documentar diseño detallado para:
o Cada componente del elemento software.
o Interfaces.
o Base de datos.
Actualizar documentación de usuario (de ser necesario).
Definir requerimientos de prueba y planificar pruebas unitarias Se sugiere
uso: ANEXO F.
Actualizar los requerimientos de prueba y el plan para la integración del
software. Se sugiere uso: ANEXO F.
Evaluar diseño detallado del software.
-135-
A.1.5.- Proceso de Construcción del Software
A.1.5.1.- Construcción del Software
Tareas:
•
•
•
•
•
Desarrollar y documentar:
o Cada unidad software y base de datos.
o Procedimientos de prueba unitarias Se sugiere uso: ANEXO F.
Ejecución de pruebas unitarias al software y base de datos Se sugiere uso:
ANEXO F.
Actualizar documentación de usuario (si es necesario).
Actualizar requerimientos de prueba de integración Se sugiere uso: ANEXO F.
Evaluar código software y resultados de las pruebas.
A.1.6.- Proceso de Integración del Software
A.1.6.1.- Integración del Software
Se sugiere uso: ANEXO F.
Tareas:
•
•
•
•
•
Preparar Plan de Integración.
Ejecutar las pruebas de integración.
Actualizar documentación de usuario (si es necesario).
Preparar pruebas de validación del software.
Evaluar plan de integración, diseño, código, pruebas y resultados de las
pruebas.
A.1.7.- Proceso de Pruebas del Software
A.1.7.1.- Pruebas del Software
Se sugiere uso: ANEXO F.
Tareas:
•
•
•
•
Llevar a cabo pruebas de validación.
Actualizar la documentación de usuario (si es necesario).
Evaluar el diseño, el código, las pruebas, los resultados de las pruebas y la
documentación.
Proporcionar soporte a las auditorias (si se realizan).
A.2.- Procesos de Apoyo
A.2.1.- Proceso de Gestión de la Documentación del Software
A.2.1.1.- Implementación del Proceso
-136-
•
Elaborar Plan de Documentación Se sugiere uso: ANEXO B.
A.2.1.2.- Diseño y Desarrollo
•
•
•
Los documentos se deben diseñar de acuerdo a las normas aplicables de
documentación.
Confirmar fuente y adecuación de los datos.
Revisar y corregir documentos preparados de acuerdo al formato.
A.2.1.3.- Producción
•
Los documentos se deberán producir y poner a disponibilidad de acuerdo
al plan.
A.2.1.4.- Mantenimiento
•
Llevar a cabo las tareas de modificación requeridas en base al Proceso de
Gestión de la Configuración del Software A.2.2.
A.2.2.- Proceso de Gestión de la Configuración del Software
Se sugiere uso: ANEXO C.
A.2.2.1.- Implementación del Proceso
•
Preparar Plan de Gestión de la Configuración.
A.2.2.2.- Identificación de la Configuración
•
Establecer esquema para la identificación de los elementos.
A.2.2.3.- Control de la Configuración
•
Implementar esquema para la identificación de requerimientos de software.
A.2.2.4.- Evaluación de la Configuración
•
Evaluar elementos de software y sus requerimientos.
A.2.2.5.- Gestión de Releases y Entrega
•
•
Guardar copias de seguridad.
Controlar formalmente releases y entrega de los productos software,
además de la documentación.
A.2.3.- Proceso de Resolución de Problemas del Software
A.2.3.1.- Implementación del Proceso
•
Establecer un proceso de resolución de problemas.
-137-
•
•
•
•
Establecer un bucle cerrado, donde se resuelvan los problemas.
Establecer esquema para categorizar y priorizar las pruebas.
Analizar las tendencias en los problemas informados.
Evaluar las soluciones a los problemas.
A.2.3.2.- Solución de Problemas
•
Prepara informes de problemas detectados, debe formar parte del bucle
cerrado.
A.2.4.- Proceso de Revisión Conjunta del Software
A.2.4.1.- Implementación del Proceso
•
•
•
•
Llevar a cabo revisiones periódicas y cuando se considere necesario.
Acordar: agenda de la reunión.
Registrar los problemas detectados durante las revisiones y pasarlos al
Proceso de Resolución de Problemas del Software A.2.3.
Documentar y distribuir los resultados de las revisiones.
Las partes deberán ponerse de acuerdo sobre los resultados de la revisión
y en la responsabilidad sobre cualquier punto de acción y sus criterios de
finalización.
A.2.4.2.- Revisiones de la Gestión del Proyecto
•
•
Se deberá evaluar el estado del proyecto con relación a los planes, plazos,
normas y guías del proyecto aplicables.
El resultado de la revisión deberá discutirse entre las dos partes.
A.2.4.3.- Revisiones Técnicas
•
Se deberán mantener revisiones técnicas para evaluar los productos o
servicios software.
A.2.5.- Proceso de Validación del Software
A.2.5.1.- Implementación del proceso
•
•
•
Determinar si el proyecto merece un esfuerzo de validación.
Si el proyecto merece un esfuerzo independiente, se deberá seleccionar
una organización calificada responsable.
Preparar y documentar un plan de validación. Se sugiere uso: ANEXO F.
A.2.5.2.- Validación
•
•
Definir las pruebas de validación. Se sugiere uso: ANEXO F.
Implementar el plan de validación. Se sugiere uso: ANEXO F.
-138-
ANEXO B: PLAN DE GESTIÓN DE LA DOCUMENTACIÓN
NOMBRE
FECHA
MOTIVO DE CAMBIO
VERSIÓN
[Nombre del Producto Software]
[Fecha de
Cambio]
[Descripción Motivo del Cambio]
[Versión del
Producto
Software]
1.- Introducción
1.1.- Propósito
Proporcionar una guía de documentación de un proyecto de software, cumpliendo los términos que
propone ISO/IEC 12207:2008.
1.2.- Uso Correcto
Está diseñado para ayudar a personas con limitaciones de conocimiento de los requisitos de
documentación y métodos para implementar el plan de documentación, el proceso que se ofrece puede ser
aplicado utilizando medios electrónicos.
Esta plantilla puede ser fácilmente modificada dependiendo del proyecto.
Este modelo supone que el usuario tiene un formato estándar para los documentos, por ejemplo, cubiertas,
tabla de contenidos, encabezados, pies de página, el estilo y el formato (por ejemplo, tipo de letra,
márgenes, justificación y espaciado.
1.3.- Ámbito
[Identificar la política, objetivos, fines, supuestos, limitaciones, riesgos y dependencias; y una visión general
de este plan.]
[Identificar a los usuarios de este plan, el alcance y las limitaciones de la gestión de la documentación, y
debe contener una descripción clara y concisa de la metodología de la gestión de la documentación. Es de
suma importancia para los lectores de este plan para comprender claramente la terminología y
metodología utilizada.]
Este plan debe encajar, en cualquier otro plan.
2.- Documentación Visión General
Para cada documento identificado, se deberá considerar en lo posible lo siguiente, dentro de cada
documento:
-139-
Documentos
Título o Nombre
[Establecer el nombre del documento]
Propósito
[Establecer el propósito del Documento]
Audiencia a la que se dirige
[Establecer a quien va dirigido el presente documento]
Procedimientos y Responsabilidades
[Para las entradas, desarrollo, revisión, modificación, aprobación, producción, almacenamiento,
distribución, mantenimiento y gestión de la configuración]
Responsables
[Establecer las principales responsabilidades de cada uno de los puestos en el equipo de desarrollo durante
las fases del proyecto, de acuerdo con los roles y responsabilidades se establece los niveles de jerarquía que
dictan aprobaciones en cambios, etc.]
3.- Consideraciones Adicionales
•
•
•
Cada documento identificado se deberá diseñar de acuerdo con las normas de documentación
aplicables para el formato, descripción del contenido, numeración de páginas, situación de las
figuras y tablas, marcas de propiedad y seguridad, empaquetado y otros elementos de
presentación.
Se deberá confirmar la fuente y adecuación de los datos de entrada para los documentos. Se
pueden usar herramientas automáticas de documentación.
Se deberán revisar y corregir los documentos preparados de acuerdo con el formato, contenido
técnico y estilo de presentación frente a sus normas de documentación. Personal autorizado
deberá aprobar su adecuación antes de que sean hechos públicos.
-140-
ANEXO C: PLAN DE GESTIÓN DE LA CONFIGURACIÓN
NOMBRE
FECHA
MOTIVO DE CAMBIO
VERSIÓN
[Nombre del Producto Software]
[Fecha de
Cambio]
[Descripción Motivo del Cambio]
[Versión del
Producto
Software]
1.- Introducción
1.1.- Propósito
El propósito de este documento es establecer los elementos necesarios para administrar los documentos y
las fuentes que son elaborados por el equipo del proyecto.
1.2.- Uso Correcto
El uso de este documento facilita la administración de configuración y documenta los cambios que se
puedan presentar en un proyecto.
1.3.- Ámbito
El ámbito de este documento es el proyecto [Nombre de Proyecto] de [Nombre de Cliente] y establece un
plan para administrar los productos de trabajo del proyecto, incluyendo tanto los entregables de software
como la documentación del proyecto.
1.4.- Definiciones Acrónimos y Abreviaturas
[Definir todos los términos, acrónimos, y abreviaciones requeridas para interpretar correctamente este
Plan de Administración de Configuración. Esta información puede entregarse como una referencia al
Glosario del proyecto.]
1.5.- Referencias
[Proveer una lista completa de todos los documentos a los que se haga una referencia en cualquier parte
de este Plan de Administración de Configuración. Identificar cada documento por título, edición (si es
aplicable, fecha y editorial. Especificar las fuentes de donde se pueden obtener estas referencias. Esta
información puede ser entregada como una referencia a un apéndice o a otro documento.]
1.6.- Resumen Ejecutivo
[Describir el resto del contenido del Plan de Administración de Configuración, además explicar cómo está
organizado este documento.]
2.- Administración de la Configuración
2.1.- Organización, Responsables e Interfaces
[Describir quien será responsable de llevar a cabo las diferentes actividades de Administración de
Configuración (Configuration Management, CM). Se puede hacer referencia a un documento de Asignación
de Roles, para determinar roles responsables para CM. Interfaces: se necesita describir en qué manera se
va comunicar con otros grupos y afectados. Por ejemplo: reuniones semanal, e-mail, video conferencias...]
-141-
2.2.- Herramientas, Entorno e Infraestructura
[Describir el entorno computacional y las herramientas software que serán utilizadas para cumplir las
funciones de administración de la configuración a través del proyecto o del ciclo de vida del producto.
Describir las herramientas y procedimientos requeridos para ser utilizados en los ítems de configuración de
control de versión generados a través del proyecto o del ciclo de vida del producto.
Los elementos involucrados en fijar el entorno de administración de configuración incluyen:
•
•
•
Tamaño anticipado de la data del producto (aprox.).
Distribución del equipo del producto - se puede mostrar usando modelo de despliegue.
Ubicación física de las maquinas servidores y clientes - se puede mostrar usando modelo de
despliegue.]
2.2.1.- Herramientas
Actividad
Herramienta
[Nombre de la actividad que se va cubrir usando
herramienta. Por ejemplo: Administración de
Requerimientos]
[Nombre de la herramienta que se va usar para la
actividad.
Por
ejemplo:
para actividad
Administración de Requerimientos, herramienta
puede ser: MS Excel, MS Office, Requisite Pro,
DOORS... Se puede agregar y dirección donde se
puede encontrar de la instalación de la
herramienta.]
[…………………………]
[…………………………]
2.2.2.- Ubicación Física de las Máquinas, Servidores y Clientes
IP
Nombre
Responsable
[Por ejemplo: 1P:192.168.0.33]
[Por ejemplo SCM SERVER]
[Nombre de administrador de la
maquina o nombre de usuario si
maquina es estación del trabajo]
[…………………………]
[…………………………]
[…………………………]
2.2.3.- Ubicación Física de los Documentos y Líneas Base
Dirección
Tipo de Documento
[La dirección donde se va guardar las líneas base. Se
recomienda usar nombres relativos \\<nombre de
servidor>\<direccion> Por ejemplo: para línea base de
requerimientos: \\CM SERVER\Reqs\]
[…………………………]
[Nombre del tipo de documento que se va guardar
dentro de la línea base. Por ejemplo: para la
Administración de Requerimientos, puede ser:
.DOC, .TXT y como base de datos PROYECT1.mdf ]
[…………………………]
3.- Programa de Administración de la Configuración
3.1.- Identificación de la Configuración
3.1.1.- Métodos de Identificación
[Describir cómo serán nombrados, marcados y numerados los artefactos del proyecto o del producto. El
esquema de identificación necesita cubrir el hardware, software de sistema, productos comerciales, y
todos los artefactos desarrollados para la aplicación, listados en la estructura de directorios del producto;
por ejemplo, planes, modelos, componentes, software de testing, resultados y data, ejecutables, etc.]
-142-
3.1.2.- Línea Base del Proyecto
Las línea base proveen un estándar oficial en el cual se basarán los trabajos subsecuentes y a los cuales
solo se le pueden aplicar cambios autorizados.
[Describir en qué puntos durante el proyecto o el ciclo de vida del producto se han establecido línea base.]
La mayoría de las línea base comunes deberían estar al final de cada fase de Concepción, Elaboración,
Construcción, y Transición. Las línea base también pueden ser generadas al final de las iteraciones con las
diferentes fases o incluso más frecuentemente.
[Describir quién autoriza una línea base.]
Se puede hacer referencia a el documento "Política, estándar y procedimiento de CM" general, si proyecto
no tiene algunas cosas especificas y si este documento existe dentro de la organización.
3.2.- Configuración y Control de Cambios
3.2.1.- Comité de Control de Cambios CCC
[Describir los miembros y procedimientos para el proceso de petición de cambios y aprobaciones que deben
ser seguidos por el CCC. Se puede hacer referencia a el documento "Política, estándar y procedimiento de
CM" general, si el proyecto no tiene algunas cosas especificas y si este documento existe dentro de la
organización.]
3.2.2.- Proceso de Petición de Cambios y Aprobación
[Describir los procesos por los cuales los problemas y cambios se han enviado, revisado y dispuesto.]
[Diligenciar la Solicitud de Cambio]
SOLICITUD DE CAMBIO
ID Solicitud
[Número de la Solicitud de Cambio]
Fecha
[Fecha de Diligenciamiento de la Solicitud]
Datos Solicitante
Solicitante
Teléfono(s)/Extensión(s)
/Correo Electrónico
[Persona que inicia la inquietud de la solicitud]
[Datos de la Persona que genera la solicitud]
Identificación
Aplicación
Línea Base Aplicativo
Descripción del Cambio
Solicitad
[Componente de software sobre el cual recae la solicitud]
[Escribir el número de la versión del aplicativo para el cual se solicita el
cambio]
[Describir el cambio que se desea, lo más detallada y claramente posible]
Clasificación
Prioridad De acuerdo con la solicitud, se prioriza la solicitud de cambio de acuerdo con la siguiente tabla.
Tipo
[Descripción]
Crítico
[Interrumpe el funcionamiento del aplicativo]
[Comportamiento diferente a las especificaciones funcionales y/o
degradación del desempeño del sistema]
[Mejoras de forma o adición de funcionalidad a considerar para próximas
versiones del software]
Importante
Deseable
Tipo Se hace una primera clasificación de la solicitud de cambio de acuerdo con el tipo de cambio en la
siguiente tabla.
Tipo
[Descripción]
Adición
[Incorporación nueva funcionalidad al sistema]
Mejora
[Modificación para aumentar el rendimiento técnico del sistema]
Defecto
[Defectos encontrados en la aplicación]
-143-
Evaluación
Responsable
Planeación
Fecha de Asignación
[Nombre de la persona a quien se le asigna la evaluación funcional de la
solicitud]
[Fecha en que se hace la asignación de la evaluación]
Seguimiento
Observaciones
Adicionales
Estado de la Solicitud
[Cualquier otra información que podría ayudar a aclarar la solicitud. La
solicitud será actualizada sobre el mismo formato al recibir información
adicional o al ocurrir un cambio de estado. Por ejemplo el por qué es
importante realizar el cambio, objetivos, ventajas, relación con normas y/o
documentación que sustente el cambio ó el motivo por el cual se rechaza la
solicitud dado que este sea el caso]
[corresponde a los posibles estados en los que se encuentra la solicitud,
estos pueden ser:
•
•
•
•
•
En planeación
Aprobada
Abierta
Cerrada
Rechazada]
3.2.3.- Planeación Implementación del Cambio
Una vez que ha sido asignado un responsable a la solicitud de cambio, este debe diligenciar un formato con
el plan de ejecución del cambio.
Plan Implementación del Cambio
Responsable
[persona quien realiza la planeación del cambio]
Línea Base de Partida
[línea base de la aplicación sobre la cual se solicita el cambio]
Línea Base de Liberar
[línea base de la aplicación que se creará al ejecutar el cambio]
Planeación
Elemento de
Configuración para
Modificar
Responsable
[Se listan los elementos de configuración que se tienen que modificar para
efectuar el cambio; por cada uno de ellos se anota:]
[Responsable de petición de cambio]
Nro. Horas Estimadas
[Hora estimada para realizar el cambio]
Nro. Horas Reales
[Hora que dura el cambio]
Requerimientos
[Lista de requerimientos que se verán afectados por el cambio.]
Justificación
Descripción de la
Actividad
[Se describe cómo se efectuó el proceso de evaluación, las consideraciones
tenidas en cuenta.]
Recomendación
[Dependiendo si el cambio es conveniente o no, se señala en el formato
(como resumen del la planeación)]
Aprobación
Aprobación/Rechazo
por
[Firma de la gerencia del comité de control de cambios.]
Fecha de Decisión
[Fecha en la cual se reúne el comité de control de cambios para aprobar o
rechazar la solicitud.]
3.2.4.- Implementar el Cambio
[Ejecutar y proceder a efectuar la entrega del cambio]
-144-
3.2.5.- Entrega Cambios
[Entregar el cambio efectuado, las pruebas desarrolladas, y la actualización del formulario de
requerimientos]
[Realizar una inspección por parte de un miembro del proyecto asociada con las siguientes actividades:
•
•
•
Revisar documento de requerimientos de la solicitud que se cumpla completamente.
Efectuar pruebas de usuario.
Correr pruebas automáticas.
Si no se cumplieran se devuelve la solicitud]
3.2.6.- Integración de Cambios
• [El administrador de la configuración debe integrar los cambios, generando una nueva versión, los
desarrolladores y usuarios deben verificar la correcta implementación de los cambios, si existieran
errores se devuelve la solicitud]
3.2.7.- Auditoría de las Configuraciones
[Se lleva a cabo por el administrador de la configuración y comprende las siguientes verificaciones:
• Todos los elementos de configuración requeridos se han cumplido.
• Las versiones actuales están acordes a los requisitos especificados.
• La documentación técnica esta completa y describe adecuadamente los elementos de
configuración.
• Todas las solicitudes de cambio han sido resueltas]
3.2.8.- Informe de Estado
Muestra el estado en la que se encuentra una solicitud de cambio.
Informe de Estado
Número de Solicitud
[Identificador de la Solicitud de Cambio]
Resumen de la Solicitud
[Breve descripción de la Solicitud]
Prioridad
[Prioridad dada por el Comité de Control de Cambios]
Estado
[Debe iniciar en qué estado se encuentra la solicitud]
Fecha
[Fecha en la cual se asigna es estado de la solicitud]
Responsable
[Corresponde a la persona encargada de implementar el cambio]
3.3.- Almacenamiento de la información del Proyecto
[Administrar el depósito de las líneas de base del producto, proveer la manipulación del producto
(recuperación y almacenamiento) y los controles necesarios para asegurar que se preserve la integridad del
mismo.]
3.4.- Administración de Versiones
[Toda la información del proyecto es almacenada en un repositorio que puede estar ubicado en la
institución y ser administrado mediante una herramienta de administración de repositorios.] Ubicación
física del repositorio 2.3.
3.4.1.- Generación de Versiones
Una vez se han determinado los cambios que se liberan en una versión, se procede a generarla, para lo
cual se deben cumplir las siguientes características:
Duplicar la base de datos de producción para correr las pruebas sobre estos datos.
Ejecutar todo el set de pruebas de usuario.
3.4.2.- Reportes e Intervenciones
[Describir el contenido, formato, y propósito de los reportes requeridos e intervenciones requeridas.
Los reporte son usados para evaluar la “calidad del producto” en cualquier momento dado del proyecto o
del ciclo de vida de producto. El reporte de los defectos basados en las peticiones de cambios puede
proveer indicadores de calidad muy útiles y, de este modo, alertar a administradores y desarrolladores
acerca de áreas particulares críticas de desarrollo. Los defectos son clasificados según su importancia (alto,
medio, y bajo) y deben ser reportados según la siguiente base:
-145-
•
•
•
Antigüedad (Reportes basados en el tiempo): ¿Hace cuanto se han establecido estos defectos?
¿Cuál es el” tiempo de retraso” desde que los defectos fueron encontrados hasta que fueron
reparados?
Distribución (Reportes basados en números): ¿Cuantos defectos existen en cada categoría,
ordenados por autor, prioridad, y estado de reparación?
Tendencias (Reportes basados en Tiempo y Número): ¿Cuál es el número de defectos
acumulativos encontrados y cuales se han solucionado después del tiempo? ¿Cuál es el ratio de
defectos descubiertos y reparados? ¿Cuál es el “Boquete de Calidad” en términos de defectos
reportados y reparados? ¿Cuál es el tiempo de resolución promedio de un defecto?
Para los reportes si no se usa alguna herramienta tales como ClearQuest, BugTracker, BugZila, o similar se
puede usar MS Excel.]
-146-
ANEXO D: ESPECIFICACIÓN DE REQUERIMIENTOS DE
SOFTWARE (ERS)
NOMBRE
FECHA
MOTIVO DE CAMBIO
VERSIÓN
[Nombre del Producto Software]
[Fecha de
Cambio]
[Descripción Motivo del Cambio]
[Versión del
Producto
Software]
1.- Introducción
1.1.- Propósito
[Identificar el producto cuyos requerimientos de software se detallan en este documento, incluyendo la
revisión o el número de versión. Describe el alcance del producto que está regulado por la presente
especificación de requerimientos]
1.2.- Uso Correcto
[El uso de este documento, describe y analiza en su totalidad los requerimientos de manera organizada que
el usuario solicite del proyecto de desarrollo.]
1.3.- Documentos en Convenio
[Describir todas las normas o los convenios con documentos que se siguieron al escribir esta ERS, como
fuentes o destacando que tienen un significado especial. Por ejemplo, deberá indicarse si las prioridades
para los requisitos de nivel superior se supone que son heredadas por los requisitos detallados, o si cada
requisito debe tener su propia prioridad.]
1.4.- Audiencia Deseada y Sugerencias de Lectura
[Describir los diferentes tipos de lectores al que el documento está destinado, como desarrolladores,
administradores de proyectos, personal de marketing, los usuarios, evaluadores, y escritores de
documentación. Describe lo que el resto del presente ERS contiene y cómo se organiza. Sugiere una
secuencia para la lectura del documento, comenzando por las secciones de información general y
procediendo a través las secciones que son más pertinentes para cada tipo de lector]
1.5.- Ámbito del Proyecto
[Proporcionar una breve descripción del software que se especifica y su finalidad, incluyendo beneficios
pertinentes, objetivos y metas. Relaciona el software a los objetivos institucionales o estrategias de
negocios]
1.6.- Referencias
[Mencionar cualquier otro documento o direcciones web a la que se refiere el presente ERS. Estos pueden
incluir guías de estilo de interfaz de usuario, los contratos, normas, especificaciones de requisitos del
sistema, documentos de casos de uso, o un documento de visión y alcance]
-147-
2.- Descripción General
2.1.- Perspectiva del Producto
[Describir el contexto y el origen del producto que se especifican en el presente ERS. Por ejemplo, indica si
el presente producto es una continuación en el miembro de una familia de productos, un reemplazo de
cierto sistema existente, o un nuevo producto.]
2.2.- Clases de Uso y Características
[Identificar las distintas clases de usuarios que utilizarán este producto, pueden ser diferenciados según la
frecuencia de uso, un subconjunto de las funciones de producto utilizado, la experiencia técnica, privilegios
o niveles de protección, nivel educativo, la experiencia. Describir las características pertinentes de cada
clase de usuario]
3.- Requerimientos Funcionales y de Capacidad
3.1.- Características del Producto
[Resumir las características principales que el producto contiene o las funciones importantes que realiza o
permite al usuario realizar. Organizar funciones para que sean comprensibles para cualquier lector de ERS.
Una imagen de los principales grupos de los requisitos relacionados y cómo se relacionan, como un
diagrama de flujo de datos a nivel superior o un diagrama de clase es a menudo eficaz.]
3.2.- Capacidad
[Este debe ser dividido en subpárrafos para detallar los requerimientos asociados a la capacidad del
elemento de configuración del software. La palabra "capacidad" puede ser reemplazada por "Función",
"sujeto", "objeto", o cualquier otra utilidad para la presentación de los requisitos.]
3.3.- Capacidad del Elemento de Configuración del Software
[Identificar un elemento de configuración de software requerido, y debe enumerar los requerimientos
asociados con la capacidad. De ser posible, la capacidad puede ser más claramente especificada
dividiéndola en las partes que la constituyen, estas partes deben estar especificadas en subpárrafos. Los
requerimientos deben especificar el comportamiento requerido por el elemento de configuración e incluir
parámetros aplicables, como: tiempos de respuesta, tiempos de transición, otras restricciones de tiempos,
secuencias, precisión capacidades de (cuanto), prioridades, requerimientos de operación continua y
derivaciones permisibles basados en las condiciones de operación.]
[Los requerimientos deben incluir el comportamiento bajo condiciones no esperadas o no permitidas,
manejo de errores y cualquier provisión a ser incorporada al elemento de configuración de software que
provee la continuidad de operación en eventos de emergencia]
3.4.- Entorno de Funcionamiento
[Describir el entorno en el que el software funcionará, incluyendo la plataforma de hardware, sistemas
operativos y versiones, y cualquier otro componente de software o aplicaciones con las que deben coexistir
pacíficamente]
[Detallar lo que el software debe de hacer. Se encuentran muy ligados al modelo conceptual propuesto. Se
concretarán las operaciones de tratamiento de información que realiza el sistema, tales como
almacenamiento de información, generación de informes, cálculos, estadísticas, operaciones, se deben
responder a las preguntas]
¿Qué hará el sistema?
¿Cuándo lo hará?
¿Existen varios modos de operación?
¿Cómo y cuándo puede cambiarse o mejorarse el sistema?
¿Existen restricciones de la velocidad de ejecución, tiempo de respuesta o rendimiento?
-148-
3.5.- Diseño y Restricciones de Implementación
[Describir los elementos o aspectos que limitarán las opciones disponibles para los desarrolladores. Estas
pueden incluir: las políticas corporativas o reglamentarias; limitaciones de hardware (requisitos de tiempo,
los requisitos de memoria); interfaces con otras aplicaciones, tecnologías, herramientas y bases de datos
que se utilizarán; operaciones paralelas, los requisitos de lenguaje, los protocolos de comunicación, las
consideraciones de seguridad, las convenciones de diseño o estándares de programación (por ejemplo, si la
organización del cliente será responsable del mantenimiento del software suministrado).]
3.6.- Suposiciones y Dependencias
[Indicar cualquier factor que se asuma (en lugar de los hechos que se conocen) que puedan afectar a los
requisitos establecidos en la ERS. Estos podrían incluir terceras partes o componentes comerciales que va a
utilizar, las cuestiones relacionadas con el desarrollo o Entorno de Funcionamiento o limitaciones. El
proyecto podría verse afectado si estas suposiciones son incorrectas, no se comparten, o cambian. También
identifica las dependencias que el proyecto tenga de factores externos, tales como componentes de
software que tiene la intención de volver a utilizar de otro proyecto]
3.7.- Características del Sistema
[Ilustrar la organización de los requisitos funcionales para el producto por características del Sistema, los
principales servicios que ofrece el producto. Es posible que se prefiera organizar esta sección por el caso de
uso, modo de operación, clase de usuario, el objeto jerarquía de clases, funcionales, o combinaciones de
estos, cualquiera que sea permita el sentido más lógico para su producto.]
3.8.- Características del Sistema 1
[No titular "Característica del Sistema 1." Establecer el nombre de la característica en sólo unas pocas
palabras.]
3.8.1.- Descripción y Prioridades
[Proporcionar una breve descripción de la función e indicar si es de alta, media o baja prioridad. También
puede incluir clasificaciones específicas, componentes prioritarios, como beneficio, penalizaciones, el costo
y riesgo (cada uno valorado en una escala relativa de un mínimo de 1 y un máximo de 9).]
3.8.2.- Estímulo/ Respuesta a Secuencias
[Listar las secuencias de las acciones del usuario y las respuestas del sistema que estimulan el
comportamiento definido para esta función. Estos corresponden a los elementos de diálogo asociado con
casos de uso.]
3.8.3.- Requerimientos Funcionales
[Listar los requisitos funcionales detallados relacionados con esta función.]
[Estas son las capacidades de software que deben estar presentes para que el usuario pueda llevar a cabo
los servicios prestados por la entidad, o para ejecutar el caso de uso. Incluye cómo el producto debe
responder a condiciones de error esperado o entradas inválidas. Los requisitos deben ser concisos,
completos, sin ambigüedades, verificables, y necesarios.]
3.8.4.- Requerimientos No Funcionales
[Listar los requisitos no funcionales detallados relacionados con esta función.]
[Especifica criterios que pueden usarse para juzgar la operación de un sistema en lugar de sus
comportamientos específicos, se refieren a todos los requisitos que ni describen información a guardar, ni
funciones a realizar.]
[Cada requisito debería ser identificado con un número de secuencia o una etiqueta significativa de algún
tipo.]
REQ-1:
REQ-2:
-149-
3.8.5.- Características del Sistema 2
[Y así en adelante, n características del sistema]
4.- Requerimientos de Interfaz Externa
4.1.- Interfaz de Usuario
[Describir las características lógicas de cada interfaz entre el producto de software y los usuarios. Esto
puede incluir imágenes de muestra de la pantalla, todas las normas de interfaz gráfica de usuario o
producto guías de estilo familiar que ha de seguir, las limitaciones de pantalla de diseño, los botones y
funciones estándar (por ejemplo, ayuda) que aparecen en cada pantalla, atajos de teclado, las normas de
error de mensaje de la pantalla, y etc. Define los componentes de software que se necesita una interfaz de
usuario. Los detalles del diseño de la interfaz de usuario deben ser documentados en las especificaciones
de interfaz de usuario por separado.]
4.2.- Interfaz de Hardware
[Proporcionar una breve descripción de la función del hardware e indican si es de alta, media o baja
prioridad. También podría incluir clasificaciones específicas, componentes prioritarios, como beneficia, la
pena, el costo y riesgo (cada uno valorado en una escala relativa de un mínimo de 1 y un máximo de 9]
4.3.- Interfaz de Software
[Describir las conexiones entre este producto y otros componentes de software específicos (Nombre y
versión), incluyendo bases de datos, sistemas operativos, herramientas, bibliotecas y componentes
comerciales integrados. Identificar los elementos de datos o mensajes que entran en el sistema y describe
el propósito de cada uno. Describir los servicios necesarios y la naturaleza de las comunicaciones. Se
refieren a los documentos que describen detalles de aplicación, protocolos de interfaz de programación.
Identifica los datos que serán compartidos a través de componentes de software. Si el mecanismo de
intercambio de datos deben ser implementadas de una manera específica (por ejemplo, el uso de un área
de datos global en un sistema operativo multitarea), esto como una restricción de la aplicación.]
4.4.- Interfaz de Comunicaciones
[Describir los requisitos relacionados con las funciones de comunicación requeridas por este producto,
incluyendo el correo electrónico, navegador web, protocolos de red de servidor de comunicaciones,
formularios electrónicos, y así sucesivamente. Define cualquier formato de mensaje correspondiente.
Identifica los estándares de comunicación que se utilizarán, como FTP o HTTP. Especifica cualquier
comunicación o de seguridad de cifrado cuestiones, los datos de tasas de transferencia y los mecanismos
de sincronización.]
4.5.- Requerimientos de Seguridad Física
[Especificar los requisitos que tienen que ver con la posible pérdida, daño o perjuicio que pudieran
derivarse de la utilización del producto. Definir las salvaguardias o las acciones que se deben tomar, así
como las acciones que deba evitarse. Se refieren a todas las políticas externas o las regulaciones de
seguridad que puedan afectar al hardware y los medios de almacenamiento de datos. Define las
certificaciones de seguridad que deben cumplirse.]
5.- Requerimientos de Seguridad de Acceso
[Especificar los requisitos con respecto a las cuestiones de seguridad o privacidad que rodean el uso del
producto o la protección de los datos utilizados o generados por el producto. Definir los requisitos de
identidad de autenticación de usuario. Se refiere a todas las políticas externas o una normativa que
contenga las cuestiones de seguridad que afectan al producto. Define las certificaciones de seguridad o de
privacidad que deben ser satisfechas.]
6.- Requerimientos de Base de Datos
[El análisis de requerimientos para una base de datos incorpora las mismas tareas que el análisis de
requerimientos del software]
-150-
[Requerimientos administrativos: se requiere mucho más para el desarrollo de sistemas de bases de datos
que únicamente seleccionan un modelo lógico de base de datos. La bases de datos es una disciplina
organizacional, un método, más que una herramienta o una tecnología. Requiere de un cambio conceptual
y organizacional.]
[Esto debe especificar los requisitos lógicos para cualquier información que será puesta en una base de
datos. Esto puede incluir lo siguiente:
•
•
•
•
•
Tipos de información usadas por varias funciones;
Frecuencia de uso;
Entidades de los datos y sus relaciones;
Restricciones de integridad;
Requerimientos en la retención de datos.]
7.- Requerimientos de Instalación y Aceptación del Software
7.1.- Requerimientos de Recursos del Sistema
[Este párrafo debe dividirse en los siguientes subpárrafos.]
7.2.- Requerimientos de Hardware del Computador
[Especificar los requerimientos de de cualquier elemento de hardware que debe ser utilizado por el
elemento de configuración de software. Los requerimientos deben incluir, de ser aplicable, número de cada
tipo de equipo, tamaño, capacidad y otras características requeridas como procesadores, memorias,
dispositivos I/O, almacenamiento auxiliar, comunicaciones, equipos de red u otro equipo.]
7.3.- Utilización de los Recursos de Hardware
[Especificar la utilización máxima permisible de cada elemento de hardware del elemento de configuración
de software, por ejemplo la capacidad máxima de almacenamiento, capacidad del procesador,
comunicaciones, redes, etc. Debe incluir medidas de medición bajo estas condiciones, con porcentajes
establecidos previamente.]
7.4.- Requisitos de Software
[Especifica los requisitos, en su caso, en relación con programas informáticos que deben ser utilizados por,
el sistema. Los ejemplos incluyen sistemas operativos, sistemas de bases de datos, comunicaciones /
software de red, software de dispositivos de entrada y salida.]
7.5.- Requisitos de Equipos de Comunicación
[Este apartado especifica los requisitos adicionales, en su caso, en relación con el equipo de
comunicaciones que deben ser utilizados por el sistema. Los ejemplos incluyen ubicaciones geográficas
vinculadas; topología de configuración y red, las técnicas de transmisión, las tasas de transferencia de
datos, portales, requieren de tiempos de uso del sistema, el tipo y volumen de datos a transmitir.]
8.- Requerimientos de Aceptación
[Si hay Requerimientos de Aceptación para el producto en distintas circunstancias, establecerlas aquí y
explicar su razón de ser, para ayudar al desarrollador a entender la intención y tomar decisiones
adecuadas de diseño. Especifica las relaciones de tiempo para los sistemas de tiempo real. Hace dichos
requisitos lo más específicos posibles. Es posible que necesite establecer Requerimientos de Aceptación
para los distintos requisitos funcionales o características.]
9.- Documentación de Usuario
[Lista de la Documentación de Usuario componentes (tales como manuales de usuario, ayuda en línea y
tutoriales) que será entregado junto con el software. Identifica cualquier documentación de Usuario
conocida formatos de entrega o las normas.]
-151-
[Se componen de los siguientes documentos entre otros:
•
•
•
•
La guía de instalación: Cómo instalar el software.
El tutorial: explica, paso a paso, cómo usar las diferentes características del software.
La guía de referencia: da una completa descripción a todas las características del software.
Los apéndices: trucos y pistas, lecturas sugeridas, direcciones de contacto e información general.]
10.-Evaluación de Requerimientos del Software
[Especificar las características de calidad adicional para el producto que va a ser importante para
cualquiera de los clientes o los desarrolladores. Algunos a considerar son: la adaptabilidad, la
disponibilidad, exactitud, flexibilidad, interoperabilidad, mantenibilidad, portabilidad, confiabilidad,
reusabilidad, robustez, capacidad de prueba, y la usabilidad. Se debe escribir estos para ser específicos,
cuantitativos y verificables cuando sea posible. Por lo menos, aclarar la relación, referencias para varios
atributos, tales como la facilidad de uso sobre la facilidad de aprendizaje.]
Provisiones de calificación:
Esta sección define un conjunto de métodos calificación que deben de ser utilizados para asegurar que un
requerimiento ha sido cumplido.
Los métodos de calificación pueden incluir:
•
Demonstración: La operación del sistema en desarrollo, o parte de este, recae en operaciones
funcionales observables, la operación funcional de este no requiere el uso de ningún instrumento
de prueba especial.
• Pruebas: La operación del sistema en desarrollo, o parte de este, usando un instrumento o
cualquier otro tipo de equipo especial de pruebas para recoger información luego del análisis.
• Análisis: El proceso de datos acumulados obtenidos de otro método de calificación.
• Inspección: La exanimación visual del código el sistema de software, documentación, etc.
• Métodos de calificación especiales: Cualquier método de calificación especial para el sistema de
software, por ejemplo herramientas especiales, técnicas, procedimientos y límites de aceptación
• Trazabilidad de requerimientos. Este párrafo debe incluir: Trazabilidad de cada requerimiento de
sistemas (o subsistema si es aplicable), que concierna al software en desarrollo.
11.-Otros Requerimientos
[Define cualquier otro requerimiento no contemplado en otra parte del ERS. Esto podría incluir requisitos
de base de datos, los requisitos de internacionalización, los requisitos legales, los objetivos de reutilización
para el proyecto, y así sucesivamente. Añadir cualquier nuevo artículo que tengan relación con el
proyecto.]
Glosario
[Define todos los términos necesarios para interpretar adecuadamente el ERS, incluyendo siglas y
abreviaturas. Es posible que desee crear un glosario independiente que abarca varios proyectos o de toda
la organización, y sólo incluyen términos específicos de un solo proyecto en cada uno de ERS.]
Análisis de Modelos
[Opcionalmente, puede incluir cualquiera de los modelos de análisis pertinentes, tales como diagramas de
flujo de datos, diagramas de clases, diagramas de transición de estados, o diagramas de entidad-relación.]
Lista de Problemas
[Esta es una lista dinámica de las cuestiones abiertas, requisitos que quedan por resolver, incluyendo TBD,
en espera de las decisiones, la información que se necesita, a la espera de resolución de conflictos, y
similares.]
-152-
ANEXO E: DISEÑO DE ARQUITECTURA DE ALTO NIVEL Y
DETALLADO
NOMBRE
FECHA
MOTIVO DE CAMBIO
VERSIÓN
[Nombre del Producto Software]
[Fecha de
Cambio]
[Descripción Motivo del Cambio]
[Versión del
Producto
Software]
1.- Introducción
1.1.- Propósito
[Describir la manifestación técnica de los requisitos del sistema, y lista de los objetivos que pretende lograr
el diseño]
1.2.- Uso Correcto
[No debe abarcar más de una sola página, donde se especifica:
•
•
•
•
De qué es el nuevo sistema.
El entorno social y tecnológico en el que el sistema funcionará.
Sus ventajas sobre sistemas anteriores.
Quiénes son los usuarios potenciales, y cómo se beneficiarán de ella]
2.- Arquitectura
2.1.- Introducción
[Deberá contener detalles como por ejemplo:
•
•
•
•
•
•
Tipo de sistema (distribuido, cliente-servidor, etc.)
En qué plataforma (s) el sistema va a correr.
Las entradas y salidas principales
Qué interfaces de usuario, el sistema tiene y en qué forma (web, interfaz gráfica de usuario de
Windows, etc.)
Las distancias entre los componentes en los ordenadores diferentes, en una LAN, en la web.
Una estimación aproximada del número de casos de cada parte (Módulos, hilos, procesos
•
, clientes, etc.)
Un diagrama de bloque de los módulos y las relaciones entre ellos puede ser muy útil aquí. Tratar de
destacar los aspectos dinámicos a pesar de que este punto de vista es en su mayoría es estáticos: incluyen
flechas para indicar el flujo de Datos y/o control, varios cuadros para indicar varias instancias de un hilo o
un Módulo, etc.
-153-
En una fase inicial de desarrollo, tendrá que elegir las principales tecnologías y elementos en los que se va
a basar el diseño. Las áreas en las que deben tomarse estas decisiones son, entre otras:
•
•
Las tecnologías de base; por ejemplo, la elección entre una base de datos y un sistema de
archivos, la elección entre una aplicación de red y un cliente web, etc.
El método de integración; por ejemplo, la elección entre un bus de servicio de empresa o un canal
punto a punto.]
3.- Interfaces
3.1.- Diagramas de Casos de Uso
[Definir mediante una notación gráfica, el comportamiento del sistema al afrontar un requisito o una tarea
de negocio]
FICHA TÉCNICA: DIAGRAMA DE CASOS DE USO
Fase en la que se usa:
Diseño de Software
Metodología:
UML
Nombre del producto:
Diagrama de Caso de uso
Herramientas para construirlo: [Sistema que se está
Desarrollando]
Definición del producto: Diagrama que permite especificar los requisitos funcionales de un sistema
Utilidad para el cliente del proceso de diseño: Permite estructurar el sistema en funciones y definir
los actores o roles que tendrán acceso a dichas funciones.
Nivel de detalle requerido para Diseño: a nivel de funciones que realizan alguna transacción que
involucra un conjunto de datos.
Símbolos Y Significado
Nombre del símbolo
Actor o Rol
Significado
Es quien interactúa con el
sistema. Puede acceder a una o
más funciones. En un sistema.
Paquete de casos de uso
Es un conjunto de casos de uso
agrupados según un cierto
criterio, el cual puede ser: grupos
de funciones, por usuarios, o por
fases del proceso organizacional
a quien los casos de uso dan
soporte.
Caso de uso
Función que el sistema pone a la
disposición de los actores.
Produce un resultado de valor
para los actores.
Relación de
Usado para establecer una
asociación bidireccional entre un
actor y un caso de uso.
Comunicación
-154-
Símbolo
Relación include
Usado para establecer la relación
entre 2 casos de uso, en el cual
un caso de uso contiene o
incluye al otro
Relación extend
Usado para establecer la relación
entre 2 casos de uso en la cual
uno extiende el comportamiento
del otro. El caso de uso 2 se
realiza si dentro del caso de uso
1 se da cierta condición.
Relación de
generalización
Usado para establecer la relación
“es un” entre actores o casos de
uso, generales y específicos.
Insumos: Requisitos Funcionales del Sistema, Diagramas de Procesos, Diagramas de actividades.
Elementos asociados a un caso de uso: Reglas del negocio que aplican para cada caso de uso.
Relaciones entre casos de uso: extend, include y actores que participan en cada caso de uso.
3.2.- Organización de Casos de Uso
FICHA TÉCNICA DEL PRODUCTO: ORGANIZACIÓN DE CASOS DE USO
Fase en la que se usa: Diseño de Software
Nombre del producto: Diagrama de
Paquetes de Casos de Uso
Metodología:
UML
Herramientas para construirlo:
[Sistema que se está Desarrollando]
Definición del producto: Los paquetes ofrecen un mecanismo general para la organización de los
modelos/subsistemas agrupando elementos de modelado. Puede ser usado para agrupar funcionalmente
los casos de usos de un sistema.
Utilidad para el cliente del proceso de diseño: Permite estructurar el sistema en subsistemas o módulos.
Nivel de Detalle Requerido para Diseño: Alto
-155-
Nombre del símbolo
Símbolos Utilizados y su Significado
Significado
Actor o Rol
Es quien interactúa con el sistema.
Puede acceder a uno o más
paquetes. En algunos casos, el actor
es un sistema.
Paquete
Es un conjunto de paquetes o de
casos de uso
agrupados según un cierto criterio, el
cual puede ser:
Relación de comunicación
Usado para establecer una asociación
bidireccional entre un actor y un
paquete.
Se muestran a partir del segundo
nivel.
Estereotipo
Usado para identificar el tipo de
paquete, si se trata de
Relación de dependencia
Usada para denotar cuando un caso
de uso de un caso de uso de otro
paquete. Se muestran a partir del
segundo nivel.
Símbolo
<< subsistema >>
Insumos: Cadena de Valor de Procesos, Diagrama de Procesos, Diagrama de Jerarquía de Procesos,
Diagrama de Actividades, Inventario de Procesos, Árbol de Procesos
3.3.- Escenarios de Casos de Prueba
FICHA TÉCNICA DEL PRODUCTO: ESCENARIOS CASOS DE USO
Fase en la que se usa: Diseño de Software
Nombre del producto: Escenario de caso de uso
(realización del caso de uso detallado)
Metodología:
Herramientas para construirlo:
[Sistema que se está Desarrollando]
UML
Escenario
Flujo de eventos normal o
especificación del caso de uso
Flujo de eventos
excepcionales o alternativos.
Flujo alternativo o puntos de
Símbolos y Significado
Significado
Conjunto de pasos escrito
en lenguaje natural que
muestra el flujo de eventos
principal, a través de una
secuencia de acciones que
ocurren entre los actores y
el sistema.
Flujo alternativo:
Conjunto de pasos que
describen el flujo de
-156-
Estructura
Numeración de los pasos: números
ordinales: 1., 2., ..n.
Frases empleadas:
“El usuario < acción >”
Ejemplo: “El usuario selecciona
Guardar.
“El sistema <acción>”
Ejemplo: “El sistema guarda el número,
fecha de la orden en la Base de Datos”.
Numeración de pasos de un flujo
alternativo:
extensión. Puntos de
excepción.
acciones al ocurrir una
cierta condición. Se utiliza
para mostrar las diferentes
opciones posibles de un
conjunto donde todas
tienen la misma posibilidad
de ser seleccionadas por el
usuario.
Flujo excepcional:
Conjunto de pasos que
describen las acciones que
se deben realizar en caso de
ocurrir alguna condición
excepcional, diferente al
flujo normal de eventos. Por
lo general, se utiliza para
manejar condiciones de
validación, manejo de
errores, etc.
Precondiciones o condiciones
de entrada
Pos condiciones o condiciones
de salida
Describen la condición previa
al conjunto de acciones del
flujo feliz, o lo que debe
ocurrir antes que se ejecute
este flujo.
Describe el estado final
obtenido después de
ejecutarse el flujo normal de
eventos.
Números ordinales seguidos de una
letra. Cuando haya más de una acción
dentro de un flujo excepcional, se
incorporan números.
Ejemplo: flujo normal:
2.- El sistema muestra la información
de la orden en pantalla.
Flujo excepcional:
2.a.- Si la orden no existe, el sistema
muestra un mensaje de advertencia.
Numeración de pasos de un flujo
alternativo:
Ejemplo: flujo normal:
3.- El usuario selecciona una opción.
Flujo alternativo:
3a.1.- Si el usuario selecciona
“Guardar”:
3a.2.- El sistema guarda los datos
suministrados en la Base de Datos.
3b.1.- Si el usuario selecciona
“Imprimir”:
3b.2.- El sistema activa el caso de uso
“Imprimir orden”.
Ejemplo:
“El usuario Ingresó al sistema de
Órdenes de Pago”
* El usuario registró los datos de la
solicitud de autorización para la
* El sistema almacenó los datos de la
solicitud y actualizó el estado de la
misma.
3.4.- Diagrama de Componentes
[Representa como un sistema de software es dividido en componentes y muestra la dependencia entre
estos.]
Las vistas centrales de un modelo arquitectónico son los diagramas de componentes, donde se muestran
los elementos primarios del sistema y cómo dependen unos de otros.
Un diagrama de componentes típico de un sistema grande podría incluir componentes como estos:
•
•
•
•
•
•
Presentación: Componente que proporciona acceso al usuario, normalmente mediante la
ejecución en un explorador web.
Componentes de servicio Web: Proporciona una conexión entre los clientes y los servidores.
Controladores de casos de uso: Dirige al usuario a través de los pasos de cada escenario.
Núcleo del negocio: Contiene clases que se basan en clases del modelo de requisitos, implementa
las operaciones clave e impone las restricciones del negocio.
Base de datos: Almacena los objetos del negocio.
Componentes de registro y control de errores.
Además de los propios componentes, puede mostrar las dependencias entre ellos. Una flecha de
dependencia entre dos componentes indica que los cambios que se realicen en el diseño de uno de ellos
pueden afectar al diseño del otro.
-157-
3.5.- Diseño Lógico de la Base de Datos
[Describir las partes significativas de la arquitectura lógica del modelo de la base de datos, como su
descomposición en paquetes, subsistemas y clases. Sus elementos son: objetos, entidades, nodos,
relaciones, enlaces, que realmente no tienen presencia real en la física del sistema. Por ello para acceder a
los datos tiene que haber una posibilidad de traducir la estructura lógica en la estructura física.]
3.6.- Diseño Físico de la Base de Datos
[Describir el modelo físico de la base de datos que refleja la distribución de las tablas en la base de datos,
se puede establecer los tipos de datos a utilizar en cada tabla y las restricciones claves primarias y
foráneas]
3.7.- Diagrama de Secuencia
[Ilustrar la integración de un conjunto de o objetos en una aplicación, a través del tiempo y se modela un
diagrama de secuencia para cada método de la clase]
[Representación utilizando formato UML]
Un diagrama de secuencia de muestra la interacción de un conjunto de objetos a través del tiempo. Se
modela para cada caso de uso, se puede prescindir si el caso de uso es muy sencillo.
-158-
Fase en la que se usa:
Diseño de Software
FICHA TÉCNICA: DIAGRAMA DE SECUENCIA
Nombre del producto:
Diagrama de Secuencia Detallado
Metodología:
Herramientas para construirlo: [Sistema que se está
Desarrollando]
UML
Definición del producto: Diagrama que describe la dinámica de una aplicación o una parte de ella,
mostrando las interacciones entre los objetos desde el punto de vista temporal, insistiendo en la
cronología del envío de mensajes.
Utilidad para el cliente del proceso de diseño: Permite conocer en detalle para cada evento del sistema
o hilo de operación, cuáles métodos se requieren de las instancias de las clases involucradas en la
realización del caso de uso, así como el ordenamiento de los mensajes entre los objetos. Facilita la
programación orientada a objetos.
Nivel de detalle requerido para Programación: Se puede obtener uno o más diagramas de secuencia
detallados para un caso de uso, tomando en cuenta que por cada uno de éstos existen varios eventos
del sistema o hilos de operación. El nivel de detalle debe incluir: métodos utilizados por clase, atributos
o parámetros que se pasan a través de los mensajes, valores de retorno, condiciones sobre los mensajes
e iteraciones, tipos de mensajes (síncronos, asíncronos, de retorno). También se necesita identificar la
clase controladora que resolverá el evento del sistema, y debe estar previamente definida con todas sus
operaciones, y debidamente documentada.
Símbolos y Significado
Símbolo
Nombre del Símbolo
Significado
Representa al actor que inicia
los eventos del sistema ó
Actor
recibe mensajes del sistema a
través de la clase
controladora.
Línea de vida
Ejecución ó caja de activación
Uso de la Interacción
Línea de vida asociada a un
objeto. Representa la duración
de la vida de un objeto dentro
del diagrama de secuencia.
Indica la duración. Es un
elemento opcional que se
puede utilizar para apilar
operaciones que se activan
durante una temporada dada
en el objeto que emite los
mensajes.
Identifica una referencia que
se hace de una interacción, la
cual puede definirse como un
pedazo del diagrama de
secuencia que es utilizado en
otra parte, así como la
referencia a otro diagrama de
secuencia que es utilizado en
otra parte, así como la
referencia a otro diagrama de
secuencia.
-159-
Alternativas de Interacción
Mensajes entre objetos
Elementos de un mensaje
Se utiliza para demarcar
dentro del diagrama de
secuencia, la sección de
acciones dada una u otra
condición. Las condiciones se
separan por líneas punteadas.
Establecen el tipo de
comunicación entre objetos
del diagrama; existen varios
tipos:
a) Indefinido: puede ser un
flujo síncrono o asíncrono
b) Síncrono: el objeto que
envía un mensaje espera una
respuesta.
c) Asíncrono: el objeto que
manda el mensaje no
espera la respuesta del otro
objeto, sino que continúa su
ejecución.
d) Retorno: muestra el retorno
a partir de una llamada de un
objeto; pueden mostrarse los
valores que retorna. Algunos
diseñadores excluyen este
tipo de mensajes.
e) Creación de objeto: indica
el inicio de vida del objeto a
quien se envía el mensaje.
f) Destrucción de objeto:
indica la destrucción explícita
del objeto o la finalización de
su línea de vida.
g) Mensaje “this”: es un
mensaje que envía un objeto a
sí mismo.
Nota: para los mensajes
indefinidos, asíncronos o tipo
“this” se puede incluir la caja
de duración.
Método: el método indica la
acción que realizará la clase
que recibe dadas las
condiciones y parámetros de
la clase que envía. En el
ejemplo, “Calcular” es un
método del objeto b.
Argumentos o parámetros: si
el método requiere de
argumentos para su ejecución,
éstos se hacen explícitos.
Valor de retorno o variable de
retorno: es el valor que
retorna el método invocado.
-160-
3.8.- Prototipo de Pantallas
[Describir los prototipos de pantallas del proyecto, para evaluar la posicion de la información sobre la
pantalla: encabezados, botones, mensajes]
-161-
ANEXO F: PLAN DE PRUEBAS
NOMBRE
FECHA
MOTIVO DE CAMBIO
VERSIÓN
[Nombre del Producto Software]
[Fecha de
Cambio]
[Descripción Motivo del Cambio]
[Versión del
Producto
Software]
1.- Introducción
1.1.- Propósito
El propósito del plan de pruebas es proveer la información necesaria para planear y controlar los esfuerzos
de pruebas de un proyecto o iteración específicas. Describe el enfoque para probar el software y es el plan
general generado y utilizado por administradores para dirigir el esfuerzo de pruebas.
Este plan de pruebas soporta los siguientes objetivos
•
•
•
•
•
•
•
Identificar los ítems a probar.
Describe, en términos generales, el enfoque de pruebas a ser usado.
Identifica los recursos requeridos y provee un estimado de sus esfuerzos.
Lista los entregables de las pruebas del proyecto.
Identificar los tipos de pruebas a utilizar en la ejecución de las mismas.
Diseñar cada una de las pruebas de cada uno de las interacciones a probar.
Describe los tipos de pruebas que se van a ejecutar, el diseño, el orden de ejecución y los
entregables en cada una de las de los interacciones del proyecto.
1.2.- Uso Correcto
El presente plan de pruebas, puede ser utilizado para diferentes tipos de prueba como: unitarias, de
integración, del sistema, de carga, que se realizan para probar el funcionamiento del software.
1.3.- Objetivos
•
•
•
•
•
Asegurar el desarrollo de productos de alta calidad.
Enfoque en la prevención de defectos, tanto como la detección.
Identificar fallas dentro de la misma fase del desarrollo donde se producen para minimizar costos.
Aprendizaje conjunto de buenas prácticas de desarrollo.
Recopilar mediciones de calidad del producto y del proceso.
1.4.- Alcance
[Definir las pruebas unitarias, de integración, de validación, instalación, Análisis y Datos con el fin de ver la
funcionalidad, utilidad y desempeño de todos los módulos del sistema y de verificar la correcta migración
de las aplicaciones anteriores al nuevo sistema.]
-162-
1.5.- Documentación Disponible
Documentos
Disponible
Revisado/Aprobado
Observaciones
Plan de Gestión del
Proyecto
[…………………………]
Cronograma del
Proyecto
[…………………………]
Casos de Uso
[…………………………]
Requerimientos no
Funcionales
[…………………………]
Especificación de
Diseño
[…………………………]
2.- Estrategia de Pruebas
En este capítulo se describen el modelo de ejecución, las técnicas, herramientas, criterios de aceptación
que se utilizarán en la realización de las pruebas y ejecución de las mismas.
2.1.- Modelo de Ejecución de Pruebas
[En este parte del capítulo se define el modelo estándar de la ejecución de las pruebas]
2.2.- Contenido del Plan de pruebas
El plan de pruebas deberá contener en su formato la siguiente información:
Plan de Pruebas
Objetivo de la Prueba
Estrategia
Herramientas Requeridas
Responsables
Criterios de Evaluación
Observaciones
[Definir claramente lo que se quiere alcanzar al realizar la prueba.]
[Procedimientos utilizados en el desarrollo de la prueba para lograr el
objetivo.
[Aplica para las pruebas unitarias, de integración, carga y de regresión. Se
refiere al software utilizado para la automatización de las pruebas
mencionadas.]
[Se establecen de acuerdo a la prueba que se está realizando, para verificar el
encargado de la pruebas.]
[Se establecen de acuerdo a la prueba que se está realizando, para verificar si
la ejecución de las pruebas fueron o no exitosas.]
[Datos adicionales.]
[Documento entregable que se proporcionara después de cada ejecución de
cada tipo de prueba.]
Este formato aplica para cada tipo de prueba a la que se someterá al software como: Pruebas Unitarias,
Pruebas de Integración, Pruebas de validación, Pruebas de Datos y Pruebas de Instalación; de la siguiente
forma.
Entregable
-163-
Pruebas Unitarias
Plan de Pruebas Unitarias
Objetivo de la Prueba
Estrategia
Herramientas Requeridas
Responsables
Criterios de Evaluación
Observaciones
Entregable
Validar las piezas individuales del software como una unidad independiente.
Sugerencia:
Se efectúan para los servicios del negocio y para la lógica del mismo que
tengan complejidad alta.
[Lista de herramientas informáticas que se van a utilizar para las pruebas, ej.:
Jmeter]
[Lista de responsables de ejecución de pruebas]
El 90% de las pruebas realizadas sean exitosas.
Detectar errores en la realización de las pruebas.
Módulo: pieza de código que cumple:
Bloque básico de programa.
Implementa función independiente simple.
Puede probarse por separado.
No hay entregable como documento si no como validación de la correcta
implementación.
Acta de aprobación de la ejecución de las respectivas pruebas.
Pruebas de Integración
Plan de Pruebas Integración
Objetivo de la Prueba
Estrategia
Herramientas Requeridas
Responsables
Criterios de Evaluación
Observaciones
Validar la integración entre los diferentes módulos que componen la solución
con el fin de garantizar que su operación integrada es correcta
Sugerencia: Pruebas de Integración Incremental Ascendente
Combinación de módulos de bajo nivel en grupos que realicen una misma
función o subfunción especifica, con el fin de reducir el número de pasos de
integración.
Se escribe para cada módulo, un módulo impulsor o conductor, con el fin de
simular la llamada a los módulos, introducir datos de pruebas y recoger
resultados.
Se prueba cada módulo mediante su impulsor.
Se eliminan los módulos impulsores y se sustituyen por los módulos de nivel
superior en la jerarquía.
[Lista de herramientas informáticas que se van a utilizar para las pruebas, ej.:
Jmeter.]
[Lista de responsables de ejecución de pruebas]
La cobertura total de lo probado sea mayor al 70% del total de los módulos.
El 90% de las pruebas realizadas sean exitosas.
Detectar errores en la realización de las pruebas.
Módulo Impulsor: Transmite o impulsa los datos de prueba al módulo que se
está probando y muestra los resultados de los casos de prueba.
Resultado Pruebas de Integración.
Acta de aprobación de la ejecución de las respectivas pruebas que contenga :
Entregable
Resultados de la ejecución de los scripts de pruebas.
Análisis de los defectos encontrados durante el proceso de pruebas.
-164-
Pruebas de Validación
Plan de Pruebas de Validación
Objetivo de la Prueba
Estrategia
Validar aquellos volúmenes de datos máximos (por lo general las
transacciones o informes) que pueden ser completados dentro de un período
específico en el tiempo, y con un nivel de concurrencia dado (carga,
concurrencia y desempeño).
Validar los requerimientos no funcionales de cada proyecto.
Sugerencia: Realizar Set de Pruebas a partir de los Requerimientos no
funcionales.
Realizar pruebas de rendimiento básico. Consiste en probar la aplicación.
Simulando la carga esperada en el entorno de producción.
Realizar las pruebas de concurrencia: verificar el comportamiento de la
aplicación en condiciones de sobrecarga de usuarios, lo cual supone la base
para identificar potenciales problemas de rendimiento o cuellos de botella,
antes de su pase a producción.
Realizar pruebas de requerimientos no funcionales: Consiste en probar la
aplicación con cada uno de los requerimientos no funcionales establecidos en
el proyecto.
Realizar pruebas de carga: Altos volúmenes de información (datos).
Herramientas Requeridas
Responsables
Criterios de Evaluación
Observaciones
Entregable
[Lista de herramientas informáticas que se van a utilizar para las pruebas, ej.:
Jmeter.]
[Lista de responsables de ejecución de pruebas]
(Los Criterios de Aceptación deben ser definidos en los documentos de
requerimientos no funcionales.)
Que los reportes generados por las herramientas de automatización de
pruebas contengan las mínimas variables que permitan un análisis acertado
de la prueba.
Haber tenido en cuenta la mayoría de escenarios a los que puede ser
expuesta la aplicación a probar.
[Lista de observaciones]
Resultado Pruebas de Validación.
Acta de aprobación de la ejecución de las respectivas pruebas.
Resultados de la ejecución de los scripts de pruebas.
Análisis de los defectos encontrados durante el proceso de pruebas.
Pruebas de Datos
Plan de Pruebas de Datos
Objetivo de la Prueba
Verificar la calidad de la información, como los scripts que se ejecuten en la
base de datos.
Ejecutar los scripts o el código generado en la fase de desarrollo,
enmarcándolos en un contexto de semántica del negocio que permita
resolver los problemas lógicos así como los errores físicos.
El objeto es asegurar que la migración está correcta antes de poblar el
sistema destino.
-165-
Sugerencia:
Una vez se tiene listo el mapeo el siguiente paso es chequear si los datos
cumplen las validaciones del sistema destino, incluyendo reglas de negocio,
restricciones de semántica o sintácticas.
Se ejecutar los mapas de migración para identificar
Estrategia
Herramientas Requeridas
Responsables
Criterios de Evaluación
Observaciones
Entregable
•
•
El número de registros que se espera que el script cree.
Si efectivamente ese número de registros se crearon, si no explicar el
por qué no fue así.
• Si los datos fueron cargados en los campos correctos.
• Si el formato de los datos fue el adecuado.
Realizar pruebas de rendimiento básico. Consiste en probar la base de datos
simulando la carga esperada en el entorno de producción.
No aplican.
[Lista de responsables de ejecución de pruebas]
Los datos deben cumplir con las validaciones del sistema destino, incluyendo
reglas de negocio, restricciones de semántica o sintácticas. Verificar el
número de registros que se espera que el script cree.
• Si los datos fueron cargados en los campos correctos.
• Si el formato de los datos fue el adecuado.
Si el sistema destino permite limpiar los datos cargados si la carga no fue
satisfactoria y existe el procedimiento para hacerlo, mediante el uso de la
capa intermedia de transformación.
Lista de observaciones.
Resultado Pruebas de calidad de migración.
Acta de aprobación de la ejecución de las respectivas pruebas.
Resultados de la ejecución de los scripts de pruebas.
Análisis de los defectos encontrados durante el proceso de pruebas.
Plan de Pruebas de Instalación
Plan de Pruebas de Instalación
Objetivo de la Prueba
Estrategia
Herramientas Requeridas
Responsables
Criterios de Evaluación
Observaciones
Entregable
Verificar la instalación de la aplicación en diferentes entornos de hardware y
software, siguiendo un procedimiento definido.
Sugerencia:
Basados en el Plan de Control de la Configuración (recursos de hardwaresoftware) para la aplicación, simular un entorno de producción para realizar
las pruebas.
[Lista de herramientas informáticas que se van a utilizar para las pruebas, ej.:
Jmeter,]
[Lista de responsables de ejecución de pruebas]
Que el sistema funcione correctamente en el entorno de pruebas producción.
Que el proceso de instalación no presente fallas en el momento de su
ejecución.
Que se haya tenido un manual claro de instalación.
Esta prueba no incluye el correcto funcionamiento de la consola
administrativa del servidor donde se realiza el despliegue, así como del
software base.
Resultado Pruebas de Instalación.
Acta de aprobación de la ejecución de las respectivas pruebas.
-166-
3.- Entregables
3.1.- Resultados de las pruebas
• Resultado Pruebas de Integración: [En este informe se entregarán los resultados de las pruebas
realizadas por los desarrolladores y el Jefe técnico de la validación de la integración entre los diferentes
módulos que componen la solución con el fin de garantizar que su operación integrada es correcta.]
• Resultado Pruebas de Validación: [En este informe se entregarán los resultados de las pruebas
realizadas por el Analistas de pruebas y el Jefe técnico de la validación de los requerimientos no funcionales
del Proyecto.]
• Resultado Pruebas de Instalación: [En este informe se entregarán los resultados de las pruebas
realizadas por el analista de Pruebas y el Jefe técnico de la validación de la instalación de la aplicación en
diferentes entornos de hardware y software.]
• Resultado Pruebas Unitarias: [En este informe se entregarán los resultados de las pruebas realizadas
por los desarrolladores de migración sobre la validación de las piezas individuales de la aplicación de
Migración y de los script que se utilizaran en la migración.]
• Resultado Pruebas de datos : [En este informe se entregarán los resultados de las pruebas realizadas
por el Analista de Pruebas, el Asesor en arquitectura de datos y el Jefe de Proyecto con el fin de la
verificación de la calidad de la información, así como de los script que se ejecuten en la base de datos.]
4.- Formato Universal Set de Pruebas
Identificador Universal:
[Identificador del proyecto]
Información General
Identificador de caso de uso:
[Identificador del caso de uso a probar]
Nombre de caso de uso:
[Nombre del caso de uso a probar]
Descripción Prueba:
[Descripción de la prueba que se va a realizar]
Responsable:
[Nombre de persona que ejecuta la prueba]
Prerrequisitos
[Prerrequisitos que se deben cumplir para iniciar la prueba]
Descripción de Casos de Prueba
Caso: [Explicación breve del caso de prueba a ejecutar*.]
Instrucciones de Prueba
[Pasos que se deben seguir para poder realizar correctamente la prueba]
Escenarios de prueba
Campo
Valor
[Nombre
de
campo a
probar]
[Dato de
prueba]
Tipo
escenario
[Correcto/I
ncorrecto]
Respuesta esperada de la aplicación
[Descripción completa de respuesta que
debe dar la aplicación al usar el campo
especificado con el dato de prueba]
-167-
Coincide (Si/No)
[sí/no, según la
respuesta obtenida]
Criterios de Aceptación
[Lista de chequeo de las
condiciones que se deben cumplir
para aprobar el caso de uso que se
está probando.]
•
A partir de este punto, se debe repetir el uso del formato para escribir tantos casos de prueba
como sean necesarios, para un mismo caso de uso.
-168-
ANEXO G: FORMATO ENCUESTA
ENCUESTA
“ELABORACIÓN DEL ESTÁNDAR DE APLICACIÓN DE LA NORMA ISO/IEC
12207, PARA EL DESARROLLO DE APLICACIONES SOFTWARE EN LA UTIC
DE LA ESPE”
Área de trabajo:
Cargo:
Horario de trabajo:
Fecha:
La presente encuesta, tiene como objetivo conocer la IMPORTANCIA y
URGENCIA de la aplicación de los procesos de la Norma ISO/IEC 12207, al
desarrollo de software dentro de la UTIC (Unidad de Tecnología de Información y
Comunicaciones) de la ESPE.
Sírvase llenar la encuesta, marcando con una X la calificación asignada en base a
estos criterios de evaluación:
A = ALTO M = MEDIO B = BAJO
Procesos Específicos del Software
Proceso de Implementación del Software
El propósito de este proceso es el producir un elemento específico del sistema,
implementado como un producto o servicio de software.
IMPORTANCIA
A
M
B
PROCESOS
Proceso de Implementación del Software
-169-
URGENCIA
A
M
B
Proceso de Análisis de Requerimientos del Software
El propósito de este proceso es establecer requisitos para los elementos del
sistema de software.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Análisis de Requerimientos del
Software
Proceso de Diseño de Arquitectura del Software
El propósito de este proceso es el proveer un diseño de software que pueda ser
implementado y verificado con los requerimientos.
IMPORTANCIA
A
M
B
PROCESOS
Proceso de
Software
Diseño
de
Arquitectura
URGENCIA
A
M
B
del
Proceso de Diseño Detallado del Software
El propósito de este proceso es el proveer un diseño para el software que se
implemente y pueda ser verificado con los requerimientos y la arquitectura
además de que sea suficientemente detallado para permitir codificación y
pruebas.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Diseño Detallado del Software
Proceso de Construcción del Software
El propósito de este proceso es el de producir módulos funcionales de software
que reflejen apropiadamente el diseño del mismo.
IMPORTANCIA
A
M
B
PROCESOS
Proceso de Construcción del Software
-170-
URGENCIA
A
M
B
Proceso de Integración del Software
El propósito de este proceso, es el de combinar los módulos del software con los
componentes del mismo, produciendo ítems de software integrados, consistentes
con el diseño de software, que demuestren que los requerimientos de software
tanto funcionales como no funcionales serán satisfechos en un equivalente o
completa plataforma operacional.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Integración del Software
Proceso Sistema de Calificación de Pruebas
El propósito de este proceso es el de confirmar que los productos integrados de
software empaten con los requerimientos definidos.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso Sistema de Calificación de Pruebas
Proceso de Apoyo de Software
Proceso de Gestión de Documentación del Software
El propósito de este proceso es el desarrollar y mantener un historial de la
información del software producida por cada proceso.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Gestión de Documentación del
Software
Proceso de Gestión de Configuración del Software
El propósito de este proceso es establecer ítems para un proceso o proyecto que
los haga disponibles para ciertas partes.
IMPORTANCIA
A
M
B
PROCESOS
Proceso de Gestión de Configuración del
Software
-171-
URGENCIA
A
M
B
Proceso de Aseguramiento de la Calidad del Software
El propósito de este proceso es de proveer la seguridad de que el producto
software cumpla con los planes predefinidos.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Aseguramiento de la Calidad del
Software
Proceso de Verificación del Software
El propósito de este proceso es el confirmar que cada producto y/o servicio de
software de un proyecto o proceso refleje apropiadamente los requerimientos
específicos.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Verificación del Software
Proceso de Validación del Software
El propósito de este proceso es el de confirmar de que los requerimientos para un
uso específico de un producto software sean satisfechos en su totalidad.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Validación del Software
Proceso de Revisión del Software
El propósito de este proceso es el de evaluar el estado y los productos de una
actividad de un proyecto, según sea adecuado. Las revisiones conjuntas están a
nivel tanto de gestión del proyecto como técnico y se mantiene a lo largo de la
vida del contrato. Este contrato puede ser empleado por cualquiera de las dos
partes, donde una de ellas (la revisora) revisa a la otra parte (la revisada).
Las revisiones del software son tanto para la administración del proyecto para
niveles técnicos que se mantienen a lo largo de la vida del proyecto.
IMPORTANCIA
A
M
B
PROCESOS
Proceso de Revisión del Software
-172-
URGENCIA
A
M
B
Proceso de Auditoría del Software
El propósito de este proceso es el de independientemente determinar el
cumplimiento de seleccionados productos y procesos con los requerimientos,
planes y acuerdos de una manera apropiada.
IMPORTANCIA
A
M
B
PROCESOS
URGENCIA
A
M
B
Proceso de Auditoría del Software
Proceso de Resolución de Problemas de Software
El propósito de este procesos es el de asegurarse que todos los problemas que
se descubran sean identificados, analizados, gestionados y controlados hasta
llegar al resolverlos.
IMPORTANCIA
A
M
B
PROCESOS
Proceso de Resolución de Problemas de
Software
Sugerencias y Comentarios:
-173-
URGENCIA
A
M
B
BIBLIOGRAFÍA
•
Internacional ISO/IEC 15504; www.iso.15504.es
•
ISO IEC 12207, Systems and Software Engineering Software Life Cycle
Processess, Ed.Second Edition, 2008.
•
Software Engineering Process Technology (SEPT), http://www.12207.com/
•
ISO IEC Information Technology Software Product Evaluation.
•
Roger S. Pressman Adaptado por Darrel Ince, Ingeniería de Software Un
Enfoque Práctico, Contreras Martínez, C.W., Redes Eléctricas. Madrid:
Deusto, 2004. Sworn, J., Microelectronics, 2ed. London: McGraw-Hill, 1998.
•
Modelos de Gestión de Calidad de Software
http://juanmarcosteoria2.blogspot.com/2008/01/normas-iso-12207.html
•
ISO/IEC 12207 Wikipedia Enciclopedia Libre,
http://es.wikipedia.org/wiki/ISO/IEC_12207
•
Sommerville, I., “Ingeniería del Software. Sexta edición”. Editorial Addison
Wesley, 2002.
•
Lawrence, S., “Ingeniería del Software”. Editorial Prentice-Hall, 2002.
•
MÉTRICA Versión 3”. Ministerio de Administraciones Públicas, 2001.
•
Clasificación del Software,
http://www.mitecnologico.com/Main/ClasificacionDelSoftware
•
Software de Sistemas,
http://www.todosconsoftwarelegal.es/frontend/100por100/Software-DeSistemas-vn2683-vst404
•
Software, Clasificación, Modelos, http://es.wikipedia.org/wiki/Software
•
SAPIV2, “Sistema Web de Integración de los Servicios Virtuales de las Áreas
de Investigación y Vinculación con la Colectividad de la Escuela Politécnica
del Ejército”
-174-
•
Sistema de Gestión de la Calidad ESPE, http://sgc.espe.edu.ec/
•
Workflow, Procesos documentales y transaccionales,
http://www.workflow.com.mx/
•
Planificación de Recursos Empresariales ERP,
http://es.wikipedia.org/wiki/Planificaci%C3%B3n_de_recursos_empresarial
es
•
AESOFT Asociación Ecuatoriana de Software,
http://aesoft.com.ec/index.php?option=com_content&task=view&id=108&Ite
mid=3&date=2011-02-01
•
ISO/IEC 15271, Information technology — Guide for ISO/IEC 12207
(Software Life Cycle Processes), Technologies de l'information — Guide
pour l'ISO/CEI 12207 (Processus du cycle de vie du logiciel).
-175-
BIOGRAFÍA
INFORMACIÓN
PERSONAL
Nombre
Dirección
Teléfono Domicilio
Celular
Estado Civil
Nacionalidad
Lugar y Fecha de
Nacimiento
Cedulad de identidad
INSTRUCCIÓN
FORMACIÓN
Andrés Gallegos Velásquez
Urb. Monjas Orquídeas, Rosseaut 1249 y Escudero
2606-588
087408393
Soltero
Ecuatoriana
Quito, Noviembre 08 de 1984
1718928169
Y
Educación Primaria
1990-1995
Institución
Educación Secundaria
1996-2003
Institución
Titulo
Educación Superior
2004-2010
Institución
Titulo
Colegio “Giovanni Antonio Farina”
Unidad Educativa “La Salle”
Bachiller en Ciencias Básicas
Escuela Politécnica del Ejército
Ingeniero en Sistemas e Informática
-176-
BIOGRAFÍA
INFORMACION
PERSONAL
Nombre
Dirección
Teléfono Domicilio
Celular
Estado Civil
Nacionalidad
Lugar y Fecha de
Nacimiento
Cedulad de identidad
INSTRUCCIÓN
FORMACIÓN
Pablo Anderson Ortiz Rodríguez
Mallorca N2455 y Barcelona, La Floresta
3227-451
087016705
Soltero
Ecuatoriana
Loja, Septiembre 18 de 1985
1715427793
Y
Educación Primaria
1990-1995
Institución
Educación Secundaria
1996-2003
Institución
Titulo
Educación Superior
2004-2009
Institución
Titulo
Escuela Particular Francisco Febres Cordero “La Salle”
Colegio Particular Hermano Miguel “La Salle”
Bachiller en Físico Matemático.
Escuela Politécnica del Ejército
Ingeniero en Sistemas e Informática
-177-
HOJA DE LEGALIZACIÓN DE FIRMAS
ELABORAD(O) POR
______________________
Andrés Gallegos Velásquez
_________________________
Pablo Anderson Ortiz Rodríguez
DIRECTOR DE LA CARRERA
____________________
Ing. Mauricio Campaña
Lugar y fecha: ________________________________
-178-
Download