Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERÍA DEL
SOFTWARE II
INGENIERÍA DE SISTEMAS
Ingeniería del Software II
sfs
© Corporación Universitaria
Remington
Medellín, Colombia
Derechos Reservados ©2011
Quinta edición
2021
Ingeniería del Software II
Yolfaris Naidit Fuertes Arroyo
Facultad de Ingenierías
Comité académico
Jorge Mauricio Sepúlveda Castaño
Decano de la Facultad de Ingenierías
jsepulveda@uniremington.edu.co
Edición y Montaje
Dirección de Educación a Distancia y Virtual
Equipo de diseño gráfico
www.uniremington.edu.co
virtual@uniremington.edu.co
3
TABLA DE CONTENIDO
Pág.
4
3.2.2 TALLER DE ENTRENAMIENTO 45
4 PISTAS DE APRENDIZAJE 58
5 GLOSARIO 59
6 BIBLIOGRAFÍA 60
Ingeniería del Software II
sfs
PROPÓSITO GENERAL
INGENIERÍA DEL
SOFTWARE II
Integrar los diferentes conceptos del diseño de software, de la gestión de configuración
de software y de la gestión de proyectos de software asociado a las métricas, partiendo
de la evolución de las especificaciones de requerimientos iniciales, con el fin de construir
diseños que se adapten a las necesidades del cliente.
El educando aprenderá a planificar estrategias prácticas, que lo conduzca a la aplicación
de los métodos y modelados necesarios para el diseño de aplicativos que garanticen la
calidad del mismo, implementando un buen manejo de los posibles riesgos que se
presenten en el desarrollo del proyecto de software.
Ingeniería del Software II
sfs
INGENIERÍA DE
SOFTWARE II
OBJETIVO GENERAL
Aplicar los conceptos, técnicas y metodologías de la ingeniería del
software, al diseño de aplicativos, teniendo como concepción la
arquitectura de software, los patrones y principios del diseño; propiciando
la gestión de la configuración de un diseño bajo normas y estándares de
calidad.
OBJETIVOS ESPECÍFICOS
➢ Analizar el nivel de complejidad de la Ingeniería del software, direccionado
a una visión sistémica, que permita la comprensión a través de la
estructura del conocimiento, de las diferentes filosofías, procesos,
métodos y herramientas, que ayudan al diseño de un software de calidad.
➢ Identificar los posibles riesgos que se presenten en el desarrollo de un
aplicativo, implementando un análisis de riesgos medibles y estimados, de
acuerdo al ámbito del producto y su viabilidad, teniendo presente la
gestión de la configuración del producto.
➢ Desarrollar diseños de software que respondan a las exigencias del
mercado.
Gestión de proyectos de
Gestión de configuración
Diseño de software software asociado a
de software
métricas
Ingeniería del Software II
sfs
7
1 UNIDAD 1: DISEÑO DE SOFTWARE
8
➢ Fortalecer en el estudiante las diversas estrategias de planificación, supervisión y control
de los métodos, técnicas y herramientas necesarias para el desarrollo de un diseño de
calidad.
9
La arquitectura de software, también conocida como arquitectura lógica, es el diseño estimado
de más alto nivel de la ordenación o estructura de un sistema; incluye sus diversos componentes,
sus propiedades externas y las relaciones entre estos; soportado en la obtención de requisitos
de atributos de calidad como cimiento orientador para el diseño de la arquitectura.
Importancia:
➢ Facilita la construcción de un modelo entendible que deja observar la forma como trabajan
los componentes del sistema.
➢ Diseño modular.
Existen métodos que proporcionan un horizonte claro de cómo se debe realizar una arquitectura
basada en las necesidades de atributos de calidad; esto involucra la estructura de los
componentes del programa o módulos, haciendo énfasis en la forma como estos interactúan para
alcanzar unos objetivos concretos, como los modelos del marco de trabajo que tienen una
arquitectura específica y orientadora para que el desarrollador o profesional en software logre
alcanzar los objetivos planteados.
Ingeniería del Software II
sfs
10
1.2.1 EJERCICIO DE APRENDIZAJE
1) ¿Agile es una metodología o frameworks? Agile no es una metodología o frameworks,
son principios establecidos que se pueden adaptar de acuerdo a las necesidades de las
empresas dedicadas a la construcción de productos software.
3) ¿Cómo se debe diseñar una interfaz gráfica? se debe diseñarse utilizando imágenes y
objetos gráficos, a través de los cuales se visualizará la información y se realizarán las
diversas acciones que ejecute el usuario; la interfaz debe ser entendibles y de fácil uso
para el usuario final.
Construya un mapa mental, haciendo uso de cualquier software online acerca de los siguientes
temas:
a) Diseño de software.
b) Calidad de software.
TIPS
Un buen diseño asegura el éxito de la construcción y viabilidad del
producto
Ingeniería del Software II
sfs
11
1.3 TEMA 2 PATRONES DE DISEÑO DE SOFTWARE
➢ Video: ¿Qué son los Patrones de Diseño de Software?
➢ ” Ver Video”: https://www.youtube.com/watch?v=bx5WqFEndoo
Los problemas identificados en el desarrollo de un producto, bien sea tangible o intangible, deben
entenderse con claridad para aplicar un determinado patrón que lleve al estudio de posibles
soluciones que den resultados positivos de acuerdo a la necesidad requerida. Este patrón debe
tener diversas características enfocadas a la efectividad de las problemáticas analizadas, debido
a que su estructura describe el núcleo de la solución del problema.
Cada profesional según su campo de acción utiliza variados patrones específicos que le sirven
como base para implementar nuevas ideas, trabajos o propuestas de proyectos; por supuesto,
teniendo presente la gran variabilidad que se tiene entre uno y el otro.
Elementos de un patrón.
➢ Problema: Entrega una guía o pautas que indican cuando se debe aplicar el patrón.
➢ Solución: Facilita la descripción de los elementos que integran el diseño, sus relaciones,
responsabilidades y colaboración.
El patrón permite recordar cuales son las posibles soluciones que se han tenido presente al
momento de resolver problemáticas identificadas en ocasiones anteriores, las cuales se pueden
aplicar como buenas prácticas a nuevos problemas que tengan similitud a los anteriores. Es una
solución probada a un problema recurrente.
Para un mayor control de los diversos patrones, se requiere que los desarrolladores o
profesionales en el campo del software, al identificar estos en su campo de acción, documenten
Ingeniería del Software II
sfs
12
la posible solución, con el fin de tener a la mano diversas alternativas de resolución a futuras
problemáticas similares encontradas en trabajos futuros.
Respuesta B
Respuesta C
a) Estudiantes y profesores.
Respuesta C
Ingeniería del Software II
sfs
13
1.3.2 TALLER DE ENTRENAMIENTO
Construya una infografía que permita relacionar una síntesis de los siguientes temas:
c) Sociedad de la información.
TIPS
El patrón permite recordar cuales son las posibles soluciones que se han
tenido presente al momento de resolver problemáticas identificadas
en ocasiones anteriores
El diseño de software es el proceso por medio del cual se define la arquitectura, componentes,
interfaces y especificaciones de diversas características del sistema. El diseño debe implementar
todos los requisitos contenidos en el modelo de análisis; debe hacer las veces de una guía
legible que oriente a los profesionales en software al momento de generar código, realizar
pruebas y dar soporte al sistema; esta guía debe proporcionar una imagen completa del software
dando direcciones a los dominios de datos, funcionales y de comportamiento desde una
perspectiva de implementación.
14
➢ Considerar la arquitectura del sistema que se va a construir: Es el esqueleto del software
que se va a construir afectando las interfaces, la estructura de datos, el flujo, el control
del programa, las pruebas y el mantenimiento.
➢ Estructurar muy bien los datos para que ayuden a simplificar el flujo del programa, el
diseño y la implementación de todas las partes del software.
➢ Considerar la interfaz: Las interfaces (internas y externas) deben diseñarse con cuidado:
La forma como se manejan los datos en un sistema reflejará la eficiencia de su proceso,
evita errores y simplifica el diseño. Una interfaz bien diseñada ayuda a la realización de
pruebas y validar sus funciones, además, debe ajustarse a las necesidades del usuario
final. Lo más importante del diseño de la interfaz es la facilidad de uso para satisfacción
del usuario no importando como esté estructurado internamente evitando la percepción
que los usuarios le pueden dar por su simplicidad en donde dicen que está “mal” hecho.
➢ Proyectar una presentación entendible a los ojos del usuario final: Si el diseño no es fácil
de entender, es difícil que sirva como medio efectivo de comunicación, la idea principal es
comunicar información a los que generan el código, a los que probarán el software o a
quienes continúen con el software en dl futuro.
15
1.1.1 DISEÑO DE METODOLOGÍAS ÁGILES UTILIZANDO FRAMEWORKS
De acuerdo a Jaramillo (2016, Pp. 24 - 25):
Es así como que este tipo de metodologías fueron inicialmente llamadas “metodologías
livianas”, aunque no contaban con una aprobación pues se le consideraba por muchos
desarrolladores como meramente intuitiva. Luego, con el pasar de los años, en febrero de
2001, tras una reunión celebrada en Utah-EEUU, nace formalmente el término “ágil”
aplicado al desarrollo de software.
➢ Pocos artefactos.
➢ Pocos roles.
16
➢ Entrega continua y en plazos breves de software funcional.
FRAMEWORKS AGILES:
Uno de los frameworks más destacados de Agile, es Scrum. Según lo afirman Fuertes y Sepúlveda
(2016):
17
1.1.2 HERRAMIENTAS DE DESARROLLO DE INTERFAZ
Una interfaz gráfica se debe diseñarse utilizando imágenes y objetos gráficos, a través de los
cuales se visualizará la información y se realizarán las diversas acciones que ejecute el usuario; la
interfaz debe ser entendibles y de fácil uso para el usuario final.
INTERACTIVIDAD
De acuerdo a Durán (2018), en cuanto al manejo de color, las siguientes herramientas facilitan el
diseño de una interfaz:
UPLABS
18
Las siguientes herramientas son recomendadas en el diseño de la interfaz:
INVISION
El diseño de la interfaz define la forma, función, utilidad, lineamientos visuales, entre otros
aspectos, que caracterizarán y materializará la comunicación entre el sistema y el usuario final.
De acuerdo a Patiño (2011. Pp. 50 – 52), las reglas del diseño de la interfaz de usuario, son las
siguientes:
Se definen varios principios de diseño que permiten al usuario mantener el control: Definir
los modos de interacción de forma que el usuario no realice acciones innecesarias o
indeseables, proporcionar una interacción flexible, incluir las opciones de interrumpir y
deshacer la interacción del usuario, depurar la interacción a medida que aumentan los grados
de destreza y permitir que se personalice la interacción, oculte al usuario ocasional los
elementos técnicos internos, diseñar interacción directa con los objetos que aparecen en la
pantalla.
Los principios de diseño que logran que una interfaz reduzca la carga de memoria que recae
en el usuario: reducir la demanda de memoria a corto plazo, definir valores por defecto que
tengan significado, definir accesos directos intuitivos, el formato visual de la interfaz debe
basarse en una metáfora tomada de la realidad, desglosar la información de manera
progresiva.
19
Los principios de diseño que ayudan a construir una interfaz consistente: Permitir que el
usuario incluya la tarea actual en un contexto que tenga algún significado; mantener la
consistencia en toda una familia de aplicaciones; si modelos interactivos anteriores han
generado expectativas en el usuario, no hacer cambios a menos que haya razones
inexcusables.
Cuando se analiza y se diseña una interfaz de usuario entran en juego cuatro modelos
diferentes. Un ingeniero del software establece un modelo del usuario; el ingeniero del
software crea un modelo de diseño; el usuario final desarrolla una imagen mental que suele
denominarse modelo mental del usuario o percepción del sistema, y quienes implementan el
sistema crean un modelo de la implementación.
EL PROCESO:
➢ Diseño de la interfaz.
➢ Validación de la interfaz.
“Utilizar solo las funciones necesarias y procurar que el diseño sea intuitivo, se explique
por sí mismo, y que sus elementos concurran de manera lógica, para ayudar al usuario en
la realización de sus tareas es lo que hace una herramienta exitosa” (Ramírez, 2017).
Ingeniería del Software II
sfs
20
1.1.3 EVALUACIÓN Y ANÁLISIS DE LA CALIDAD DEL DISEÑO
Un buen diseño asegura el éxito de la construcción y viabilidad del producto, ya que esto
proporciona la seguridad de que los demás procesos relacionados funcionarán adecuadamente y
que se direccionan a la necesidad requerida por el cliente.
Por consiguiente:
El diseño debe sujetarse a los requisitos del cliente, lo cual específicamente se documenta en
el modelado de análisis.
Debe proporcionar una imagen completa del software, dando direcciones a los dominios de
datos, funcionales y de comportamiento desde una perspectiva de implementación.
21
1.1.4 EJERCICIO DE APRENDIZAJE
Apreciado estudiante, usted debe analizar las siguientes preguntas y escoger una única respuesta
correcta.
b) Individual y secuencial.
c) Instruccional y heurístico.
Respuesta A
c) Importancia de la simplicidad.
Respuesta B
a) Metodologías gruesas.
b) Metodologías horizontales.
c) Metodologías livianas.
Respuesta C
22
a) Características que debe tener una buena interfaz: ______________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
TIPS
23
2 UNIDAD 2 GESTIÓN DE CONFIGURACIÓN DE
SOFTWARE.
24
2.1.2 OBJETIVOS ESPECIFICOS
➢ Realizar un análisis de requisitos que proporcione el más adecuado direccionamiento en
la aplicabilidad del desarrollo del producto, apuntando a la mejora continua del mismo.
A la gestión de los cambios significativos que se realizan en uno o más objetos del
software. Su estado actual define su última edición.
25
➢ Control de versiones.
Figura 7. GSC.
Fuente: Metaute (2016).
Ingeniería del Software II
26
Gestionar los cambios durante el proceso del ciclo de vida del desarrollo del software, requiere
del análisis de los elementos que pueden requerir cambio; como los datos, los programas (fuentes
y ejecutables) y los manuales necesarios, entre estos: el técnico, de usuario y de implementación.
➢ Nuevos negocios o condiciones comerciales que dictan los cambios en los requisitos del
producto o en las normas comerciales.
➢ Nuevas necesidades del cliente que requieren la modificación de los datos producidos por
el sistema. Reorganización y crecimiento o reducción del negocio que provoca cambios en
las prioridades del proyecto o en la estructura del equipo de Ingeniería de Software.
➢ Evaluar la Petición de Cambio (Esfuerzo técnico, efectos secundarios, impacto global sobre
otras funciones del sistema y sobre otros objetos de configuración).
Ingeniería del Software II
27
➢ Informe de cambios a la Autoridad de Control de Cambios (ACC) quien toma la decisión,
evaluando impacto del cambio en software, hardware, rendimiento, calidad, fiabilidad
entre otras)
➢ Orden de Cambio de Ingeniería (OCI) (cambio a realizar, restricciones que deben respetar,
criterios de revisión y de Auditoría).
Al llevar un control de cada una de las versiones en que se encuentra el desarrollo del producto,
en ocasiones trae muchas complicaciones, debido a que se realizan diversas copias del mismo
Ingeniería del Software II
28
proyecto, para lo cual se recomienda almacenar las copias en diversos dispositivos, debido a que,
si se guarda en un solo dispositivo y este presenta fallas, se pierde el esfuerzo realizado.
También es necesario llevar un control del personal capacitado y destinado para realizar las
copias, ya que, si muchos colaboradores realizan diversas copias haciendo énfasis a la misma
versión, se puede presentar confusión a la hora de identificar la versión actual.
29
Las preguntas podrían ser similares a las siguientes:
• ¿Se ha llevado a cabo una revisión técnica formal para evaluar la corrección técnica?
➢ ¿Qué pasó?
➢ ¿Quién lo hizo?
➢ ¿Cuándo pasó?
Para registrar dicha evidencia, se recomienda hacer uso de una base de datos interactiva,
donde se registre cada vez que: Se asigna un ECS (Elemento de Configuración de Software)
La ACC (Autoridad de Control de Cambios) aprueba un cambio. Se expide una OCI (Orden
de Cambio de Ingeniería). Se lleva a cabo una auditoria de configuración. Buscan con ello
que dicha GCS, se encuentre lo suficientemente documentada, para ser utilizada en el
momento que se requiera.
Ingeniería del Software II
30
2.2.4 EJERCICIO DE APRENDIZAJE
Apreciado estudiante, usted debe analizar las siguientes preguntas y escoger una única respuesta
correcta.
d) La gestión de datos.
Respuesta C
b) Es una herramienta fundamental para acceder a la información que nos brinda la era
de la tecnología.
Respuesta C
a) El proyecto.
b) El objeto a cambiar.
c) El proceso.
d) El equipo de desarrollo.
Respuesta B
Ingeniería del Software II
31
2.2.5 TALLER DE ENTRENAMIENTO
Apreciado estudiante, Conteste falso o verdadero, de acuerdo a sus conocimientos.
d) Es necesario llevar un control del personal capacitado y destinado para realizar las copias
de las diversas versiones que alimentan los cambios. ( )
e) El informe de auditoría para reportar los cambios debe contener los siguientes
interrogantes: ¿Qué pasó?, ¿Quién lo hizo?, ¿Cuándo pasó? Y ¿Qué más se vio afectado?
( )
TIPS
Al terminar la auditoría, se debe informar al personal responsable de
los procesos de gestión el dictamen o informe de resultados obtenido
por los cambios realizados.
32
La computación en la nube facilita el rastreo y control de cambios, así como de los recursos
necesarios que apoyen la prestación del servicio.
Las empresas se enfrentan a una importante elección: utilizar los servicios nativos de
gestión de configuración en una plataforma de nube pública, o emplear una herramienta
de terceros, como Ansible y CFengine. La elección no es fácil. Las herramientas de gestión
de configuración de nube nativas hacen que una empresa se vuelva más dependiente de
su proveedor de nube pública, aumentando el riesgo de quedarse con un solo proveedor.
Por ejemplo, cuando una empresa utiliza dos o más nubes públicas, como Amazon Web
Services (AWS) y Google, la herramienta de configuración nativa no funcionará bien en
ambas plataformas.
TERCEROS:
➢ Chef.
➢ Puppet.
➢ Terraform.
➢ SmartFrog.
➢ Ansible.
➢ Nuevas de proveedor:
➢ AWS Config.
33
➢ ECommerce.
• ¿Es posible valorar la calidad del software si el cliente cambia con frecuencia lo que se
supone debe hacer?
• ¿Puede un programa ser correcto y aun así no mostrar buena calidad? Explíquese.
• ¿Un gestor técnico imperativo puede ser problema para un equipo de software?
34
• ¿Cuál es el activo más importante de una organización?
• Cree usted que el dinero puede ser considerado como la sangre de la empresa. Si_____,
No______, ¿por qué?
TIPS
La gestión de configuración de nubes es para múltiples plataformas
Ingeniería del Software II
35
3 UNIDAD 3 GESTIÓN DE PROYECTOS DE SOFTWARE
ASOCIADO A LAS MÉTRICAS
➢ Indagar ¿cuánto tiempo tomará construir el producto, cuánto esfuerzo requerirá y cuánto
personal estará involucrado?
Ingeniería del Software II
36
➢ Entender el proceso de validación de las métricas.
1) ¿De qué forma se especifica un riesgo para el campo del software? como la posibilidad
de que ocurra un evento negativo que perjudique el avance del proyecto.
➢ Metodología.
➢ Roles y responsabilidades.
➢ Presupuesto.
➢ Tiempo.
➢ Categorías.
➢ Niveles de tolerancia.
➢ Formatos de reportes.
➢ Seguimiento.
➢ Cualitativo.
➢ Cuantitativo.
Ingeniería del Software II
37
3.2 TEMA 1 PLANEACIÓN Y MANEJO DE RIESGOS DE
PROYECTOS DE SOFTWARE
Un riesgo para el campo del software, se especifica como la posibilidad de que ocurra un evento
negativo que perjudique el avance del proyecto.
La planeación de la gestión de riesgo es el proceso por el cual se define como realizar las
actividades de gestión de riesgos para un proyecto (en éste caso de software), asegurando
el nivel, el tipo y la visibilidad del riesgo, teniendo en cuenta los recursos y el tiempo
suficiente para las actividades de gestión de riesgos y para establecer una base adecuada
para la evaluación. Éste proceso se debe iniciar al concebirse el proyecto, antes de ponerlo
en ejecución.
➢ Niveles de tolerancia: Miden el nivel de aceptación de los riesgos por parte de los
interesados.
38
El proceso para identificar los riesgos, podría tener los siguientes pasos:
La forma como se analizan los riesgos, tanto de forma cuantitativa como cualitativa, conduce a la
perfección de la Calidad del producto.
Planeación de Respuestas: Consiste en determinar las acciones de respuesta efectiva que son
apropiadas para minimizar o eliminar el riesgo. Pasos recomendados:
➢ Por cada acción registrar: fecha de inicio, fecha final, responsable de cada acción del
riesgo, estado del riesgo.
39
➢ Comunicar los riesgos a los responsables de los riesgos.
De acuerdo a Metaute (2016), a continuación, se presenta una lista de los riesgos antes
mencionados:
40
• ¿Número de usuarios del producto?
• ¿Número de otros productos/sistemas con los que el producto debe tener inter-
operatividad?
41
• ¿Es sofisticado técnicamente el área del producto?
• ¿El equipo de trabajo está dispuesto a usar procesos estandarizados para el desarrollo de
software?
• ¿El equipo de desarrollo cuenta con las suficientes competencias para realizar el trabajo?
• ¿Se han desarrollado diseños de documentos y ejemplos para todas las entregas definidas
como parte del proceso del software?
• ¿Se documentan todos los resultados de las revisiones técnicas, incluyendo los errores
encontrados y recursos empleados?
• ¿Se emplea una gestión de configuración para mantener la consistencia entre los
requisitos del sistema/software, diseño, código y casos de prueba?
• ¿Hay algún mecanismo de control de cambios de los requisitos del cliente que impacten
en el software?
Ingeniería del Software II
42
• ¿Está debidamente elaborado en contrato con el cliente en relación a funcionalidad del
producto, costos y tiempos de entrega?
➢ ASPECTOS TÉCNICOS:
• ¿Se han definido y empleado reglas específicas para la documentación del código?
• ¿Se emplean herramientas de software para apoyar los procesos de análisis y diseño del
software?
• ¿Se emplean herramientas de software para dar soporte a los procesos de prueba?
• ¿Se han establecido métricas de calidad para todos los proyectos de software?
• ¿Se han establecido métricas de productividad para todos los proyectos de software?
Ingeniería del Software II
43
➢ RIESGOS TECNOLÓGICOS:
• ¿Se tiene disponible una herramienta de gestión del proceso del software?
44
• ¿Hay disponibles compiladores o generadores de código apropiados para el producto a
construir?
• ¿Se ha formado a los miembros del equipo del proyecto en todas las herramientas?
• ¿Existen expertos disponibles para responder todas las preguntas que surjan sobre las
herramientas?
45
b) b. La metodología que consiste en priorizar los riesgos identificados, determinando la
posibilidad de ocurrencia y el impacto sobre los objetivos del proyecto.
Respuesta C
b) Metodología que consiste en separar los riesgos para darle soluciones asertivas.
Respuesta C
46
3.3 TEMA 2 MÉTODOS Y ESTÁNDARES DE MEDICIÓN
➢ Video: Calidad del software | MODELOS Y ESTÁNDARES DE UN PRODUCTO
➢ ” Ver Video”: https://www.youtube.com/watch?v=2lycHFiG-co
47
La Ingeniería del software debe enmarcarse en parámetros de calidad; en primer lugar, de
desarrollo de proyectos informáticos, y en segundo lugar, de gestión de las organizaciones; en los
cuales debe contemplar un perfecto entendimiento con estándares internacionales que
garanticen el éxito de proyectos. Además, debe interiorizar a través de herramientas, métodos,
procesos, filosofías y/o enfoques, los planteamientos filosóficos integracionistas emanados por
las potencias en los cuales se busca la unificación de las sociedades.
Goal Questión metric (GQM): “Proporciona una manera útil para definir mediciones tanto del
proceso como de los resultados de un proyecto. Se enfoca en los objetivos perseguidos para
alcanzar la meta proyectada” (Maya, 2016).
➢ Generación de preguntas.
➢ Especificación de medidas.
ISO / IEC 15939: 2007: Estándar internacional direccionado a la medición de sistemas y software
informáticos.
CMMI: Es un estándar que relaciona las buenas prácticas enfocado a la mejora continua de
los procesos empresariales.
ISO 25000: Norma que se enfoca en la evaluación de los requisitos de calidad del producto
software. De acuerdo a Crespo (2018) “La ISO 25000 proporciona una guía para el uso de la nueva
Ingeniería del Software II
48
serie de normas internacionales denominadas Sistemas y Requisitos de calidad del Software y
Evaluación (SQUARE)”.
Respuesta A
2) ¿Cuál de los siguientes estándares relaciona las buenas prácticas del software?
a) COBIT
b) ITIL
c) CMMI
d) SQUARE
Respuesta C
Ingeniería del Software II
49
3.3.2 TALLER DE ENTRENAMIENTO
Instrucciones:
1.5 SPICE
1.6 SCAMPI
1.7 ITIL
TIPS
IEEE 802.3 es un estándar desarrollado para operar en redes de
computadoras
50
Se determina como el cumplimiento de los requisitos funcionales y de desempeño explícitamente
establecidos, además de los estándares de desarrollo documentados y las características
implícitas que se evidencian durante el ciclo de vida del software.
Una métrica se define como una medida cuantitativa utilizada en la estimación y valoración de la
calidad de un producto software; la medición puede variar dependiendo de las necesidades de
los clientes o las organizaciones. Estas medidas indican el porcentaje de calidad en que se
encuentra el desarrollo del producto, la productividad de la mano de obra directa, los beneficios
que aportan las herramientas o métodos implementados en el proceso de desarrollo del
producto; teniendo como cimiento los principios, estándares y reglamentaciones de la ingeniería
del software.
Directas
TIPOS DE
MEDIDAS
Indirectas
➢ Medidas Directas: Son aquellas medidas que se encuentran de forma directa, sin
necesidad de ser procesadas como por ejemplo el valor de una hora de trabajo, las líneas
de código producidas en determinado tiempo, la velocidad de ejecución del programa, el
tamaño de memoria, el número de defectos observados en un determinado periodo de
tiempo, entre otras.
Ingeniería del Software II
51
➢ Medidas Indirectas: Son medidas que se basan en las directas como por ejemplo el
esfuerzo utilizado para desarrollar una actividad (número de horas por número de
personas), la funcionalidad, calidad, complejidad, eficiencia, fiabilidad, facilidad de
mantenimiento, etc. Dichas medidas se sacan de la combinación entre medidas directas e
indirectas.
De acuerdo a lo que afirma Macías (2011), estas métricas permiten obtener un conjunto de
indicadores de proceso, los cuales conducen a la mejora de los mismos. En el proceso de mejora
del proceso, según lo que expresa este autor, se tiene en cuenta:
➢ Tecnología.
2) CONDICIONES AMBIENTALES:
➢ Entorno de desarrollo.
➢ Condiciones de riesgo.
52
Este autor expresa que para mejorar un proceso es necesario:
53
“En la mayoría de los desafíos técnicos, las métricas nos ayudan a entender tanto el proceso
técnico que se utiliza para desarrollar un producto, como el propio producto” (Macías, 2011).
Las métricas de producto hacen referencia a las características del software que se pueden
medir de una forma factible
En cuanto a las métricas de proyecto, estas son tácticas. La primera aplicación de las métricas del
proyecto, en la mayoría de los proyectos de software, ocurre durante la estimación del proyecto
Ingeniería del Software II
54
(esfuerzo y tiempo). La estimación permite determinar cuánto dinero, esfuerzo, recursos y
tiempo tomará construir un sistema o producto específico basado en software. Esta es una tarea
compleja que requiere de una buena documentación del proyecto a estimar, su planificación y
recursos disponibles para su ejecución. El planificador de proyectos debe estimar tres factores
antes de que un proyecto comience:
Además, el planificador debe predecir los recursos (hardware y Software) que se requerirán y el
riesgo involucrado. La descripción del ámbito ayuda al planificador a desarrollar estimaciones
empleando una o más técnicas que se clasifican en dos amplias categorías: descomposición, la
cual requieren un bosquejo de las principales funciones del software, seguido por estimaciones;
y modelado empírico, usa expresiones para esfuerzo y tiempo obtenidas de la Ingeniería del
Software.
Todas las aplicaciones de métricas tienen un significado conforme el software evoluciona desde
los requisitos hasta el diseño; se recopilan métricas para valorar la calidad del diseño y mejorar
los indicadores que influirán en el enfoque que se adopte para la generación y prueba del código.
Las métricas de proyecto permiten valorar el estado en que se encuentran los proyectos en
cursos
“Las métricas pueden ser usadas para medir el estado del proyecto, efectividad o progreso de las
actividades de un proyecto y así a contribuir a tomar decisiones estratégicas ante los
desvíos, incidentes o diferentes problemas que surgen en su ejecución” (Macías, 2011).
55
Este tipo de métrica de acuerdo a Macías (2011), “proporciona medidas e información sobre la
forma que la gente desarrolla el software de computadoras y sobre todo el punto de vista humano
de la efectividad de las herramientas y métodos”.
GESTOR
EJECUTIVO
GESTOR TÉCNICO
PROFESIONALES
CLIENTE
USUARIO FINAL
56
b) Medida cualitativa utilizada en la estimación y valoración de la calidad de un producto
software La disponibilidad de la información.
Respuesta A
Respuesta A
a) En medidas de longitud.
b) En medidas de pie.
c) En medidas directas.
d) En medidas indirectas.
Respuesta C
57
b) Estimación de costos.
TIPS
La meta primordial de la ingeniería del software es producir un sistema,
aplicación o producto de alta calidad dentro de un marco temporal que
satisfaga necesidades en el mercado.
Ingeniería del Software II
58
4 PISTAS DE APRENDIZAJE
➢ Tenga Presente que: La clase en software, es la descripción general de un objeto, donde los
atributos son las variables y los métodos son las funcionalidades del sistema
➢ Recuerde que: La estimación permite determinar cuánto dinero, esfuerzo, recursos y tiempo
tomará construir un sistema o producto específico basado en software.
➢ Es importante tener presente que: Las métricas de software ayudan a detectar errores y
defectos a tiempo, minimizando reproceso y pérdida de recursos.
➢ No olvide que: Las métricas de personas son medidas que ofrecen indicadores útiles para el
equipo del proyecto.
➢ Tenga presente que: Al llevar un control de cada una de las versiones en que se encuentra el
desarrollo del producto, en ocasiones trae muchas complicaciones, debido a que se realizan
diversas copias del mismo proyecto, para lo cual se recomienda almacenar las copias en
diversos dispositivos, debido a que si se guarda en un solo dispositivo y este presenta fallas,
se pierde el esfuerzo realizado.
➢ Recuerde que: Existen diversas herramientas destinadas a la gestión de la configuración del
software, entre las cuales se destaca las de gestión de la configuración de nube para múltiples
plataformas.
➢ Tenga presente que: Las métricas, no son utilizadas actualmente, en todos los procesos del
ciclo de vida del software, sólo se utilizan en su mayoría en las etapas de codificación y
pruebas.
➢ Recuerde que: El proceso de auditoría facilita la verificación y validación de la funcionalidad
del producto software
➢ No olvide que: La Ingeniería de Software es una disciplina joven, que viene aprendiendo de
las buenas prácticas.
Ingeniería del Software II
59
5 GLOSARIO
• Agile: Metodología de trabajo liviana.
• Metodologías: Es una buena práctica de desarrollo para contar con la mayor cantidad de
alternativas en el desarrollo.
• Buenas prácticas: Una buena práctica es el proceso más óptimo y de mayor alcance a
futuro.
• Componentes: son los elementos que posee un objeto como los atributos, identidad,
relaciones y métodos.
Ingeniería del Software II
60
6 BIBLIOGRAFÍA
• Jaramillo, C. (2016). Arquitectura de
Este capítulo recomienda al estudiante las Software. Corporación Universitaria
fuentes de consulta bibliográficas y digitales Remington. Módulo de estudio.
para ampliar su conocimiento, por lo tanto,
deben estar en la biblioteca digital de la • Metaute, P. (2016). Ingeniería del Software
Remington. Utilice la biblioteca digital II. Corporación Universitaria Remington.
http://biblioteca.remington.edu.co/es/ para
Cuarta versión.
la consulta de bibliografía a la cual puede
acceder el estudiante. • Linthicum, D. (2017). Elija las herramientas
de gestión de la configuración de nube para
FUENTES BIBLIOGRÁFICAS
múltiples plataformas. TechTarget.
• Crespo, A. (2018). ISO 25000: La calidad del Disponible en
producto software. Disponible en https://searchdatacenter.techtarget.com/es
https://www.excentia.es/iso-25000 /consejo/Elija-las-herramientas-de-gestion-
de-la-configuracion-de-nube-para-multiples-
• Durán, K. (2018). Herramientas para facilitar plataformas
el diseño de una interfaz. Disponible en
https://medium.com/@KatDuranSanzana/h • Macías, J. (2011). Métricas de proceso y
erramientas-para-facilitar-el-dise%C3%B1o- proyecto. Slideshare. Disponible en
de-una-interfaz-ea3b96a7a1dd https://es.slideshare.net/jose_macias/mtric
as-de-procesos-y-proyectos
• Fuertes, Y. y Sepúlveda, J. (2016). Scrum,
Kanban y Canvas en el sector comercial, • Maya, E. (2016). Metodología GQM.
industrial y educativo - Una revisión de la Slideshare. Disponible en
literatura. Revista Antioqueña de las Ciencias https://es.slideshare.net/netozack/metodol
Computacionales y la Ingeniería de Software oga-gqm-59163173
– RACCIS. Recuperado de
https://www.researchgate.net/profile/Jorge • Patiño, R. (2011). Módulo de Ingeniería del
_Sepulveda_Castano/publication/30515802 Software III. Corporación Universitaria
3_Scrum_Kanban_y_Canvas_en_el_sector_c Remington.
omercial_industrial_y_educativo_-
• Ramírez, K. (2017). Interfaz y experiencia de
_Una_revision_de_la_literatura/links/599dc
usuario: parámetros importantes para un
b7aaca272dff12fd7d4/Scrum-Kanban-y-
diseño efectivo. Revista Tecnología en
Canvas-en-el-sector-comercial-industrial-y-
Marcha. Vol. 30. Disponible en
educativo-Una-revision-de-la-literatura.pdf
https://www.scielo.sa.cr/scielo.php?scri
pt=sci_arttext&pid=S0379-
39822017000500049