MEDICIÓN DEL SOFTWARE
|
|
|
- Juan Carlos Toro Vargas
- hace 9 años
- Vistas:
Transcripción
1 MEDICIÓN DEL SOFTWARE 1
2 MEDICIÓN DEL SOFTWARE Las Frases: Software Engineers are not just good programers...physicists are primarily expected, and trained, to extend our knowledge, while EEs are expected to develop products or techniques for product production. Each career path attracts a distinct type of student and requires a distinct educational program. Most students choose to study EE rather than Physics because they like building things... [Parnas99] 2
3 MEDICIÓN DEL SOFTWARE 1. Conceptos básicos 2. Medidas y modelos 3. Alcance de las métricas 4. Clasificación de las métricas Procesos Productos Recursos 5. Recogida de datos métricos Base Histórica Obtención de información Método Objetivo/Pregunta/Métrica 6. Medición de atributos internos del producto Longitud Funcionalidad Complejidad Medidas estructurales 7. Medición de atributos externos del producto 8. Medición de recursos 9. Métricas para sistemas orientados a objetos 3
4 MEDICIÓN DEL SOFTWARE La Frase: Debemos recordar que otras disciplinas científicas ya han aplicado los conceptos básicos de la medición. En Ingeniería del Software no hay que reinventar demasiado, simplemente aplicar y adaptar la teoría ya existente a las métricas del software [Dolado00, pag 39] 4
5 MEDICIÓN DEL SOFTWARE La posibilidad de medir es el fundamento de las disciplinas científicas y de ingeniería. Sin poder medir es muy difícil evaluar y experimentar las técnicas y los métodos de ingeniería del software. La medición contribuye a superar algunos problemas habituales en el desarrollo del software: Proporciona requerimientos verificables expresados en términos medibles. Proporciona evidencia cuantificable para apoyar las decisiones. Hace más visible el desarrollo y permite identificar problemas anticipadamente. Permite hacer predicciones de coste y tiempo. Recomienda estrategias de prueba e identifica los módulos problemáticos. Permite valorar los efectos en la productividad y en la calidad. No se puede controlar lo que no se puede medir (DeMarco, 1982) y no se puede predecir lo que no se puede medir (Fenton y Pfleeger, 1997). 5
6 1. Conceptos Básicos Medida Una medida proporciona una indicación cuantitativa de extensión, cantidad, dimensiones, capacidad y tamaño de algunos atributos de un proceso o producto. OJO!, problemas con la cualitativas y semi-cualitativas que se dan con bastante frecuencia. Medición Es el proceso por el que se asignan números o símbolos a atributos de entidades del mundo real de tal forma que los describe de acuerdo con reglas claramente definidas. Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado (IEEE, 1993). Entidad medida 1..* 1..* posee Atributo 1 1 se aplica a 1 mide Valor (magnitud) 1..* 1 1 se expresa en * cuantifica * Unidad Mundo real (empírico) Mundo formal (matemático) Modelo estructural (parcial) de Kitchenham et al. 6
7 1. Conceptos Básicos FORMULACIÓN Definición de medidas y métricas COLECCIÓN Obtención de datos ANÁLISIS Cálculo de métricas INTERPRETACIÓN Evaluación de los resultados REALIMENTACIÓN Recomendaciones obtenidas Proceso de medición de Roche 7
8 1. Conceptos Básicos Métrica Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado (IEEE, 1993). Indicador Métrica o combinación de métricas que proporcionan una visión profunda, del proceso de software, del proyecto de software o del producto en sí. Los indicadores de proceso permiten tener una visión profunda de la eficacia de un proceso ya existente. Se recopilan de todos los proyectos de la organización durante un largo período de tiempo con objeto de obtener mejoras de los procesos de software a largo plazo. Los indicadores de proyecto permiten: Evaluar el estado del proyecto en curso. Seguir la pista de los riesgos potenciales. Detectar áreas de problemas antes de que sean críticas. Ajustar el flujo y las tareas del trabajo. Evaluar la habilidad del equipo del proyecto en controlar la calidad de los productos. Los indicadores de producto permiten evaluar su calidad. Modelo Una abstracción de la realidad que permite observar los detalles de una entidad o concepto desde una perspectiva particular. El modelo muestra qué hacer no cómo hacerlo ni quién lo hace. 8
9 MEDICIÓN DEL SOFTWARE La Frase: All models are wrong but some are useful [George Box] 9
10 2. Medidas Medidas directas e indirectas: Una medida directa de una entidad o atributo no involucra a ninguna otra entidad o atributo (longitud del código fuente, duración del proceso de prueba, número de defectos...). Una medida indirecta se obtiene a partir de medidas directas (productividad, estabilidad de requisitos, densidad de defectos en un módulo...). Objetivos de las medidas: Evaluación: comprobación del cumplimiento de ciertas características por una entidad que ya existe(calidad del diseño, fiabilidad del software...). Predicción: estimación de los atributos que tendrá una entidad que no existe aún (coste de un proyecto, esfuerzo necesario). El proceso se mide para mejorarlo, rentabilizarlo y optimizarlo. El proyecto se mide para gestionarlo, controlarlo, adaptar el flujo del trabajo y las actividades, y para realizar estimaciones para futuros proyectos. El producto se mide para aumentar su calidad o comprobar que se ajusta a las especificaciones contractuales. 10
11 3. Alcance de las métricas Las métricas del software abarcan muchas actividades y son múltiples las razones que justifican su uso : Estimación de coste y esfuerzo (o al menos reducción de estos) Modelos y medidas de productividad Recolección de datos ( Por amor al arte?...) Modelos y evaluación de la calidad (AENOR, ISO, etc.) Modelos de fiabilidad Están incluidos en la mayoría de los modelos de calidad. La especialización de los modelos de fiabilidad permite aumentar el entendimiento y control de los productos. Evaluación del rendimiento (Pude ser cualitativo) Aunque es otro aspecto de la calidad, la valoración del rendimiento incluye características observables como tiempos de respuesta y características internas como eficiencia de los algoritmos. Métricas estructurales y de complejidad Para realizar predicciones sobre atributos de calidad (fiabilidad, facilidad de mantenimiento...) se pueden medir atributos estructurales sobre representaciones del software que están disponibles antes que el código. Valoración de capacidad de madurez (CMMI). Se pueden medir diferentes atributos del desarrollo para evaluar la capacidad de una organización de desarrollar software de calidad. Gestión mediante métricas La realización de gráficos basados en diferentes medidas a lo largo del proyecto permite conocer el estado del mismo. Evaluación y comparación de métodos y herramientas Las investigaciones cuidadosas, con análisis y mediciones controladas sobre una herramienta o método permiten hacerlos más productivos para situaciones particulares. Justificación del uso de nuevos métodos y /o herramientas Justificación de formación adicional 11
12 3. Alcance de las métricas 1. En cuánto podría ser mejorada la productividad si no tuviese que gastar tiempo en mantenimiento? 2. Cuánto tiempo le costó el último año adaptar su presupuesto en trabajar con nuevas versiones de compiladores, bases de datos o sistemas operativos? 3. Cuáles de las aplicaciones que desarrolla su empresa demanda el mayor tiempo de soporte al usuario? 4. Cuánto tiempo se gasta realmente en testing? 5. Crée que sus desarrolladores dedican suficiente tiempo a actividades de diseño? 6. Su proceso de desarrollo ha madurado en los últimos años? 7. El esfuerzo dedicado a mejorar la calidad del software está reduciendo el tiempo que se dedica a corregir errores? 8. Con qué precisión es usted capaz de estimar proyectos futuros? 9. En cuántos proyectos han trabajado cada uno de sus desarrolladores en el último año? 10. Cuál es el número medio de horas por semana que sus desarrolladores dedican a un proyecto? Fuente: Karl E. Wiegers, Process Impact, 12
13 4. Clasificación de las métricas El primer paso de la medición es identificar los atributos o entidades a medir. Estos pueden ser de tres tipos: Procesos: atributos de actividades relacionadas con el software. Productos: componentes, entregas o documentos resultantes de una actividad de proceso. Recursos: entidades requeridas por una actividad de proceso Dentro de cada clase anterior se puede distinguir: Atributos internos: Son aquellos que pueden ser medidos examinando el proceso, producto o recurso mismo. Atributos externos: se miden con respecto a como el proceso, producto o recurso se relaciona con su entorno. ENTIDADES Productos Especificaciones, diseño, código... Procesos Realización de la especificación, del diseño, del código... Recursos Personal, equipos, hardware, software... Internos Tamaño, reusabilidad, modularidad, funcionalidad, acoplamiento, complejidad... Tiempo, esfuerzo, cambios en requisitos, fallos en la especificación Edad, precio, tamaño del equipo, velocidad, tamaño de memoria ATRIBUTOS Externos Comprensión, mantenibilidad, calidad, fiabilidad... Calidad, coste, estabilidad Productividad, experiencia, calidad, usabilidad, fiabilidad 13
14 4. Clasificación de las métricas del software: procesos Los aspectos relacionados con el proceso de desarrollo de software que pueden medirse son: Atributos internos que pueden medirse directamente: Duración de un proceso o de una de sus actividades. Esfuerzo asociado con el proceso o con una de sus actividades. Número de incidentes de un tipo determinado que ocurren durante el proceso o una de sus actividades.... Esas medidas pueden combinarse con otras para tener un mayor conocimiento del proceso de desarrollo. Ejemplo: coste/número de errores Atributos externos del Proceso: Controlabilidad Observabilidad Estabilidad... A menudo se proponen medidas de atributos externos en función de atributos internos. Ejemplo: la efectividad del mantenimiento del código puede medirse en función de la proporción entre el número de errores descubiertos y el número de errores corregidos. 14
15 4. Clasificación de las métricas del software: procesos Según CMMI, pueden existir 6 niveles de madurez en el proceso de desarrollo de Software: - CMMI level 0: Incomplete. - CMMI level 1: Performed. - CMMI level 2: Managed. - CMMI level 3: Defined. - CMMI level 4: Quantitatively managed. - CMMI level 5: Optimizing. PSL logra el nivel 5 en CMMI y se ubica en un grupo de solo 8 compañías en el mundo que lo han alcanzado. (Medellín, Colombia, Julio 25, 2003). Software de primer mundo a precios de país en vías de desarrollo
16 4. Clasificación de las métricas del software: productos Atributos externos, que dependen del comportamiento del producto en un entorno determinado: Usabilidad Integridad Eficiencia Reusabilidad Portabilidad... Atributos internos del producto: Medidas de tamaño (longitud del código, funcionalidad...) Medidas de diseño Acoplamiento: grado de interdependencia entre módulos Cohesión: grado en el los componentes locales de un módulo colaboran para realizar una tarea concreta Modularidad... Medidas de complejidad (estructuras de datos, estructura lógica...)... El uso principal de los atributos internos es la predicción de los atributos externos. 16
17 4. Clasificación de las métricas del software: recursos Los recursos incluyen cualquier entrada en la producción de software. Las medidas de recursos ayudan a controlar el proceso indicando cómo el proceso está usando y transformando las entradas en salidas. Los recursos internos que se pueden medir directamente son: Personal Materiales Herramientas Métodos... Los recursos externos pueden obtenerse a partir de los anteriores: Coste Productividad productividad = cantidad de salida / esfuerzo de entrada 17
18 5. Recogida de datos métricos Propiedades de los datos: Correctos: la recogida debe hacerse de acuerdo a las reglas exactas de la definición o de la métrica. Exactos: la diferencia entre el valor resultante de la medida y el valor real del dato debe ser lo mínima posible. Precisos: el número de cifras utilizadas para expresarlos debe ser la apropiada. Consistentes: evaluaciones diferentes sobre los mismos datos deben dar los mismos resultados. Replicables: deben servir para comparar datos obtenidos en circunstancias diferentes. Asociados con una actividad o periodo de tiempo particular. Proceso, producto recurso Elección y recogida Datos sin de datos refinar Extracción Datos refinados Análisis Valores de atributos derivados Medición directa Medición indirecta Modelo de recogida de datos El objetivo es mejorar mediante la medición, el análisis y la realimentación 18
19 5. Recogida de datos métricos El primer paso en la aplicación de las métricas es decidir qué medir. Los objetivos para el proyecto y producto deben estar bien definidos. Base Histórica. Ejemplo 1. Obtención de información. Ejemplo 2. El enfoque GQM (Goal-Question-Metric) puede utilizarse para seleccionar e implementar métricas de una manera efectiva ( Se aplican varios pasos: Lista de los objetivos y agentes. Áreas de medición. Definición de términos. Para cada objetivo obtener las preguntas que deben contestarse para saber si se están cumpliendo los objetivos. Decidir qué medir para poder contestar las preguntas de forma adecuada. OBJETIVO: Evaluar la efectividad del estándar de codificación PREGUNTAS: Quien está usando el estándar? MEDIDAS INTERMEDIAS: MÉTRICAS Técnicos usando el estándar Total técnicos Cual es la productividad del codificador? Esfuerzo en codificación con y sin estándar Cual es la calidad del código? Cantidad de código Errores?...?...?... Ejemplo de métricas derivadas con el método GQM 19
20 5. GQM (Goal Question Metric) OBJETIVOS Mejorar la planificación del proyecto. Incrementar la contención de defectos. Incrementar la Fiabilidad. AREAS DE MEDICIÓN Defectos entregados y defectos entregados por tamaño.... DEFINICIÓN DE TÉRMINOS PROBLEMA SOFTWARE. ERROR, DEFECTO, FALLO AVERÍA.. MÉTODOS GQM: Objetivo: mejorar la planificación del proyecto. Pregunta: Cuál es la precisión en la estimación del valor real del plazo del proyecto? Métrica: Precisión en la estimación del plazo (SEA) SEA=Duración real /duración estimada 20
21 6. Medición de atributos internos del producto Los atributos internos describen los productos de software de forma que dependen únicamente del producto mismo. El producto puede ser descrito en función de su tamaño. Se pueden definir un conjunto de atributos para medir el tamaño del software: Longitud: tamaño físico del producto. Funcionalidad: funciones que proporciona el producto al usuario. Complejidad (de tiempo o espacio): recursos necesarios (de tiempo o memoria de ordenador) para implementar una solución particular. Las propiedades estructurales del software son atributos internos relacionados con la calidad del producto. Los tipos de medidas estructurales son: Flujo de control: secuencia en que se ejecutan las instrucciones. Flujo de datos: seguimiento de cómo los datos se crean y se manejan por un programa. Estructura de los datos: organización de los datos independiente del programa. Los principales productos que resulta útil medir son la especificación, el diseño y el código. 21
22 6. Medición de atributos internos del producto: Longitud Código El numero de líneas de código (LOC) es la medida más usada para medir la longitud del código fuente. Se han realizado muchas propuestas para contarlas. La más extendida es la de HP que no contabiliza las líneas comentadas ni en blanco. La abreviatura que se usa para estas líneas es NCLOC o ELOC (effective lines of code). Es útil medir por separado las líneas comentadas (CLOC) para calcular esfuerzo, productividad, etc. La longitud total será: LOC = NCLOC + CLOC También puede se útil calcular la densidad de comentarios: CLOC/LOC Para propósitos tales como la prueba es importante conocer cuanto código ejecutable se produce, para ello se mide el número de sentencias ejecutables (ES), ignorando los comentarios, declaraciones de datos y cabeceras. Otra propuesta consiste en contabilizar únicamente el código entregado al cliente. Se cuenta el número de DSI (delivered source instruction) que incluye las declaraciones de datos, las cabeceras y las instrucciones fuente. 22
23 6. Medición de atributos internos del producto: Referentes al código Código Número de métodos estáticos. Afferent Coupling: Número de clases fuera del paquete que dependen de clases dentro del paquete. Efferent Coupling: Númeor de clases dentro del paquete que dependen de clases fuera del paquete. Nested Block Depth: profundidad en bloques anidados. Lack of Cohesion in Methods (LCOM), Falta de cohesión en métodos: Si es cerca de 1 quiere decir que se nos aconseja que dividamos la clase en varias subclases. 23
24 6. Medición de atributos internos del producto: longitud Métricas de Halstead (1977): Considera un programa P como un conjunto de tokens (unidad sintáctica más elemental distinguible por un compilador) que se pueden clasificar como operandos y operadores Las métricas básicas para los tokens son: n 1 : número de operadores únicos n 2 : número de operandos únicos N 1 : número total de ocurrencias de operadores N2: número total de ocurrencias de operandos Métricas compuestas para un programa: El tamaño (N) o longitud de un programa: N = N1 + N2 Vocabulario (n) de un programa: n = n1 + n2 Longitud estimada: L = N 1 log 2 n 1 + N 2 log 2 n 2 Volumen: V = N log 2 n donde N = N 1 + N 2 y n = n 1 + n 2 Esfuerzo de implementación: E = (n 1 N 2 N log 2 n ) / (2 n 2 ) Tiempo de desarrollo de un programa: T = E / B B : nº de discriminaciones mentales por segundo. Lo fija en
25 6. Medición de atributos internos del producto: longitud Especificaciones y diseño Los documentos de especificación de requisitos y de diseño tienen representaciones de muchos tipos (texto, gráficos, símbolos...) La medición del atributo longitud exige la identificación de elementos atómicos que puedan contarse. Ejemplo: Diagramas de flujo de datos: procesos, entidades externas, almacenes de datos y flujo de datos. Especificaciones algebraicas: salidas, funciones, operaciones y axiomas. Se pueden definir páginas de documentación como objetos atómicos. Vista Diagrama Objetos atómicos Funcional Diagrama de flujo de datos Diccionario de datos Burbujas Elementos de datos Datos Diagrama entidad relación Objetos, relaciones Estado Diagrama de transición de estados Estados, transiciones Ejemplo de componentes atómicos del análisis estructurado 25
26 6. Medición de atributos internos del producto: funcionalidad Puntos de función (PF) Medida de la funcionalidad propuesta por Albrecht. Es una medida del producto y del proceso que se sigue para desarrollarlo. Está centrado en la funcionalidad o utilidad del producto. Los PF se obtienen utilizando una relación empírica basada en items del producto y valoraciones subjetivas de la complejidad del mismo. El paso previo al cálculo de los PF, es el cálculo de PFS (unadjusted function point count), puntos de función sin ajustar: Se determinan los siguientes elementos de alguna representación del software: Entradas externas: entradas de usuario que proporcionan datos a la aplicación. Salidas externas: Salidas que proporcionan información al usuario. Consultas externas: peticiones interactivas que requieren una respuesta. Ficheros externos: interfaces con otros sistemas legibles por la máquina. Ficheros internos: ficheros maestros lógicos del sistema. A cada elemento se le asigna un índice de complejidad entre tres: simple, media o complejo. A cada índice le corresponde un factor de ponderación. 26
27 6. Medición de atributos internos del producto: funcionalidad Factor de peso Item Simple Medio Complejo Entradas externas Salidas externas Consultas externas Ficheros externos Ficheros internos Items y factores de peso para calcular los PFS 15 PFS = ((número de items de la clase i) peso i ) i=1 Para completar el cálculo de los PF es necesario conocer el factor de complejidad técnica (FCT) que engloba los 14 factores. F 1 Copias de seguridad y recuperación fiables Componentes del factor de complejidad técnica F 6 Entrada interactiva de datos F 11 Reusabilidad F 2 Comunicación de datos F 7 Facilidad operativa F 12 Facilidad de instalación F 3 Funciones distribuidas F 8 Actualización interactiva F 13 Múltiples sitios F 4 Rendimiento F 9 Interfaces complejas F 14 Facilidad de cambios F 5 Configuración muy cargada F 10 Procesamiento complejo 27
28 6. Medición de atributos internos del producto: funcionalidad Cada componente de la tabla anterior se sitúa en una escala entre 0 y 5 según su influencia: Ninguna influencia 0 Incidental 1 Moderado 2 Medio 3 Significativo 4 Esencial 5 La siguiente fórmula combina los 14 factores: 14 FCT = F i i=1 Los valores constantes de la ecuación y los factores de ponderación se obtienen empíricamente. Cálculo final de los puntos de función: FP = UFC * FCT La técnica de puntos de función presenta problemas debido a la subjetividad de la aplicación de los factores y a la inexactitud de las medidas. Puntos de función o líneas de código? Existen factores de conversión (Albrecht/Jones) que permiten relacionar el número medio de LDC requerido para construir un PF en diferentes lenguajes. 28
29 6. Medición de atributos internos del producto: funcionalidad Fuente: Pressman, 5ª edición, pag. 62 Lenguaje de Programación Ensamblador C COBOL FORTRAN Pascal C++ Ada95 Visual Basic SmallTalk SQL Java LDC/PF
30 6. Medición de atributos internos del producto: funcionalidad Puntos objeto Utiliza una medida del tamaño que puede ser aplicada al comienzo del desarrollo. Para realizar el cálculo de los puntos objeto se realiza una medida inicial contando el número de pantallas, informes y componentes de 3GL de la aplicación. A cada objeto se le asigna un factor de peso según su grado de dificultad. Los pesos reflejan el esfuerzo relativo requerido para implementar un objeto de un determinado nivel. Tipo de objeto Simple Medio Difícil Pantalla Informe Componente 3GL Tipos de objeto y factores de peso Puntos de característica Sistemas en tiempo real, control de procesos, empotrados,... sistemas 30
31 6. Medición de atributos internos del producto: medidas estructurales Flujo de control Grafos de flujo de control Las medidas de flujo de control generalmente se modelan mediante grafos dirigidos denominados grafos de flujo o grafos de flujo de control Un grafo dirigido está formado por un conjunto de puntos (nodos) y líneas (arcos). Cada arco tiene asignada una dirección representada por una flecha. Un arco se puede describir como un conjunto ordenado de pares, <x,y>, donde x e y son los nodos conectados por el arco. En un grafo de flujo se pueden definir los siguientes conceptos: Grado de entrada a un nodo: número de arcos que llegan al nodo. Grado de salida: número de arcos que salen del nodo. Camino: secuencia consecutiva de arcos dirigidos, algunos de los cuales pueden atravesarse más de una vez. Camino simple: camino que no tiene arcos repetidos. Nodos procedimiento: nodos cuyo grado de salida es igual a uno. Nodos predicado: nodos cuyo grado de salida esa mayor que uno. 31
32 6. Medición de atributos internos del producto: medidas estructurales Los nodos principio y fin del grafo se representan rodeados por una circunferencia. x 1 x 2 x n P n x 1, x 2... x n A x D 0 if A then x x 1 x 2 a 1 a 2 x n... a n C n Case A of a 1 : x 1 a 2 : x 2 a n : x n A x D 2 while A do X D 3 repeat X until A x A Grafos de flujo para diferentes estructuras de programa 32
33 6. Medición de atributos internos del producto: medidas estructurales Complejidad ciclomática de McCabe: La complejidad de un programa se mide mediante el número ciclomático (v) de su grafo de flujo (F): v(f) = e n + 2 siendo e el número de arcos y n el número de nodos de F. El número ciclomático: Mide el número de caminos linealmente independientes. Es un indicador útil de la dificultad de prueba y mantenimiento de un programa o módulo. Para valores superiores a 10 en un determinado módulo, éste puede ser problemático. 33
34 6. Medición de atributos internos del producto: medidas estructurales Complejidad ciclomática de McCabe: Determina en número de caminos a través de un programa. Sirve para predecir los módulos que son más propensos a errores. Determina el número de casos de prueba para asegurarse que todas las sentencia de un componente han sido ejecutadas al menos una vez. Cyclomatic Complexity greater than 50 Risk Evaluation a simple program, without much risk more complex, moderate risk complex, high risk program untestable program (very high risk) 34
35 DEMO jmetra is a simple Code Metrics Collection and Analysis Package for Java JMetric aims to bring current OO-metrics, and metrics tools research to the practitioner. QiDO is a provider of quality management at the source of your projects. What you get is a permanent overview about the status of your software development. 35
36 Practica, referencias
37 7. Medición de atributos externos del producto Los atributos externos de un producto son aquellos que pueden medirse únicamente con respecto a cómo el producto se relaciona con su entorno. Los atributos externos sólo son medibles cuando el producto está completo. La mayoría están relacionados con algún aspecto de la calidad. Los modelos de calidad recogen atributos denominados factores de calidad (atributos de alto nivel). Los factores de calidad puede descomponerse en atributos de bajo nivel denominados criterios de calidad. Los criterios de calidad pueden asociarse con un conjunto de atributos de bajo nivel medibles directamente obteniendo las métricas de calidad. FACTOR Mantenibilidad CRITERIO Facilidad de corrección Chequeabilidad Expansibilidad MÉTRICA Cuenta de fallos Grado de prueba Esfuerzo Cuenta de cambios Descomposición del factor mantenibilidad 37
38 7. Medición de atributos externos del producto El modelo de calidad estándar ISO 9126 En el estándar denominado Evaluación de Productos Software: Características de calidad y guías para su uso, la calidad se descompone en seis factores: Funcionalidad Fiabilidad Eficiencia Usabilidad Mantenibilidad Portabilidad El estándar define un proceso para evaluar la calidad del software según la figura adjunta. ISO 9126 y otras informaciones técnicas Especificación de requisitos de calidad Definición de requisitos de calidad Selección de métricas Definición de niveles de clasificación Requisitos de gestión Definición de criterios de valoración Desarrollo de software Productos Medición Clasificación Resultados Valoración Modelo del proceso de evaluación ISO
39 El modelo de calidad estándar ISO 9126 Usabilidad: Un conjunto de atributos que tienen que ver con el esfuerzo necesario para uso... 39
40 El modelo de calidad estándar ISO 9126 Objetivo: Evaluación de Calidad de productos Tiene 3 fases: DEFINICIÓN DE REQUISITOS: Necesidades técnicas iniciales -> [ Definición de QR] Especificación de QR (QRS). FASE DE PREPARACIÓN: QRS --> [ Selección de métricas ] --> Métricas QRS --> [ Definir niveles de evaluación] --> Niveles evaluación QRS --> [ Definición de criterios de valoración] -> Criterios FASE DE EVALUACIÓN: Productos, Métricas --> [ Medición ] -> Valores medidos Valores medidos, niveles evaluación --> [ Evaluación ] --> niveles evaluados. Niveles evaluados, Criterios --> [ valoración ] --> Resultado 40
41 7. Medición de atributos externos del producto Medición de la portabilidad Se entiende por portabilidad la facilidad de mover una aplicación de un entorno a otro. La portabilidad se puede expresar como: portabilidad = 1 - (ET/ER) ET: medida de los recursos necesarios para mover el sistema a otro entorno (Target Environment). ER: medida de los recursos necesarios para crear el sistema en el entorno residente (Resident Environment) Medición de la densidad de defectos Para cualquier producto software se pueden considerar dos tipos de defectos: Defectos conocidos Defectos latentes La densidad de defectos se puede definir en función de los primeros: Densidad de defectos = número de defectos conocidos tamaño del producto 41
42 7. Medición de atributos externos del producto Medida de la calidad basada en defectos Se puede medir la calidad en función de la relación: Tiempo empleado en la corrección de defectos post-release Tiempo total de desarrollo del sistema Medidas de usabilidad (I) Boehm define usabilidad como el grado en que un producto se puede usar de forma apropiada y práctica. La buena usabilidad incluye: Manuales bien estructurados Buen uso de menús y gráficos Mensajes de error informativos Funciones de ayuda Interfaces consistentes La usabilidad se puede descomponer en atributos medibles de los siguientes tipos: Nivel de entrada Nivel de aprendizaje Facilidad de manejo 42
43 7. Medición de atributos externos del producto Medidas de usabilidad (II) Las medidas de usabilidad se suelen expresar en función del rendimiento del usuario. Se han propuesto varias medidas de ese tipo: Efectividad de las tareas: % de efectividad = (cantidad * calidad)/100 Eficiencia temporal: eficiencia = efectividad/tiempo de tarea Periodo de tiempo productivo: tiempo de tarea - tiempo no productivo periodo productivo = x 100 tiempo de tarea Eficiencia relativa del usuario: eficiencia del usuario eficiencia relativa = x 100 eficiencia del experto 43
44 7. Medición de atributos externos del producto Medidas de mantenibilidad (I) La mantenibilidad de un producto refleja su facilidad de comprensión, mejora y corrección. Se puede aplicar tanto al código como a los documentos de diseño y especificación de requisitos. Una medida de mantenibilidad es la denominada MTTR (mean time to repair). Para calcularla se requiere conocer: Tiempo de reconocimiento del problema Tiempo de demora administrativa... Tiempo de recolección de herramientas.. Tiempo de análisis del problema Tiempo de especificación del cambio Tiempo de cambio Otras medidas dependientes del entorno son: Número de problemas no resueltos Tiempo utilizado en problemas no resueltos Porcentaje de cambios que introducen nuevos fallos Número de módulos modificados en la implementación de un cambio 44
45 7. Medición de atributos externos del producto Medidas de mantenibilidad (II) La mantenibilidad puede predecirse también a partir de atributos internos como la complejidad o la calidad de la documentación. Se han realizado estudios sobre la relación entre el número ciclomático y el esfuerzo de mantenimiento. En [Porter y Selby, 1990] se utilizan árboles de decisión para lby, 1990] se utilizan árboles de decisión para eterminar los atributos más influyentes en la aparición de errores de interfaz entre módulos durante el enimiento del sistema. [Belady y Lehman, 1976] sugieren un modelo para predecir el esfuerzo de mantenimiento en función de tributos externos e internos c-d) -d) tal de mantenimiento al de mantenimiento ductivo pírica mplejidad 45
46 8. Medición de recursos Los recursos son las entidades que se requieren en las actividades de proceso. Los recursos incluyen cualquier entrada en la producción de software: personal, materiales, herramientas, métodos, coste, productividad,... El coste generalmente se mide, a partir del resto de los recursos, pudiéndose ver como el coste de las entradas afecta al coste de las salidas. La productividad es otro atributo externo importante que depende del proceso de desarrollo. Normalmente se mide de la forma: cantidad de salida/ cantidad de entrada La productividad de un recurso de software se mide en función de la proporción entre lo que entra y sale de un proceso de producción de software. Ecuación de productividad: tamaño de software/ esfuerzo Unidades más utilizadas: Tamaño: líneas de código, PF,... Esfuerzo: personas-mes, persona-día,... 46
47 8. Medición de recursos Productividad La medición de la productividad en función del número de líneas de código puede presentar problemas: Dependencia de la técnica de contar Dependencia del lenguaje de programación Penalización del buen estilo de programación... Para solventar esos problemas algunos autores han propuesto medir la productividad a partir de la funcionalidad. Ventajas de los puntos de función: Reflejan mejor el valor de la salida Pueden usarse en cualquier momento del ciclo de vida Se pueden utilizar para medir el progreso comparando los puntos de función completados frente a los incompletos. Problemas que presentan los puntos de función: son más difíciles de medir que las líneas de código y tienen un componente subjetivo. 47
48 8. Medición de recursos Equipos La estructura del equipo del proyecto es un factor clave en la productividad. El factor particular que afecta a la productividad es la complejidad de las comunicaciones: complejidad causada por el número de individuos implicados y el método de comunicación requerido entre los miembros de un proyecto (Grady/Caswell). Equipos según su estructura: jerárquico, democrático,... Si se representa la estructura mediante un grafo (nodo= miembro, arco= camino de comunicación entre miembros): Tamaño: nº de nodos del grafo. Densidad de comunicación: relación entre arcos y nodos.... Fenton establece la siguiente escala ordinal para medir la experiencia de cada miembro del equipo: 0 (ninguna), 1 (familiaridad pero sin experiencia, práctica), 2 (experiencia práctica de más de 20 h en un proyecto), 3 (experiencia de entre 21 y 100h en varios proyectos), 4 (amplia experiencia). La experiencia del equipo se calcula hallando la media de las medidas de experiencia individual. Algunos métodos como COCOMO utilizan escalas de medida ordinales (muy baja, baja, nominal, alta y muy alta) para cada uno de los atributos de personal: experiencia en la aplicación, en el lenguaje, en el uso de herramientas,... La productividad del equipo no sólo depende de las productividades individuales de sus miembros, sino también de la comunicación entre ellos. 48
49 8. Medición de recursos Métodos y herramientas Existen pocos estudios sobre el grado en que las herramientas aumentan la productividad. Los modelos de estimación del esfuerzo requieren una medida del nivel de uso de métodos y herramientas. El modelo COCOMO incluye dos guías de coste: uso de herramientas y uso de técnicas modernas de programación con escalas de medida (muy baja, baja, nominal, alta, muy alta) Fenton propone la siguiente escala para evaluar el uso de herramientas por cada diseñador: 0 No se usan herramientas. 1 Las herramientas sirven de ayuda en el 20% de la documentación. 2 Las herramientas se usan para documentar al menos el 50% del diseño de alto nivel. 3 Las herramientas se usan para documentar al menos el 50% del diseño de alto nivel y diseño detallado. 4 Las herramientas se usan para el diseño y la generación automática de código de al menos el 50% del sistema. 5 Las herramientas se usan para el diseño y la generación automática de código de al menos el 90% del sistema. Escalas similares se utilizan para cuantificar otros recursos: Homogeneidad y compatibilidad del equipo del proyecto. Uso de correo electrónico y otras facilidades de comunicación. Nivel de soporte administrativo. Nivel de recursos de información
50 9. Métricas para sistemas orientados a objetos La mayoría de las métricas orientadas a objetos se basan en las características distintivas del software orientado a objetos respecto al software convencional: Localización: forma en que se concentra la información dentro de un programa Encapsulamiento: empaquetamiento de una colección de elementos. Ocultamiento de la información: supresión de los detalles operativos de un componente. Herencia: mecanismo que permite la propagación de responsabilidades de un objeto a otro. Abstracción: mecanismo que permite concentrarse en los detalles esenciales de un componente sin considerar los de nivel inferior. Clasificación de las métricas: Métricas orientadas a clases Métricas orientadas a operaciones Métricas para pruebas orientadas a objetos Métricas para proyectos orientados a objetos. 50
51 9. Métricas para sistemas orientados a objetos Métricas orientadas a clases Conjunto de métricas CK (Chidamber/Kemerer) Métodos ponderados por clase (MPC): recoge la noción de complejidad. Para una clase C con M 1, M 2,...,M n métodos con un peso de complejidad c 1, c 2,..., c n respectivamente, MPC = c i Profundidad del árbol de herencia (PAH): longitud del camino máximo entre un nodo y la raíz del árbol. Número de hijos (NH): es el número de descendientes inmediatos de una clase (nodo). Acoplamiento entre clases (AC): número de clases que se acoplan con una clase dada. Respuesta para una clase (RPC): es el número de métodos locales a una clase más el número de métodos llamados por los métodos locales. Métrica de falta de cohesión (MFC): número de métodos locales que no acceden a atributos comunes. 51
52 9. Métricas para sistemas orientados a objetos Métricas orientadas a clases Métricas de Lorenz y Kidd (Lorenz/Kidd) Tamaño de clase (TC). El tamaño general de una clase se determina utilizando las siguientes medidas: Número total de operaciones Número de atributos Número de operaciones invalidadas por una subclase (NOI). La invalidación consiste en la sustitución en la subclase de una operación heredada por una versión especializada. Número de operaciones añadidas por una subclase (NOA): operaciones propias de la subclase que no aparecen en las superclases. Índice de especialización (IE): IE = (NOI nivel)/ M total nivel: nivel de la clase en la jerarquía de clases M total : Número total de métodos de la clase 52
53 9. Métricas para sistemas orientados a objetos Métricas orientadas a operaciones Métricas de Churcher y Shepperd Tamaño medio de operación (TO med ): Número de mensajes enviados por la operación. Complejidad de operación (CO): se puede aplicar cualquier métrica de complejidad del software convencional. Número medio de parámetros por operación (NP med ). Métricas para pruebas orientadas a objetos (Binder) Encapsulamiento Carencia de cohesión en métodos (CCM): se aplica la métrica CK. Porcentaje público y protegido (PPP): porcentaje de atributos públicos de la clase. Acceso público a datos miembro(apd): número de clases que pueden acceder a atributos de otras clases. 53
54 9. Métricas para sistemas orientados a objetos Métricas para pruebas orientadas a objetos Herencia Número de clases raíz (NCR): número de jerarquías de clases distintas. Admisión (ADM): indicación de la herencia múltiple. Número de descendientes (NDD) y profundidad del árbol de la herencia (APM): se aplican las correspondientes métricas CK. Métricas para proyectos orientados a objetos Métricas de Lorenz y Kidd (Lorenz/Kidd). Número de guiones de escenario (NGE): un guión de escenario es una secuencia detallada de pasos que describen la interacción entre el usuario y la aplicación. Número de clases clave (NCC): clases que se centran en el dominio de negocio del problema en cuestión. Número de subsistemas (NSUB): proporcionan una idea de la asignación de recursos, de la planificación y del esfuerzo global de integración. 54
55 Referencias Basili, V.R. y Weiss, D., A Methodology for collecting valid software engineering data, IEEE Transaction on Software Engineering,10(6), Basili, V.R. y Rombach, H.D., The TAME project: Towards improvement-oriented software environments, IEEE Transaction on Software Engineering,14(6), , Belady, L.A., and Lehman, M.M., A Model of Large Program Development, IBM Systems Journal, 15 (3), pp , Binder, R., Testing Object-Oriented Systems, American Programmer, 7(4), 22-29, Chidamber, S.R. y Kemerer, C.F., A metrics suite for object-oriented design,ieee Trans. Software Engineering, 20(6), , Churcher, N.I. and Shepperd, M.J., Towards Conceptual Framework for Object- Oriented Metrics, ACM Software Engineering Notes, 20 (2), 67-76, DeMarco, T., Structured Analysis and Sistem Specification, Yourdon Press, DeMarco, T., Controlling Software Projects, Yourdon Press, Dolado, J.J. y Fernández, L. (coordinadores). Medición para la Gestión en la Ingeniería del Software. Ra-ma, Fenton, N.E. y Pfleeger, S.L., Software metrics. A rigorous & practical approach, Halstead, M.H., Elements of Software Science, Elsevier North-Holland, IEEE Software Engineering Standards,. Standard , Lorenz, M. and Kidd, J., Object_oriented Software Metrics, Prentice Hall McConnell, S., Desarrollo y gestión de proyectos informáticos, Mc Graw Hill Paulk, M. et al., Capability Maturity Model for Software, Software Engineering Institute, Carnie Mellon University, Pittsburgh, P.A., Pressman, R.S., Ingeniería del Software. Un enfoque práctico, Mc Graw Hill,
56 Medición de atributos internos del producto. Funcionalidad Entrada: 1. Nombre del documento a revisar Fichero externo: 1. Documento a revisar Usuario Consulta: 1. Palabras procesadas? Salidas: 1. Número total palabras revisadas 2. Número total de errores detectados 3. Lista de palabras con errores ortográficos Corrector ortográfico Fichero interno: 1. Diccionario Entradas externas: Salidas externas: Consultas externas: Ficheros externos: Ficheros internos: PFS: FCT: PF: 56
MEDICIÓN DEL SOFTWARE
MEDICIÓN DEL SOFTWARE 1 MEDICIÓN DEL SOFTWARE 1. Introducción 2. Conceptos básicos 3. Alcance de las métricas 4. Clasificación de las métricas Procesos Productos Recursos 5. Clasificación de los atributos
E77 - Gestión de Recursos de la Información. Tema 1 - Métricas del Proyecto de Software
E77 - Gestión de Recursos de la Información Tema 1 - Métricas del Proyecto de Software Medición y Métricas Proceso de IS Proyecto Recopilación de datos Medidas Producto Cálculo de métricas Métricas Evaluación
SERVICIO NACIONAL DE APRENDIZAJE SENA CENTRO DE FORMACIÓN A DISTANCIA. MATERIAL DE APOYO MODELO DE CALIDAD ISO (SQuaRE)
SERVICIO NACIONAL DE APRENDIZAJE SENA CENTRO DE FORMACIÓN A DISTANCIA MATERIAL DE APOYO MODELO DE CALIDAD ISO 25000 (SQuaRE) PROGRAMA: TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN JORGE
Cápsula 9. Medición de Software
INTRODUCCIÓN "Lo que no se puede medir, no se puede controlar; lo que no se puede controlar no se puede gestionar; lo que no se puede gestionar, no se puede mejorar" (Peter Drucker) No se puede predecir
Ejemplo Estimación con el método de Cocomo
Ejemplo Estimación con el método de Cocomo Entre los distintos métodos de estimación de costes de desarrollo de software, el modelo COCOMO (COnstructive COst MOdel) desarrollado por Barry M. Boehm, se
Módulo II. Diseño y evaluación en la experimentación formal.
Módulo II. Diseño y evaluación en la experimentación formal. Diseño y evaluación en la experimentación formal. Escalas y medición Proceso y diseño de la experimentación formal Agradecimientos por parte
PROGRAMA ANALÍTICO DE ASIGNATURA
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO COORDINACIÓN DE DOCENCIA DIRECCIÓN DE PLANEACIÓN Y DESARROLLO EDUCATIVO PROGRAMA ANALÍTICO DE ASIGNATURA 1.- DATOS GENERALES 1.1 INSTITUTO: 1.2 LICENCIATURA:
ISO Ingeniería del Software
ISO 9126 Ingeniería del Software ISO 9126 Es un estándar internacional para la evaluación del software. La norma define seis características de la aplicación, estas seis características son divididas en
2.12 Control estadístico vs métricas.
2.12 Control estadístico vs métricas. PRODUCIR UN SISTEMAS, APLICACIÓN O PRODUCTO DE ALTA CALIDAD Para lograr este objetivo se deben emplear métodos efectivos junto con herramientas modernas dentro del
CAPÍTULO 2. Empezaremos por definir los posibles términos que se encuentran. encerrados en la palabra métrica, porque es muy común asociarla con las
Conceptos básicos de Métricas CAPÍTULO 2 Empezaremos por definir los posibles términos que se encuentran encerrados en la palabra métrica, porque es muy común asociarla con las palabras medición y medida,
Grado en que el producto software satisface las necesidades expresadas o implícitas, cuando se usa bajo condiciones determinadas. ISO
Grado en que el producto software satisface las necesidades expresadas o implícitas, cuando se usa bajo condiciones determinadas. ISO 25000. Aspectos de la calidad de software Interna: medible a partir
Grado en que el producto software satisface las necesidades expresadas o implícitas, cuando se usa bajo condiciones determinadas. ISO
Guía 02. ISO 25000. Calidad del Producto Software Grado en que el producto software satisface las necesidades expresadas o implícitas, cuando se usa bajo condiciones determinadas. ISO 25000. Aspectos de
NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO
PACK FORMATIVO EN DESARROLLO DE APLICACIONES CON TECNOLOGÍA WEB NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO - Identificar la estructura de una página web conociendo los lenguajes
METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS
!387" APÉNDICE A, APARTADO 1 METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS DOCUMENTACIÓN 1. La necesidad de los diagramas Los diagramas o representaciones gráficas representan una parte fundamental en el
TEMA 2.1 TIPOS DE PRUEBAS DEL SOFTWARE
TEMA 2.1 TIPOS DE PRUEBAS DEL SOFTWARE INTRODUCCIÓN La prueba del software es un elemento crítico para la garantía de la calidad del software y representa una revisión final de las especificaciones, del
Clase Práctica No. 1: Métricas de Calidad de Software: Listas de comprobación.
Introducción a la Gestión de Software Actividad # 2 Tema 1. Calidad de Software. Clase Práctica No. 1: Métricas de Calidad de Software: Listas de comprobación. Temario: Introducción Métricas de calidad
Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software
Ingeniería del Software Ingeniería del Software de Gestión Tema 3 Metodologías de Desarrollo de Software Félix Óscar García Rubio Crescencio Bravo Santos Índice 1. Definiciones 2. Objetivos 3. Conceptos
Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A
Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS M O R
Clasificación de las Herramientas CASE
Qué es una herramienta CASE? Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas a aumentar la
TEMA 6: INTRODUCCIÓN A UML
TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse
Calidad del Software
1 ITI Gestión curso 2010/2011 Medición 2 Programa 1. Medición y experimentación en Ingeniería del Software Introducción Teoría representacional de la medición. Experimentación en Ingeniería del software.
Capítulo III: MARCO METODOLÓGICO
Capítulo III: MARCO METODOLÓGICO Tipo de Investigación El presente trabajo de investigación, tuvo como propósito el desarrollo de una aplicación experimental que permitió evaluar la operatividad y funcionalidad
Ingeniería del Software de Gestión Titulación: ITIG / ITIG - LADE 1º Cuatrimestre - octubre de 2012
Ejercicio Análisis 4. Planificación Proyectos. Estimaciones Software. PUNTOS DE FUNCIÓN. Este molo se basa en estimar el tamaño funcional l software. En este método is una forma medir las capacidas una
Intuitivamente es el proceso que se trata de formular y evaluar una solución para un problema dado
Unidad I Conceptos y principios del diseño (fcc) 1.1 El diseño del software e Ingeniería del software Concepto de diseño.- Proceso de aplicar distintas técnicas y principios con el propósito de definir
HERRAMIENTAS CASE. Contenidos
UNIVERSIDAD AUTÓNOMA DE COLOMBIA INGENIERÍA DE SISTEMAS ELECTIVA TECNOLÓGICA HERRAMIENTAS CASE Ingeniería del Software asistida por Computador (CASE) Septiembre 29 de 2009 Contenidos Introducción. Taxonomía
Introducción. Diplomado en Calidad y Estimación de Sistemas Informáticos
Introducción La estimación y calidad de los sistemas informáticos se ha convertido hoy en día en los principales objetivos estratégicos de las organizaciones debido a que, cada vez más, su supervivencia
Introducción a la Gestión de Software
Introducción a la Gestión de Software Tema 1. Calidad de Software Conferencia 1. Conceptos básicos de calidad de software Curso 2009-2010 Temario: Introducción Definición de calidad Modelos de calidad,
ANÁLISIS DE SISTEMAS. Prof. Eliz Mora
ANÁLISIS DE SISTEMAS Prof. Eliz Mora Programa Fundamentos del Análisis de Sistemas Estilos Organizacionales y su impacto en los Sistemas de Información Rol del Analista de Sistema Determinación de Factibilidad
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Plan de estudios ISTQB: Nivel Fundamentos
Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL SOFTWARE 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6.
Modelos, normas y estándares de calidad internacionales para los productos de software
Modelos, normas y estándares de calidad internacionales para los productos de software 750092M Desarrollo de Software II 1 Agenda Introducción ISO 9000 (no es de PRODUCTO es de PROCESO, Sistema de Gestión
Tipos Abstractos de Datos (TAD) Lección 1
Tipos Abstractos de Datos (TAD) Lección 1 Esquema Paradigmas de programación Definición de TAD Programación con TAD Ventajas de la programación con TAD Lectura recomendada: secciones 1.1 y 1.2 del libro
Introducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Programación Orientada a Objetos 2
Programación Orientada a Objetos Aplicaciones Java Ing. Julio Ernesto Carreño Vargas MsC. Aplicaciones Java Ingeniería de Sofwatre Patrones: MVC Programación Orientada a Objetos 2 1 Ingeniería de Software
Requerimientos de Software
Requerimientos de Software Ingeniería de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar
Programación Orientada a Objetos
Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 8 Nombre: El Modelo de diseño con UML Contextualización Los modelos que podemos crear con UML son varios, por lo que debemos
Lenguajes de Cuarta Generación
Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia
Diseño Estructurado. Diseños eran los antes. Lic. Ariel Trellini 28/07/2015
Lic. Ariel Trellini Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Diseños eran los antes Arquitectura y Diseño de Sistemas 2 1 Historia Desde fines de los 60s emergieron
INGENIERÍA DEL SOFTWARE III MÉTODOS DE ESTIMACIÓN. Curso 2013/2014
INGENIERÍA DEL SOFTWARE III MÉTODOS DE ESTIMACIÓN Curso 2013/2014 Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Contenidos 1. Introducción 2. Precisión y exactitud de las estimaciones
Proyectos de calidad comienzan con requisitos de calidad
Proyectos de calidad comienzan con requisitos de calidad Guilherme Siqueira Simões 17 - Julio - 2015 Agenda Por qué preocuparse por la calidad en requisitos? Qué es calidad? Qué es requisito de software?
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de Software 1. Introducción. 2. Características principales. 3. Clasificación de las metodologías. 4. Principales metodologías de desarrollo. 4.010 CONCEPTOS GENERALES Metodología:
Rational Unified Process
Rational Unified Process 1 Qué es un Proceso? Un proceso define Quién está haciendo Qué, Cuándo y Cómo para lograr un cierto objetivo. En la ingeniería de software el objetivo es construir un producto
CUADRO COMPARATIVO DE LOS MODELOS DE CALIDAD ELABORADO POR: EDUARD ANTONIO LOZANO CÓRDOBA. (Documento: ) PRESENTADO A:
CUADRO COMPARATIVO DE LOS MODELOS DE CALIDAD ELABORADO POR: EDUARD ANTONIO LOZANO CÓRDOBA (Documento: 12.022.957) PRESENTADO A: ASTRID VICTORIA CARDENAS CHICANGANA Ingeniera de sistemas - Magister en dirección
octubre de 2007 Arquitectura de Software
octubre de 2007 Arquitectura de Software Seis mejores Prácticas Desarrollo Iterativo Administrar Requerimientos Usar Arquitecturas basadas en Componentes Modelado Visual (UML) Verificar Continuamente la
Técnicas de Pruebas de
Técnicas de Pruebas de Software Lecturas Pruebas de Unidades Pruebas Integración Docente Beatriz E. Florián [email protected] Mayo 3 de 2005 Pruebas Reglas de oro para pruebas Límites de Pruebas: Probar
IFCD0111 Programación en Lenguajes Estructurados de Aplicaciones de Gestión
IFCD0111 Programación en Lenguajes Estructurados de Aplicaciones de Gestión 1. MÓDULO 1. MF0223_3 SISTEMAS OPERATIVOS Y APLICACIONES INFORMÁTICAS UNIDAD FORMATIVA 1. UF1465 COMPUTADORES PARA BASES DE DATOS
PATRONES DE DISEÑO FRAMEWORKS
PATRONES DE FRAMEWORKS Definiciones Finalidades Características Diseño de software basado en patrones Descripción Utilización de los patrones en el diseño Clasificación FRAMEWORKS Basado en la reutilización
Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor
Especificación de Requerimientos Nombre del Grupo de Desarrollo o Asignatura [Este documento es la plantilla base para elaborar el documento Especificación de Requerimientos. Los textos que aparecen entre
Control del Documento
Control del Documento Proyecto [Nombre del Proyecto al que se refiere este documento] Título Arquitectura del Sistema [v1.1.1 al 1 de enero de 2007.] Generado por : [Fulanito de Tal y Menganito de Cual.]
La ingeniería del software es una disciplina de ingeniería que comprende todos los aspectos de la producción de software.
Ingeniería del Software. Ian Sommerville Introducción. Preguntas de introducción. Qué es el software? Programas de ordenador y la documentación asociada. Los productos de software se pueden desarrollar
Programación en Lenguajes Estructurados de Aplicaciones de Gestión. Certificados de profesionalidad
Programación en Lenguajes Estructurados de Aplicaciones de Gestión Certificados de profesionalidad Ficha Técnica Categoría Informática y Programación Referencia 33002-1404 Precio 170.36 Euros Sinopsis
Aseguramiento de la calidad y pruebas de software. 2- Estándares y Modelos para la mejora del proceso de software
Aseguramiento de la calidad y pruebas de software 2- Estándares y Modelos para la mejora del proceso de software Blanca A. Vargas Govea [email protected] Febrero 5, 2013 Objetivo Conocer los diferentes
Instrumentos y Técnicas de recolección de información y análisis de datos cuantitativos. Roque Virgilio Castillo D Cuire
Instrumentos y Técnicas de recolección de información y análisis de datos cuantitativos Roque Virgilio Castillo D Cuire Clasificación orientativa de las técnicas de obtención de la información Instrumentos
Tema 04: Lenguajes de programación y el lenguaje C
Tema 04: Lenguajes de programación y el lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A.
METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información
9.000 MÉTRICA versión 3 Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información 9.010 Enero 2000 borrador de metodología MÉTRICA v. 3 Ofrece a las organizaciones un instrumento
Ingeniería del software I 9 - Diseño detallado
Diseño detallado Ingeniería del software I 9 - Diseño detallado El diseño de alto nivel no especifica la lógica. Esto es incumbencia del diseño detallado. En este sentido, una notación textual provee mejor
Introducción a la Programación en C
Christopher Expósito-Izquierdo [email protected] Airam Expósito-Márquez [email protected] Israel López-Plata [email protected] Belén Melián-Batista [email protected] José Marcos Moreno-Vega [email protected]
Auditoría Informática Desarrollo, Adquisición, Implementación y Mantenimiento de Aplicaciones de Negocio
Auditoría Informática Desarrollo, Adquisición, Implementación y Mantenimiento de Aplicaciones de Negocio Miguel Angel Barahona M. Ingeniero Informático, UTFSM Magíster en Tecnología y Gestión, UC Objetivo
Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
CIDE, SA. RIF: J NIT: MODELO FUNCIONAL
MODELO FUNCIONAL SIGA C O NTE NlD O Introducción Aspectos Conceptuales Definición de modelo Requisitos de un Modelo Funcional Modelando la Funcionalidad del Sistema: Diagrama de Casos de Uso Definición
Fase de Pruebas Introducción.
Fase de Pruebas Introducción. El desarrollo de sistemas de software implica una serie de actividades de producción en las que las posibilidades de que aparezca el fallo humano son enormes. Los errores
UML Unifield Modeling Languaje
UML Unifield Modeling Languaje 1 Modelo: Representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas. Lenguaje
CONSEJO DE NORMALIZACIÓN Y CERTIFICACIÓN DE COMPETENCIA LABORAL NORMAS TÉCNICAS DE COMPETENCIA LABORAL
I. Datos Generales de la Calificación CINF0285.01 Título Análisis y diseño de sistemas de información Propósito Brindar los parámetros requeridos para evaluar la competencia en las funciones del análisis
ISO ISO Calidad de Software. Virginia Cuomo Mariela Castares
ISO 9126 - ISO 14598 Calidad de Software Virginia Cuomo Mariela Castares 1 Agenda Calidad de Producto ISO 9126 / ISO 14598 2 Calidad de Producto Calidad: El conjunto de características de una entidad que
Mantenimiento de Software
Mantenimiento de Software Contexto Histórico Frente a la considerable velocidad con que se ha desarrollado la ingeniería de computadores (hardware), el desarrollo del software ha sufrido un retraso histórico
GLOSARIO DE TÉRMINOS
Apéndice A, Apartado 3: Glosario de términos!401" APÉNDICE A, APARTADO 3 GLOSARIO DE S Administración de la calidad Conjunto de actividades de la función general de administración que determina la política
Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño
Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño El diseño se define como la búsqueda de una solución en cualquier campo, sin embargo las soluciones no llegan de una manera simple, muchas veces realizamos
PROGRAMA INSTRUCCIONAL
UNIVERSIDAD FERMÍN TORO VICE RECTORADO ACADÉMICO FACULTAD DE INGENIERÍA PROGRAMA INSTRUCCIONAL DATOS BÁSICOS DE LA ASIGNATURA Nombre de la asignatura: Código Semestre U.C. Pre- Requisito COMPUTACIÓN PARA
BASES DE DATOS TEMA 1 PERSPECTIVA DEL ÁREA DE BASES DE DATOS
BASES DE DATOS TEMA 1 PERSPECTIVA DEL ÁREA DE BASES DE DATOS 1.3 Desarrolladores y usuarios finales Siendo entonces una DB una colección de datos almacenados en una computadora (discos, tambores u otro
emis: Entorno para la Medición de la Calidad del Producto Software
emis: Entorno para la Medición de la Calidad del Producto Software KYBELE CONSULTING S. L. ybele onsulting VIII Congreso Anual de AEMES de Procesos y Métricas de Sistemas Informáticos 1 y 2 de Octubre
Computadora y Sistema Operativo
Computadora y Sistema Operativo Según la RAE (Real Academia de la lengua española), una computadora es una máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos
LA FIABILIDAD EN LOS SISTEMAS DE TELECOMUNICACIONES
LA FIABILIDAD EN LOS SISTEMAS DE TELECOMUNICACIONES Antonio Moya Catena Responsable de Calidad y Desarrollo Operativo Centro I+D, Ericsson España, S.A. Global presence and customer relationships A unique
TEMA 1: SISTEMAS MODELADOS POR ECUACIONES DIFERENCIALES EN INGENIERÍA QUÍMICA. CLASIFICACIÓN. GENERALIDADES.
TEMA 1: SISTEMAS MODELADOS POR ECUACIONES DIFERENCIALES EN INGENIERÍA QUÍMICA. CLASIFICACIÓN. GENERALIDADES. 1. INTRODUCCIÓN. PLANTEAMIENTO DE PROBLEMAS EN INGENIERÍA QUÍMICA 2. PROBLEMAS EXPRESADOS MEDIANTE
INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco
El ciclo de vida de un sistema de información
El ciclo de vida de un sistema de información 1. Las etapas del proceso de desarrollo de software Planificación Análisis Diseño Implementación Pruebas Instalación / Despliegue Uso y mantenimiento 2. Modelos
Comunicación Hombre Máquina
Comunicación Hombre Máquina Es una disciplina relacionada con el diseño, implementación y evaluación de sistemas informáticos interactivos para ser usados por personas, y con el estudio de los fenómenos
Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP
Curso de Arquitecturas de Software Programación Orientada a Objetos Patrones GRASP Patrones Es una solución a un problema recurrente Capturan las mejores prácticas establecidas para diseño Describen un
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas
Acción que el procesador puede ejecutar sin necesidad de información suplementaria
TEMA 5: Algoritmos y programas Fundamentos de Informática (Ingeniería Técnica Industrial) Escuela Universitaria Politécnica Índice de contenidos 1. 2. 3. 4. Introducción. Conceptos básicos Representación
Proceso de Pruebas. Consta de las siguientes actividades: Planificación y Control
Proceso de Pruebas Proceso de Pruebas Proceso mediante el cual se aplican una serie de métodos,algunas veces utilizando herramientas, que permiten obtener una conjunto de medidas para verificar y validar
SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Desarrollo de Productos Editoriales Multimedia
Desarrollo de Productos Editoriales Multimedia REF: E101240 OBJETIVO Este conjunto de materiales didácticos se ajusta a lo expuesto en el itinerario de aprendizaje perteneciente al Certificado de Profesionalidad
Guía práctica de estudio 09: UML
Guía práctica de estudio 09: Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 09: Guía práctica de estudio
