Documente Academic
Documente Profesional
Documente Cultură
1
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Tabla de contenido
1. Introducción 3
2. Mapa conceptual 3
6. Gestión de calidad 16
8. Glosario 20
9. Referencias bibliográficas 21
Control de cambios 22
Créditos 23
Creative Commons 23
2
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
1. Introducción
2. Mapa conceptual
Fuente: SENA
3
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
3. Calidad, eficiencia y eficacia
A la hora de comprar, el cliente siempre espera que el producto o servicio ofrecido cumpla con
lo prometido por las campañas publicitarias, los vendedores o las empresas.
Cuando un consumidor llega al establecimiento comercial, es porque tiene claro lo que necesita,
sabe dónde encontrarlo o porque es el lugar de su preferencia. Si allí no encuentra lo que
busca, tratará de adquirir algo parecido, o lo mismo, en un negocio diferente.
Este término ha evolucionado con el tiempo, es un atributo que se relaciona con las exigencias
de los consumidores con respecto a la satisfacción de sus necesidades.
4
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Figura 2. Definiciones de calidad en el desarrollo de software
Fuente: SENA
5
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
- Calidad de diseño: se refiere a las características que los diseñadores especifican en el
desarrollo de software, este tipo de calidad incluye requisitos y especificaciones del diseño
del sistema.
● Eficiencia.
Es la relación entre el resultado alcanzado y los recursos utilizados. Indica que se implementan
menores gastos, frente a un buen resultado o que se obtienen mayores resultados, con el
mismo consumo de recursos.
● Eficacia.
En la norma ISO 9000, esta propiedad se define como el nivel de obtención de metas y
objetivos. El grado de eficacia se mide según el cumplimiento de las metas perseguidas, de
acuerdo con un plan y tiempos establecidos.
Se puede ser eficaz sin ser eficiente, (por ejemplo, cuando se entrega un puente antes del
tiempo previsto, pero con desperdicio de materiales) y también se puede ser eficiente, sin
ser eficaz (terminar el producto, pero después del tiempo indicado). La meta final es cumplir
con estas dos propiedades a fin de lograr equilibrio.
El ciclo de vida del software corresponde a una serie estructurada de etapas para desarrollar
un producto deseado. Con el surgimiento de este concepto, se han ido creando paradigmas
y métodos con diferentes maneras de abordar el proceso de desarrollo.
6
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Figura 4. Procesos de software
Fuente: SENA
A partir de los años sesenta hasta mediados de 1980, se originó la necesidad de crear nuevo
software, al ritmo de la aparición del hardware, lo que dio lugar al desarrollo de métodos,
herramientas y procedimientos sobre el ciclo de vida. Luego desde los años noventa, los
desarrollos son diversos y en general buscan implementar la calidad para dar respuesta a
necesidades de software cada vez más complejas en la sociedad.
7
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Tabla 1.
Antecedentes históricos de métodos y herramientas en el proceso desarrollo de software
Fuente: SENA
8
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
5. Proceso básico del ciclo de vida de un sistema
Para desarrollar un software con probabilidad de éxito, es necesario que la metodología permita
administrar, gestionar y validar de manera ordenada dicho desarrollo, teniendo en cuenta sus
entradas, procesos y salidas que se regulan gracias al aporte de la normalización.
Desde esta perspectiva, el ciclo de vida contempla tres etapas básicas, que se caracterizan a
continuación:
Fuente: SENA
A las anteriores etapas, se puede añadir el conjunto de pautas que establece la International
Organization for Standarization (ISO) en su norma 12207, donde se define más claramente el
ciclo de vida de un software.
Esta normativa sirve como marco de referencia para las tareas y actividades involucradas en
el desarrollo, explotación y mantenimiento del producto, incluyendo todas sus etapas, desde la
creación hasta la finalización de uso.
De acuerdo con el documento normativo de la ISO (2008), estas son las etapas:
9
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Figura 6. Etapas macro
Fuente: SENA
Por otro lado, entre algunos modelos de ciclo de vida se distinguen tres visiones:
Cada modelo supone un riesgo que indica la probabilidad de reemprender una o todas las
etapas anteriores, con lo cual se pierde tiempo, dinero y esfuerzo. Es importante resaltar que
no existe un modelo que evite por completo los riesgos que conlleva la ejecución de cualquier
proyecto.
10
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
5.1. Modelos de ciclo de vida
Los paradigmas orientados a objetos buscan que el código fuente pueda ser utilizado en otros
desarrollos que guarden relación con el producto de base. Incluye la creación de clases, el
análisis de requisitos (determina duración y costos finales del proyecto) y diseño.
A continuación, se detallan las distintas metodologías en relación con los modelos de ciclo de
vida del software, que responden a los paradigmas citados:
11
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
● Modelo cascada
Modelo informático que corresponde al paradigma tradicional, de trayectoria lineal que consta
de algunas fases que en el proceso de desarrollo son superadas una a una para poder continuar
con la siguiente:
En este modelo, las fases del ciclo de vida del proyecto de software son:
1. Requerimientos
2. Diseño
3. Implementación y desarrollo
4. Integración
5. Pruebas o validación
6. Despliegue o instalación
7. Mantenimiento
● Modelo espiral
En esta metodología el ciclo de vida se concibe como una espiral, en la cual es posible repetir
o reestructurar cada fase durante el proceso. Se realizan varias iteraciones, considerando
básicamente las siguientes fases de ciclo de vida:
1. Determinación de objetivos
2. Análisis de riesgos
3. Desarrollo y pruebas
4. Planificación
En este modelo, se disminuyen los riesgos a medida que avanzan los ciclos o iteraciones, pero
representa altos costos y calidad en el equipo de trabajo, ya que se requiere experiencia para
superar los riesgos.
12
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Figura 9. Modelo espiral
Fuente: okhosting.com (2017)
Es un modelo basado en el paradigma orientado a objetos, pues permite que el código fuente
sea reutilizable, además, es bastante eficiente ya que permite lograr el producto deseado. Las
fases del ciclo de vida de este sistema, son las siguientes:
a. Inicialización
b. Iteración
c. Lista de control
Una de las principales ventajas del modelo iterativo, es que su desarrollo permite la oportuna
retroalimentación, garantizando la plena satisfacción del cliente.
13
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
● Modelos de desarrollo ágil
- Modelo Scrum: este modelo debe su nombre a un tipo de jugada del rugby, en el que todas
las partes del equipo deben estar bien alineadas. El trabajo se divide por ciclos denominados
sprints, sobre una lista de requisitos priorizados.
- Modelo Kanban: esta es una metodología ágil de origen japonés, proviene del término
Kanban (símbolo visual para desencadenar una acción), que se considera altamente efectivo
y eficiente.
Mediante un tablero con etiquetas, se señalan las fases del proceso de desarrollo, integrando
las tareas realizadas y las pendientes, según las responsabilidades asignadas al equipo de
trabajo para el cumplimiento de los objetivos trazados.
Con este método, se abordan de manera simultánea otros desarrollos, sin que se generen
tiempos de espera o “espacios muertos” para el equipo, lo que permite mayor eficiencia.
Los procesos de trabajo en esta metodología son:
14
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
- Atender prioridades, antes de atender nuevas tareas (Stop starting, start finishing)
Formulada por el ingeniero de sistemas Kent Beck, esta metodología considerada “extrema”
se enfoca en los requerimientos y necesidades del cliente, al punto que este es quien participa
activamente en todas las etapas, lo que permite implantar ideas, necesidades o actualizaciones
en tiempo real. Se asume que los cambios y la adaptabilidad continuos, permite lograr el
producto deseado.
Este tipo de trabajo exige altos niveles de flexibilidad frente al cambio y se fundamenta en
valores como fluidez en la comunicación, simplicidad en aspectos de diseño para agilizar
el desarrollo (lo que exige la refactorización del código), retroalimentación constante con el
cliente, valentía en la reconstrucción de códigos y adelantos (adaptación al cambio) y respeto,
como la convicción de que cada miembro del equipo está comprometido con la calidad del
producto, independientemente de los fallos que se presenten.
- Programación en parejas
- Simplicidad en el código
15
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
6. Gestión de calidad
Entre las ventajas que conlleva la definición, desarrollo e implantación de un sistema de gestión
de calidad se encuentran:
16
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
6.2. Riesgos del sistema de gestión de la calidad
La calidad es medible pero cambiante y se debe adaptar según el programa o sistema que
se aplique. Un producto de software, tanto si es destinado a un uso amplio y complejo, como
a uno reducido y sencillo, debe responder con flexibilidad, confiabilidad, mantenibilidad
y perfeccionamiento, siempre con el fin de disminuir costos durante su funcionamiento y
utilización.
La política de calidad de software establecida debe sustentarse sobre los siguientes principios
básicos:
17
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Figura 12. Principios básicos
Fuente: SENA
Para lograr la calidad del software es necesario adoptar una buena política. Sin embargo, esto
no se asegurará sin procesos de control o evaluación para el aseguramiento de la misma.
Existen buenas prácticas a nivel mundial, entre ellas, los medios de programas de la CIC
de Rusia, implementan una metodología para la evaluación de la calidad definida en cuatro
grados jerárquicos: factor, criterio, métrica y elementos de evaluación.
Cada nivel inferior tiene indicadores que constituyen el nivel anterior. Otros autores relacionan
calidad con el nivel de complejidad del software en dos categorías de métricas: de programa o
código y de sistema o estructura.
● El proceso de control
18
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Figura 13. Proceso de control
Fuente: SENA
● Principios de calidad
19
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
8. Glosario
Calidad: aquellas características del producto que responden o superan las necesidades del
cliente.
Eficacia: capacidad de determinar los objetivos adecuados y hacer lo indicado con los recursos
disponibles.
Eficaz: se refiere al logro de los objetivos en los tiempos establecidos y con los recursos
disponibles.
Eficiencia: capacidad para reducir al mínimo los recursos usados y alcanzar los objetivos de
la organización. Hacer las cosas bien con el menor gasto.
Gestión: proceso emprendido por una o más personas para coordinar las actividades laborales
de otros individuos.
Indicador: es el elemento característico que describe una situación permitiendo su análisis. Por
ejemplo, el coeficiente de promoción es un buen indicador del éxito de las acciones educativas.
Liderazgo: proceso que ayuda a dirigir y movilizar personas y/o ideas. Influencia interpersonal
ejercida en una situación, dirigida a la consecución de un objetivo.
20
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Modelo: arquetipo o punto de referencia para seguir, imitar o reproducir.
Sistema: conjunto de partes que operan con interdependencia para lograr objetivos comunes.
9. Referencias bibliográficas
Cendejas, J. (2014). Implementación del modelo integral colaborativo (mdsic) como fuente
de innovación para el desarrollo ágil de software en las empresas de la zona centro -
occidente en México. Calidad en el desarrollo de software. Recuperado de
http://www.scielo.org.mx/pdf/ns/v7n13/v7n13a8.pdf
Garzás, J. (21 feb. 2011). Los seis principios de la calidad software. [Web log post].
Recuperado de http://www.javiergarzas.com/2011/02/principios-calidad-software.html
OKhosting.com (2016). El Ciclo de Vida del Software. [Web log post] Recuperado de
https://okhosting.com/blog/el-ciclo-de-vida-del-software/
21
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
Peláez, L. (2012). Caracterización del proceso de desarrollo de software en Colombia: una
mirada desde las PYMES productoras. Recuperado el 27 de noviembre de 2017
http://biblioteca.ucp.edu.co/ojs/index.php/paginas/article/view/275
Ramírez, J. (26 de julio 2012). Ciclo de vida del software. [Web log post]. Recuperado de
http://ciclodelsoftware.blogspot.com/2012/07/ciclo-de-vida-del-software.html
Control de cambio
22
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje
23
FAVA - Formación en Ambientes Virtuales de Aprendizaje - SENA - Servicio Nacional de Aprendizaje