La buena calidad del software se puede tener cuando los programas tienen menos impurezas, tales como: una menor utilización de operandos y operadores, menos reemplazos innecesarios, más expresiones matemáticas factorizadas, menos operandos sinónimos y/o ambiguos (que se llaman igual pero tienen una función diferente dentro de un programa), menos instrucciones innecesarias, etc.
Las 5 métricas anteriores cubren los principales elementos que definen la seguridad informática y sus variables se especifican en términos de elementos que habitualmente componen un producto software o que se recomiendan administren. De no poder identificar los valores de las variables mediante la especificación propuesta o una equivalente, es decir, concluyendo que el sistema que se evalúa no gestiona estos elementos de ninguna forma, puede considerarse como inadecuado el nivel de seguridad en ese aspecto. Los valores independientes de cada métrica evaluada que se puedan obtener, permiten establecer el nivel de seguridad informática del producto software en un aspecto determinado. Para establecer un nivel de seguridad general del producto basta con determinar una forma de relación entre estas, en dependencia de las características del sistema. A partir de la aplicación de las métricas anteriores se puede entonces evaluar la seguridad de productos software e identificar los aspectos a perfeccionar.
Las métricas externas usan valores de un producto del software derivados de las medidas del comportamiento del sistema del que es parte al probar, operar u observar el software o sistema ejecutable. Estos valores se emplean como base de la medición para la posterior evaluación del software. Antes de adquirir o usar un producto del software, el mismo debe evaluarse usando métricas basadas en objetivos comerciales relacionados al uso, explotación y gestión del producto en un ambiente organizacional y técnico especificado. Estas son las métricas externas primarias y de ellas se da una relación en las Tablas contentivas de las métricas de la ISO/IEC TR 9126-2. Las mismas constituyen una ventaja para los usuarios, evaluadores, verificadores, y diseñadores pues le permiten medir la calidad del producto de software a través de la medición del comportamiento del sistema del cual él forma parte, así como evaluar la calidad del producto de software durante las pruebas o la operación. [NC ISO/IEC 9126-1, 2005]
El estándar ISO/IEC 9126 se compone de cuatro partes: modelo de calidad [10], métricas externas [11], métricas internas [12] y métricas para la calidad en uso [13]. Propone un modelo de calidad categorizando la calidad de los atributos software en seis características (funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad), las cuales son subdivididas en subcaracterísticas. La calidad de uso es definida como “la capacidad del software que posibilita la obtención de objetivos específicos con efectividad, productividad, satisfacción y seguridad” [14]. El modelo más actual está representado por las normas ISO 25000:2005, conocidas con el nombre de SQuaRE (Software Quality Requirements and Evaluation), basada en ISO 9126 y en ISO 14598, se desagrega en 5 tópicos: 1-Gestión de la Calidad (2500n), 2- Modelo de Calidad (2501n), 3- Medidas de Calidad (2502n), 4-Requerimientos de Calidad (2503n) y 5-Evaluación de la Calidad (2504n) [8]. La especificación de requisitos de calidad y la evaluación de productos software son dos procesos que por su inherente complejidad pueden beneficiarse del proceso que regule su realización. Sin embargo, y como señala el estándar SQuaRE, es importante que sus objetivos estén alineados. Por ello, la creación de una norma que regule su realización pueda ser muy beneficiosa, en cuanto a la consistencia de los resultados obtenidos [14]. Otro aspecto destacable de SQuaRE es la incorporación de una normalización de la terminología, considera la Metrología como la ciencia de la medida y la necesidad de amoldar los conceptos usados en Ingeniería del Software a los utilizados en otras disciplinas que hacen uso de la medición [15].
modelo de procesos de software para el control de configuración con el objetivo de ayudar a dar solución a algunos de los problemas existentes en la industria cubana de software. Con vistas a automatizar los procesos definidos se desarrolló igualmente la herramienta CASE, para el control, administración y mejoramiento de los métodos de trabajo, específicamente en lo que se refiere al desarrollo de software. El CASE propiamente usado provee una forma cómoda de almacenar y disponer de los datos históricos necesarios para lograr un trabajo predecible y eficiente. No obstante, hasta ese punto el CASE es simplemente una colección de datos. Por esta razón, surge la necesidad de ampliar la herramienta CASE a través de la definición e implementación de métricas que permitan que los proyectos que sigan el modelo de procesos definidos puedan ser planificados, monitoreados y controlados.
Las métricas internas pueden ser aplicadas a un producto de software no-ejecutable (como una especificación o código fuente) durante el diseño y la codificación. Estas métricas proporcionan a los usuarios, evaluadores, verificadores y desarrolladores, el beneficio de poder evaluar la calidad del producto de software y lo referido a problemas de calidad, antes que el producto de software sea puesto en ejecución. Las métricas externas usan medidas de un producto de software, derivadas del comportamiento del mismo, a través de la prueba, operación y observación del software. Estas métricas proporcionan a los usuarios, evaluadores, verificadores y desarrolladores, el beneficio de que puedan evaluar la calidad del producto de software durante las pruebas o el funcionamiento.
Resumo: Métricas de Software é um assunto que vem sendo estudado há anos e mesmo assim, ainda hoje desperta interesses de pesquisadores. Talvez pelo fato de ainda não ter atingido sua maturidade. Sabe-se que realizar estimativas e prover métricas de software eficientes tem se tornado um grande desafio na área de TI e que essa incapacidade da indústria em estimar software com precisão, resulta em derrapagens orçamentais e atrasos nas entregas. Diante disso, esse trabalho tem como objetivo investigar o estado da arte sobre métricas de software com o intuito de identificar possíveis causas que contribuem para o uso ineficiente de métricas. Sendo assim foi aplicado o processo de revisão sistemática da literatura com o intuito de responder a algumas questões de pesquisa. Na fase inicial da revisão sistemática a String de busca aplicada retornou 559. Após aplicação dos critérios de seleção nas fases da condução da revisão, apenas 22 trabalhos foram selecionados.
Resulta claro que la tecnología informática ofrece numerosas herramientas para favorecer los procesos de enseñanza / aprendizajes – entrenamiento. La aplicación de estas herramientas ha producido un aumento en la utilización de software educativo en dichos procesos. Es por esta razón que los recursos tecnológicos actuales se han constituído en temas de investigación y aplicación fundamentales en los desarrollos multidisciplinarios de Ciencia de la Educación y Ciencia Informática. Por lo tanto, la evolución del mundo educativo en cuanto a métodos y recursos tecnológicos requiere que los usuarios de dicha tecnología (docentes y alumnos) renueven y actualicen sus conocimientos de productos de software educativos y estén preparados para administrar esos nuevos productos.
Iniciaremos el trabajo con una breve introducción a los conceptos más básicos relacionados con la medición de un proyecto de software: medida, métrica, indicador y atributos, y un listado y definición de los factores más importantes a la hora de diseñar aplicar una métrica. Serán analizadas las diferentes métricas existentes (proceso, proyecto y software), centrándonos preferentemente en las métricas de productividad. En este caso se analizarán los diferentes aspectos que se pueden tener en cuenta como el tamaño, las de función, de puntos características y puntos objeto. Se estudiarán también los diferentes estándares oficiales.
complejidad lógica, el grado de modularidad. Mide la estructura del sistema, el cómo esta hecho. MÉTRICAS DE CALIDAD: proporcionan una indicación de cómo se ajusta el software a los requisitos implícitos y explícitos del cliente. Es decir cómo voy a medir para que mi sistema se adapte a los requisitos que me pide el cliente.
Este trabajo de investigación se encuentra enmarcado dentro del Proyecto de Incentivos código 22/F822: “Ingeniería de Software: Conceptos, Métodos y Herramientas en un Contexto de Ingeniería de Software en Evolución”, de la Universidad Nacional de San Luis, en la línea “Métodos Formales y Prototipos Evolutivos” del mismo. Dentro del contexto de desarrollo de métodos y herramientas, esta investigación tiene como objetivo el concretar la construcción de un modelo, que sirva para la integración de métricas de calidad software empleando una Lógica Continua.
La carencia del hábito de usar metodologías que permitan la medición de la calidad al momento del desarrollo de software promueve que la gestión de calidad y el aseguramiento de la misma sea un tema de gran importancia en las empresas, dado que es un método fiable evaluar y mejorar el proceso de desarrollo de software para mejorar la calidad del mismo; esta investigación tiene la finalidad de realizar un estudio de las características de las distintas metodologías de métricas que determinan el nivel de calidad de un proceso determinado del software, para posterior a esto efectuar un análisis comparativo de las mismas y realizar la adecuada elección para el caso PUCE Esmeraldas; algunos de los parámetros a tomarse en cuenta para el análisis comparativo son: tamaño de la organización, objetivo, niveles de madurez, plazos de los resultados, recursos de la organización para la implementación, ámbito de aplicación. Con la metodología elegida se aplicaron las métricas al proceso de mantenimiento de software de la Pontificia Universidad Católica del Ecuador Esmeraldas para luego analizar los resultados y extraer generalizaciones significativas que permitan la mejora de este proceso.
programación de los programas hechos por el grupo de control.. Las distribuciones de Frecuencia del Tiempo Estimado de Programación para cada. Grupo son:[r]
El Invariante Espiral 4 (Figura 2.8) es la contraparte a nivel producto del In- variante 3: que las consideraciones del riesgo determinan el grado de detalle de los productos como as´ı tambi´ en de los procesos. Esto significa, por ejemplo, que el ideal tradicional de una especificaci´ on de requerimientos completa, consistente, rastreable, y comprobable no es una buena idea para ciertos componentes del producto, como una interfaz gr´ afica de usuario (IGU) o una interfaz de un componente COTS. Aqu´ı el riesgo de especificar en forma precisa las distribuciones de pantalla antes del desarrollo implica una alta probabilidad de bloquear una interfaz de usuario complicada dentro del contrato de desarrollo, mientras que el riesgo de no especificar distribuciones de pantalla es bajo, dada la disponibilidad general de herramientas flexibles de dise˜ no de IGUs. Incluso aspirar a una consistencia y comprobabilidad completa puede ser riesgoso, porque crea presi´ on para especificar prematuramente decisiones que podr´ıa ser mejor diferir (por ejemplo, la forma y contenido de los informes de excepciones). Sin embargo, algunos patrones de riesgo hacen que sea muy importante tener espe- cificaciones precisas, como el riesgo de incompatibilidades cr´ıticas de interfaces entre componentes de software y hardware, o entre el software de un contratista primario y el de un subcontratista.
(Irrazábal, 2012). CONSTRUCCIÓN DE UN ENTORNO PARA LA MEDICIÓN AUTOMATIZADA DE LA CALIDAD DE LOS PRODUCTOS SOFTWARE. En esta investigación se propone un entorno metodológico Kybele Environment Measurement Information System (KEMIS) basado en software libre para implementar un sistema de medición de la mantenibilidad software a nivel operativo, táctico y estratégico. Así como también un soporte metodológico para la evaluación de la mantenibilidad del producto software capaz de calcular el valor y el retorno de inversión de las refactorizaciones necesarias para mejorar dicha mantenibilidad. El modelo de medición está basado en la norma ISO/IEC 9126 e ISO/IEC 25010 para obtener valores indicadores de la calidad de un producto software. Por otra parte, el entorno KEMIS permitirá configurar los elementos del modelo de medición (medidas de calidad, funciones de medición, umbrales, etc.), adaptándolo a las características de cada organización. La propuesta se implanto en una empresa española que brinda servicios de tecnología de la información y telecomunicaciones teniendo como resultado obtención de métricas, a partir de la generación de manera automatizada y periódica de informes, que permiten fácilmente el cálculo de los indicadores de calidad como Densidad de Código Repetido, Densidad de Complejidad Ciclomatica, Ratio de Cobertura de Pruebas Unitarias.
construye. Estas medidas de atributos internos del producto proporcionan al ingeniero de software una indicación en tiempo real de la eficacia de los modelos de análisis, diseño y código, y también aportan indicadores de la efectividad de los casos de prueba y la calidad general del software [10]. Las métricas para aplicaciones Orientadas a Objetos (OO) deben ajustarse a las características que distinguen el software de este paradigma del software convencional. Estas métricas hacen hincapié en los conceptos básicos de la programación OO, tales como encapsulamiento, herencia y polimorfismo. Como en todas las métricas, los objetivos principales de las métricas OO se derivan del software convencional: comprender mejor la calidad del producto, estimar la efectividad del proceso y mejorar la calidad del trabajo realizado a nivel del proyecto [11].
1 . Cuáles actividades lleva a cabo un Arquitecto de Software? 2 . Con quién debe interactuar un Arquitecto de Software? 3 . Cuáles tecnologías debe manejar un Arquitecto de Software? 4 . Conoce o ha trabajado con alguna de las tecnologías mencionadas? 5 . Qué experiencia debe tener un Arquitecto de Software?
Los ADLs se remontan a los lenguajes de interconexión de módulos (MIL) de la década de 1970, pero se han comenzado a desarrollar con su denominación actual a partir de 1992 o 1993, poco después de fundada la propia arquitectura de software como especialidad profesional. La definición más simple es la de Tracz [Wolf97] que define un ADL como una entidad consistente en cuatro “Cs”: componentes, conectores, configuraciones y restricciones (constraints). Una de las definiciones más tempranas es la de Vestal [Ves93] quien sostiene que un ADL debe modelar o soportar los siguientes conceptos: