Está en la página 1de 9

Aseguramiento de la calidad del software

1.- Objetivo:

El presente trabajo tiene por finalidad realizar métricas de calidad de software al proyecto
realizado para la empresa. con el fin de evaluar si hubo un buen proceso de desarrollo en todas
las etapas que este la conforma para así realizar medidas preventivas o correctivas para futuros
proyectos.

2.- Metodología de desarrollo de software:

Debido a los tiempos ajustados y la presión de los clientes este proyecto no se desarrolló bajo
ninguna metodología, por lo que se intentará alinear las fases del desarrollo con la ISO 12207
que es el ISO para los procesos de ciclo de vida del software.

2.1.- ISO 12207:

Este estándar se concibió para aquellos interesados en adquisición de software, así como
desarrolladores y proveedores. El estándar indica una serie de procesos desde la recopilación
de requisitos hasta la culminación del software. El estándar comprende 17 procesos lo cuales
son agrupados en tres categorías:

• Principales
• de apoyo
• de organización

Este estándar agrupa las actividades que se pueden llevar a cabo durante el ciclo de vida del
software en cinco procesos principales, ocho procesos de apoyo y cuatro procesos organizativos.
Cada proceso del ciclo de vida está divido en un conjunto de actividades; cada actividad se
subdivide a su vez en un conjunto de tareas.
2.1.1.- Procesos Principales:

Los procesos principales del ciclo de vida son cinco el cual brinda servicio a las partes principales
durante el ciclo de vida del software. Una parte principal es aquella que inicia o lleva a cabo el
desarrollo, operación, o mantenimiento de los productos software. Estas partes principales son
el adquiriente, el proveedor, el desarrollador, el operador y el responsable de mantenimiento
de productos software. Los procesos principales son:

Actividad Realizado Comentario


1. Adquisición Si Se realizó una publicación de oferta de
proyecto por parte del cliente, el cual conllevo
a que la consultora. obtuviera la participación
del proyecto.
2. Suministro Si Se realizo el levantamiento de la información
de los procesos involucrados a desarrollar,
para realizar un contrato el cual especificó el
alcance del proyecto, el coste y el tiempo
necesario para desarrollarlo.
3. Desarrollo Si Se desarrolló el sistema en base a los
estándares de la consultora (lenguaje de
programación, base de datos, frameworks de
desarrollo, etc.). Para eso se realizó una
capacitación al equipo involucrado.
3.1 Análisis Si Se realizo un blueprint en el cual se detalló lo
que debe hacer el sistema y que necesita el
cliente.
3.2 Diseño Si Se realizo el diseño de la base de datos
utilizando el diagrama de Entidad relación con
el Software Erwin Data-Modeler.
3.3 Codificación Si La codificación no se realizó bajo buenas
prácticas, lo cual trajo consigo problemas al
momento de realizar el mantenimiento o la
reutilización del código. Por el lado de la
creación de tablas de la base de datos se utilizó
un estándar que se utilizo en otro proyecto
que poco a poco fue dejado de utilizar
ocasionando confusión a los desarrolladores.
3.4 Pruebas Si Se realizo pruebas por parte de los
desarrolladores, antes de integrar los
diferentes módulos desarrollados. Esto mejoró
la calidad del producto antes de su puesta a
producción.
3.5 Integración Si Muchas reglas de negocio no se integraron al
sistema debido a que no se tenía claro el flujo
de procesos del negocio.
3.6 Implantación Si La falta de comunicación con el área de
sistemas dificultó el proceso de integración.
4. Explotación Si El área involucrada al desarrollo del proyecto
realizó las capacitaciones del sistema
5. Mantenimiento Si Debido al poco tiempo del proyecto y su gran
alcance se alargó el tiempo de este, aun
cuando estuvo implementado se realizó
desarrollo de nuevos módulos, reglas de
negocio y correcciones.

2.1.2.- Proceso de apoyo o de soporte:

Las actividades y tareas en un proceso de apoyo son responsabilidad de la organización que lleva
a cabo dicho proceso. Esta organización se asegura que el proceso existe y está operativo. Los
procesos de apoyo son:

Actividad Realizado Comentario


Documentación No Debido a los tiempos y por falta de
presupuesto por parte de la consultora solo se
logró documentar un manual de usuario mas
no las versiones de cambios y correcciones,
casos de uso y pruebas realizadas durante el
proyecto.
Gestión de la configuración No Solo se controlan las modificaciones y
versiones de elementos mediante repositorios
en la nube (git)
Verificación Si Los usuarios finales realizaron pruebas
exhaustivas antes de capacitar a los usuarios
Validación Si Se realizo el desarrollo bajo las
especificaciones iniciales (Blueprint). Cambios
adicionales pasaron para otras fases del
proyecto.
Revisión conjunta Si Se realizo la revisión conjunta durante etapas
tempranas, asi se evitaron errores de
concepción. Solo se validaron las
funcionalidades mas no las reglas de negocio.
Auditoría No No se realizaron actividades conjuntas que
permitieron determinar si se consiguieron los
objetivos propuestos.
Solución de problemas Si Se realizaron actividades que permitieron
analizar y resolver problemas o
disconformidades con los requisitos o con el
contrato que surgieron durante

2.1.3.- Procesos de Organización:

Los procesos organizativos del ciclo de vida son cuatro. Se emplean por una organización para
establecer e implementar una infraestructura constituida por procesos y personal asociado al
ciclo de vida y para mejorar continuamente esta infraestructura. Se usan habitualmente fuera
del ámbito de proyectos y contratos específicos; sin embargo, la experiencia adquirida mediante
dichos proyectos y contratos contribuye a la mejora de la organización. Los procesos
organizativos son:

Actividad Realizado Comentario


Gestión Si Se realizaron actividades de planificación,
seguimiento, control, revisión y evaluación.
Infraestructura Si Se realizaron compras de equipos de hw
(tablets) así como antenas para el acceso a
internet en los almacenes
Mejora No Se realizaron actividades de mejora para el
proceso de organizaciones mas no de la
actividad del desarrollo de software.
Formación Si Se realizó un plan de formación para los
empleados, todo fue bajo capacitaciones.
3.- Calidad de Software:

Son características propias del software, aquellas que se quiere controlar y asegurar. El software
es un producto inmaterial que no se fabrica, tampoco se degrada físicamente, pero sí se
desarrolla. El software puede tener errores e incidencias, pero no son similares a las de cualquier
equipo de carácter físico.

3.1.- ISO/IEC 9126

ISO 9126 era un estándar internacional para la evaluación de la calidad del software. Fue
reemplazado en 2005 por el conjunto de normas SQuaRE, ISO 25000:2014, la cual desarrolla los
mismos conceptos.

Este estándar proviene desde el modelo establecido en 1977 por McCall y sus colegas, los cuales
propusieron un modelo para especificar la calidad del software. El modelo de calidad McCall
está organizado sobre tres tipos de Características de Calidad:

• Factores (especificar): Describen la visión externa del software, como es visto por los
usuarios.
• Criterios (construir): Describen la visión interna del software, como es visto por el
desarrollador.
• Métricas (controlar): Se definen y se usan para proveer una escala y método para la
medida.

El modelo incluye métricas internas y externas. Métricas internas son aquellas que no dependen
de la ejecución del software (medidas estáticas), mientras que las métricas externas son aquellas
aplicables al software en ejecución. La calidad en las métricas de uso está sólo disponible cuando
el producto final es usado en condiciones reales. Idealmente, la calidad interna no
necesariamente implica calidad externa y esta a su vez la calidad en el uso.

3.1.1.- Métricas:

El estándar está dividido en cuatro partes las cuales dirigen, realidad, métricas externas,
métricas internas y calidad en las métricas de uso y expendido. El modelo de calidad establecido
en la primera parte del estándar, ISO 9126-1, clasifica la calidad del software en un conjunto
estructurado de características y subcaracterísticas. Cada subcaracterística (como
adaptabilidad) está dividida en atributos. Un atributo es una entidad la cual puede ser verificada
o medida en el producto software. Los atributos no están definidos en el estándar, ya que varían
entre diferentes productos software. Las características se organizan de la siguiente manera:
3.1.1.- Funcionalidad:

Un conjunto de atributos que se relacionan con la existencia de un conjunto de funciones y sus


propiedades específicas. Las funciones son aquellas que satisfacen las necesidades implícitas o
explícitas.

Métrica Cumple Comentario


Adecuación Si Es capaz de proveer las funciones que cumplan
las funciones y objetivos especificados. Es un
software a medida.
Exactitud Si El sistema entrega resultados solicitados con
precisión y de forma esperada.
Interoperabilidad Si El sistema es capaz de interactuar con uno o más
sistemas específicos no mediante su interfaz sino
por el entorno de base de datos.
Seguridad Si El sistema es capaz de proteger la información
mediante perfiles de usuarios y el acceso a otros
sistemas autorizados mediante web apis o web
services.
Conformidad de la Si Al cumplir con los 4 apartados anteriores
funcionalidad podemos decir que el software cumple con los
estándares referentes a la funcionalidad.
3.1.2.- Fiabilidad:

Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de


prestación bajo condiciones establecidas durante un período establecido.

Métrica Cumple Comentario


Madurez No La mayoría de errores fueron evitados, pero aun
quedan casuísticas que no se corrigieron en el
momento. Mientras el sistema siga creciendo se
crearán nuevos casos de errores que se tendrá
que corregir y evitar con el tiempo.
Tolerancia a errores Si El sistema puede seguir funcionando pese a que
se encuentren errores de codificación.
Recuperabilidad No El sistema puede restablecer el funcionamiento
adecuado en casos de errores pero no recuperar
los datos que fueron procesados durante el eror.
Conformidad de la Si Debido a que no se cumple con todos los
fiabilidad apartados anteriores, debemos decir que el
software no cumple con los estandares o normas
relacionadas a la fiabilidad.

3.1.3.- Usabilidad:

Un conjunto de atributos relacionados con el esfuerzo necesario para su uso, y en la valoración


individual de tal uso, por un establecido o implicado conjunto de usuarios.

Métrica Cumple Comentario


Entendimiento Si Cumple la condición solo si los usuarios
entienden el negocio y los procesos de la
empresa.
Aprendizaje Si Se creó un manual de usuario para aprender el
uso del sistema
Operabilidad Si No solo es capaz de registrar y consultar datos,
sino de eliminar y actualizar procesos.
Atracción No Aun falta mejorar el diseño grafico de los
módulos. Se priorizo la funcionalidad del sistema
mas no el diseño de la web.
Conformidad de uso No El software no cumple con los estándares o
normas relacionadas a su usabilidad.

3.1.4.- Eficiencia:

Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y
la cantidad de recursos necesitados bajo condiciones establecidas.
Métrica Cumple Comentario
Comportamiento en No Los tiempos de respuesta y de procesamiento no
el tiempo son los óptimos al registrar o subir a la base de
datos una cantidad considerable de datos.
Comportamiento de No Hay algunos reportes que no soportan el trafico
recursos de muchos usuarios conectados al mismo
tiempo. Es el caso de los Crystal Reports.
Conformidad de No El software no cumple con los estándares o
Eficiencia convenciones relacionadas a la eficiencia.

3.1.5.- Mantenibilidad:

Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en


un sistema software.

Métrica Cumple Comentario


Estabilidad Si Se realizo la captura de errores
Facilidad de análisis No La herramienta que se utiliza para el desarrollo
es el Visual Studio, el cual posee herramientas
que permiten el diagnostico de deficiencias y
causa de fallas (debugger).
Facilidad de cambios No Ya que no hubo documentación de cambios y
aún queda mucho código basura, no es muy fácil
realizar cambios. Es necesario estudiar los flujos
y la codificación realizada anteriormente.
Facilidad de Pruebas Si Se creo un ambiente de pruebas con el motivo
de evitar alterar los datos de producción.
Conformidad de No El software no cumple con los estándares de
facilidad de facilidad de mantenimiento.
mantenimiento

3.1.6.- Portabilidad:

Conjunto de atributos relacionados con la capacidad de un sistema software para ser transferido
desde una plataforma a otra.

Métrica Cumple Comentario


Capacidad de Si El software es web, por lo que se necesita de solo
Instalación un navegador para poder utilizarlo. De
preferencia un navegador actualizado.
Capacidad de No El software esta bajo una herramienta de trabajo
Reemplazamiento (workflow) desarrollado por la consultora. Lo
que haría imposible la migración o reemplazo del
sistema.
Adaptabilidad Si El sistema es capaz de escalar la capacidad
interna. Sean tablas, volúmenes de
transacciones, formatos de reporte, etc.
También es adaptable a diferentes entornos
especificados como tablets, smartphones,etc.
Co-existencia Si El software es capaz de coexistir mediante el
mismo servidor de base de datos o intercambio
de datos como servicios web o web apis.
Conformidad de No El software no cumple con todos los estándares
portabilidad relacionados a la portabilidad.

4.- Aseguramiento de la calidad de software en las organizaciones:

La búsqueda por entregar productos y servicios que satisfagan las necesidades de los clientes es
el objetivo de todas las empresas que quieren posicionarse en los diferentes mercados. Las
empresas desarrolladoras de software no escapan a esta premisa. Esto se puede lograr a través
de la calidad. En términos generales, la calidad busca que el cliente quede satisfecho y conforme
con su producto.

La calidad es importante en el desarrollo de un producto o servicio y, más aún, en la creación de


un producto de software, no solo porque busca cumplir con las expectativas del cliente, sino
también por mejorar los procesos internos en la elaboración de un producto, tarea fundamental
en el crecimiento y posicionamiento de una empresa.

También podría gustarte