Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/gestion de proyectos y...

Post on 07-Jan-2020

2 views 0 download

Transcript of Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/gestion de proyectos y...

4.1 CONCEPTOS DE GESTION

MODULO IV

Ingeniería de SoftwareINF - 163

Resumen preparado por Miguel Cotaña1

23/11/09

Gestión de Proyectos

Cuando se planifica un proyecto setiene que obtener estimaciones delcosto y esfuerzo humano requeridopor medio de las mediciones desoftware que se utilizan pararecolectar los datos cualitativos acercadel software y sus procesos paraaumentar su calidad.

2

La gestión del proyecto consiste en lautilización de las técnicas yactividades de gestión requeridas paraconseguir un producto de calidad, deacuerdo con las necesidades de losusuarios, dentro de un presupuesto ycon una planificación de tiemposestablecidos previamente.

3

Es un esfuerzo temporal

comprometido a crear un producto o

servicio único.

Entre sus características principales:

Temporalidad;

Unicidad;

Progresividad;

Ejecutado por personas;

Limitado a ciertos recursos;

Planificado, ejecutado y

controlado.

Qué es un Proyecto?

4

Tareas críticas en la gestión de proyectos

El número de tareas identificables son

muchas. Sin embargo, 3 son críticas y

que deben ser desarrolladas

correctamente:

Estimación de duración, coste y

esfuerzo necesarios para construir

el producto;

Planificación de tareas a realizar,

asignación de personas, tiempos.

Seguimiento5

Estimación de proyectos

Se define como la predicción de

personal, del esfuerzo, de los costes y

de la planificación que se requerirá para

realizar todas las actividades y

construir todos los productos asociados

con el proyecto.

Uno de los parámetros críticos de la

estimación es determinar su exactitud.

6

7

Estimar

Horas

hombre

Estimar

El

costo

Determinar

Plazos de

entrega

Determinar

Personal

involucrado

Estimación enfoque tradicional

8

Estimar

Horas

hombre

Estimar

Tiempo

total

Determinar

Personal

involucrado

Estimar

El

costo

Determinar

Lineas de

codigo

Establecer

Plazo de

entrega

Estimación: método COCOMO

9

Puntos de

Función sin

ajustar

Puntos de

Función

ajustados

Líneas

De código

Del software

Ratio

Líneas de

Código PF

Estimación: método Punto Función

Larry Putnam, ha apuntado que la

gestión del desarrollo de software

considera la estimación como una

actividad que permite obtener,

prinicipalmente, respuestas a las

siguientes preguntas:

¿Cuánto Costará?

¿Cuánto tiempo llevará hacerlo?10

Razones de difícil estimación

No existe un modelo universal;

Hay muchas personas implicadas en

los proyectos que precisan de

estimaciones;

La utilidad de una estimación

dependerá de la etapa de desarrollo

en la que nos encontremos;

La estimación, a menudo se realiza

superficialmente;

11

12

Las estimaciones claras, completas y

precisas son difíciles de formular;

Las características del Sw y de su

desarrollo hacen difícil la estimación;

Existe tendencia aparente hacia la

subestimación;

Existen malas interpretaciones;

El estimador tiende a reducir en

algún grado, para hacer más

aceptable la oferta.

13

QUÉproducto

CON QUÉsiginificado

QUIÉNPersonal

CÓMOProyecto

PARA QUIÉNusuario

Tamaño sw RestriccionesOrdenador

Calidad personal

Req. durac. Proyecto

participación

Calidadrequerida

Tiempo ejec. Resp. Mem.

Experiencia Dilatación comprensi.

estabilidad

Compleji-dad del Sw

Herramientas Organiza-ción

experiencia

Nivel de utilización

Técnicas Prototipado conocimientos

Documen-tación

Programación Modeladoágil

Equipos

Tipo aplicación

Equipo de programación

Matriz de organizació

procedimiento

Requisitos de un buen estimador

No tiene ningún interés, directo ni

indirecto en los resultados del proceso

de estimación:

Formación y experiencia profesional;

Juicio independiente;

Basarse en metodos que pueda ser

explicado, cuestionado, discutido y

auditado por otros expertos;

Usa herramientas de estimación;

Documentar la estimación.14

Salidas del proceso de estimación

¿cuánta gente se necesita?;

¿De qué perfiles?;

¿Cuáles son los riesgos?;

¿Cómo afectan las restricciones

impuestas a las estimaciones?;

¿Cuánto esfuerzo se necesita para

realizar cada fase del ciclo de vida?;

¿Cómo impacta este proceso en el

resto de proyectos de la empresa?;

15

16

¿Cuál será el esfuerzo para

mantener este proyecto?;

¿Cuál será el tamaño del sistema

(lineas de código)?;

¿Cuántos defectos tendrá el

producto?;

¿Cuánta documentación será

generada?;

¿Cuál será el esfuerzo para generar

dicha documentación?.

El espectro de la gestión

La gestión eficaz de la gestión de

proyectos software se enfoca sobre

las cuatro P:

Personal;

Producto;

Proceso;

Proyecto.

17

El SEI ha desarrollado un modelo de

madurez de la capacidad de gestión

de personal (MMCGP), que define:

Reclutamiento;

Selección;

Gestión del desempeño;

Entrenamiento;

Retribución;

Desarrollo de la carrera;

Desarrollo de la cultura de

equipo.

Personal

18

Se clasifican en 5 categorías:

Gestores ejecutivos, que definen los

aspectos del negocio;

Gestores (técnicos) del proyecto,

quienes planifican, motivan, organizan

y controlan a los profesionales que

realizan el trabajo de software;

Profesionales, proporcionan las

habilidades técnicas necesarias;

Los participantes

19

Clientes, quienes especifican los

requisitos para la ingeniería de

software y otros elementos que tienen

un interés mínimo en el resultado;

Usuarios finales, quienes

interactúan con el software una vez

que se libera su uso productivo.

20

Weinberg, sugiere un modelo de

liderazgo:

Motivación, la habilidad para alentar

(mediante el “empuje o jalón”) al

personal técnico;

Organización, la habilidad para

adecuar los procesos existentes;

Ideas o innovación, la habilidad

para alentar a la gente para crear y

sentir creativamente.

Líderes de equipo

21

Otra visión, define los rasgos:

Resolución de problemas, un

gestor puede diagnosticar los

conflictos técnicos y organizativos;

Dotes de gestión, encabezar y dirigir

Incentivos, un gestor debe

recompensar la iniciativa y los logros;

Influencia y fomento de la cultura

en equipo, mantener el control en

situaciones de tensión emocional.22

La mejor estructura de equipo

depende del estilo de gestión de cada

organización, del número de personas

que integran el equipo y de sus

grados de habilidad. Los factores:

La dificultad del problema;

El tamaño del programa;

El tiempo que el equipo;

El grado de modularidad;

La calidad y confiabilidad;

La rigidez en fechas de entrega.

El equipo de software

23

Constantine, sugiere 4 paradigmas

organizacionales para los equipos:

Un paradigma cerrado, jerarquía

tradicional de autoridad;

Un paradigma aleatorio, estructura

un equipo libremente y depende de la

iniciativa individual de los miembros

del equipo. Cuando se requiere

innovación o adelantos tecnológicos,

serán excelentes. Pero no son

ordenados;24

Un paradigma abierto, intenta

estructurar un equipo en una forma

que logre algunos de los controles

asociados con el paradigma cerrado.

El trabajo se desarrolla en

colaboración. La sólida comunicación y

la toma de decisiones basadas en el

consenso, son sus características;

Un paradigma sincrónico, se apoya

en partes del problema con poca

comunicación activa entre ellos.25

La filosofía ágil alienta la satisfacción

del cliente y la temprana entrega

incremental del software; pequeños

equipos de trabajo enormemente

motivados; métodos informales;

mínimos productos de trabajo de IS; y

simplicidad global de desarrollo.

Estos equipos (ágiles) son

autoorganizados

Equipos ágiles

26

Muchos modelos de proceso ágil (por

ejemplo, Scrum) brindan al equipo

ágil una autonomía significativa para

realizar la gestión del proyecto y

tomar las decisiones técnicas

requeridas para cumplir el trabajo.

La planificación se mantiene en el

mínimo, y al equipo se le permite

seleccionar su propio enfoque, sólo

restringido por los requisitos del

negocio y estándares organizacionales27

El gestor de un proyecto de software

se enfrenta con un dilema desde el

principio de un proyecto de IS. Se

requieren estimaciones cuantitativas y

un plan organizado, pero no dispone

de información sólida.

En consecuencia, se deben examinar

el producto y el problema que se

intenta resolver al inicio del proyecto.

Se debe establecer y acotar el ámbito

del producto.

El producto

28

La primera actividad de gestión :

Contexto. ¿cómo encaja el software

que se desarrollará en el negocio y qué

restricciones se imponen?;

Objetivos de información. ¿qué

objetos de datos se requieren de

entrada?;

Función y desempeño. ¿qué

funciones realiza el software para

transformar los datos en salida?.

Ámbito del software

29

A veces llamada partición o elaboración

del problema, es una actividad de la IR.

Durante la actividad de fijación del

ámbito no se intenta en descomponer

completamente el problema

Un problema complejo se divide en

problemas menores que resultan más

manejables. Ésta es la estrategia que

se aplica cuando comienza la

planificación del proyecto

Descomposición del problema

30

Las actividades del marco de trabajo

que caracterizan al proceso de

software son aplicables a todos los

proyectos de software.

El gestor del proyecto debe decidir

cuál modelo de proceso es más

adecuado para:

1) Los clientes que solicitaron y

personas que realizarán el trabajo;

2) Las características del producto;

3) El ambiente del proyecto.

El proceso

31

La planeación del proyecto comienza

con la combinación del producto y el

proceso. Cada función que el equipo de

software someterá a ingeniería debe

pasar a través del conjunto de

actividades del marco de trabajo:

Comunicación, planificación, modelado,

construcción y despliegue.

Combinación del producto y el proceso

32

La descomposición del proceso comienza

cuando el gerente de proyecto pregunta:

¿cómo logramos esta actividad del marco

de trabajo?

Para un proyecto complejo se puede

requerir las siguientes tareas de trabajo

para la actividad de comunicación:

1. Revisar la petición del cliente;

2. Planificar reunión formal;

3. Llevar a cabo investigaciones;

Descomposición del proceso

33

4) Preparar documento de trabajo;

5) Celebrar reunión;

6) Desarrollar y revisar miniprospectos

o caso de uso para valorar su

corrección;

7) Ensamblar miniprospectos en un

documento más amplio;

8) Revisar el documento con

implicados;

9) Modificar el documento.

34

La gestión de un proyecto de software

exitoso requiere entender qué puede

salir mal. J. Reel, define 10 señales:

1.El personal de software no

entiende las necesidades de sus

clientes;

2.El ámbito del producto está mal

definido;

3.Los cambios se gestionan mal;

4.La tecnología elegida cambia;

El proyecto

35

5. Las necesidades comerciales

cambian (o están mal definidas);

6. Los plazos de entrega no son

realistas;

7. Los usuarios se resisten;

8. Se pierde el patrocinio;

9. El equipo carece de personal con

las habilidades apropiadas;

10.Los gestores (y profesionales)

evitan las mejores prácticas y las

lecciones aprendidas.36

Se necesita un principio organizador

que escale hacia abajo para

proporcionar planes simples para

proyectos simples. Boehm, realiza una

serie de preguntas.

¿Por qué se desarrolla el sistema?

¿Qué se hará?

¿Cuándo se hará?

¿Quién es el responsable de una

función?

El principio W5 HH

37

¿Dónde están ubicados en la

organización?

¿Cómo se hará el trabajo desde los

puntos de vista técnico y de gestión?

¿Cuánto de cada recurso se necesita?

38

4.2 METRICAS DE PROCESO Y PROYECTO

MODULO IV

Ingeniería de SoftwareINF - 163

Resumen preparado por Miguel Cotaña39

23/11/09

La medición permite obtener una visión

del proceso y el proyecto pues

proporciona un mecanismo para lograr

una evaluación objetiva.

La medición se aplica al proceso de

software con la finalidad de mejorarlo de

manera continua. La medición se utiliza

a lo largo de un proyecto de software

como apoyo en la estimación, el control

de calidad, la valoración de la

productividad y el control del proyecto.40

El proceso de software y las métricas

del proyecto son medidas

cuantitativas que permiten a los IS

obtener una visión de la eficacia del

proceso de software y los proyectos

que llevan a cabo utilizando el proceso

como marco de trabajo.

Se recopilan datos básicos de calidad

y productividad.

41

Luego, dichos datos se analizan,

comparan con promedios pasados y

valoran para determinar si han

ocurrido mejoras en la calidad y la

productividad.

Las métricas también se emplean para

marcar las áreas problema de modo

que se puedan desarrollar remedios y

mejorar el proceso de software.

42

43

Clasificación 1:Métricas de producto.Métricas de proceso.Clasificación 2:

Métricas basadas en atributos internos del producto:–Medidas de estructuración de unprograma.

–Métricas de complejidad.–Métricas de cobertura depruebas.

–Métricas de calidad deldiseño.

Métricas basadas en atributos externos del producto:–Métricas de portabilidad.–Métricas de defectos.–Métricas de usabilidad.–Métricas de mantenibilidad.

–Métricas de fiabilidad.

Clasificación

44

Métricas basadas en código fuente:Nº de líneas de código.Nº de líneas de comentario.Nº de instrucciones.Densidad de documentación.Métricas basadas en estructura de diseño:Relacionadas con el control intramodular.Relacionadas con el acoplamiento entre clases.

Métricas para sistemas orientados a objetos:Acoplamiento.Herencia.Cohesión.

Se aplica las métricas paravalorar la calidad de losproductos.

Proporcionan una manerasistemática de valorar la calidadbasándose en un conjunto dereglas. Se aplican a todo el ciclode vida permitiendo descubrir ycorregir problemas potenciales.

45

Los requisitos del Software son labase de las medidas de calidad. Lafalta de concordancia con losrequisitos es una falta de calidad.

Unos estándares específicos definenun conjunto de criterios de desarrolloque guían la manera en que se hacela ingeniería del Software. Si no sesiguen los criterios, habráseguramente poca calidad.

46

Los factores que afectan la calidad se puedencategorizar en:

Factores que se pueden medirdirectamente, como por ejemplo los defectospor punto de función.

Factores que se pueden medir sóloindirectamente, como por ejemplo lafacilidad de uso o mantenimiento.

En todos los casos debe aparecer la medición.Debe ser posible comparar el software(documentos, programas, datos) con unareferencia y llegar a una conclusión sobre lacalidad.

47

Factores de calidad de McCall

48

Revisión del

Producto

Transición del

producto

Operación

del producto

Corrección Fiabilidad Usabilidad Integridad Eficiencia

Facilidad de mantenimiento

Flexibilidad

Facilidad de prueba

Portabilidad

Reusabilidad

Interoperatividad

49

• Corrección ¿ HACE LO QUE QUIERO?

Hasta donde satisface un programauna especificación y logra losobjetivos del cliente.

• Fiabilidad ¿ Lo hace de forma fiable todo el

tiempo?Hasta donde se puede esperar que un programa lleve a cabo su función pretendida con la exactitud requerida

50

• Eficiencia ¿ Se ejecutará en mi HW lo mejor

que se pueda?La cantidad de recursos informáticos y código necesario para que un programa realice su función.

• Seguridad¿ Es seguro?

Hasta donde se puede controlar el acceso al software o a los datos por personas no autorizadas.

51

• Usabilidad¿ Es fácil de manejar?

El esfuerzo necesario para aprender, operar , preparar datos de entrada e interpretar salidas (resultados) de un programa.

• Facilidad de mantenimiento¿Puedo corregirlo?

El esfuerzo necesario para localizar y arreglar un error en un programa.

52

• Flexibilidad¿Puedo cambiarlo?

El esfuerzo necesario para modificar un programa operativo.

• Facilidad de prueba¿Puedo probarlo?

El esfuerzo necesario para probar unprograma y asegurarse de que realizala función pretendida.

53

• Portabilidad¿Podré usarlo en otra máquina?

El esfuerzo necesario para transferir el programa de un entorno de sistema de HW y/o SW a otro;

• Reusabilidad¿Podré reutilizar alguna parte del SW?Hasta donde se puede volver a emplear un programa (o partes de un programa) en otras aplicaciones;

• Interoperabilidad¿Podré hacerlo interactuar con otro sistema?El esfuerzo necesario para acoplar un sistema con otro.

54

Es difícil desarrollar medidas directasde los factores de calidad señaladosanteriormente, se definen un conjuntode métricas para desarrollarexpresiones que utilicen los factores:

Fq = c1 x m1 + c2 x m2 +….+cn x mn

Fq es factor de calidad

Cn son coeficientes de regresión

Mn son las métricas que afectan al factor calidad.

55

Lamentablemente muchas de lasmétricas definidas por McCallsolamente pueden medirse demanera subjetiva.

Las métricas se acomodan en unalista de comprobación que se empleapara puntuar atributos específicos delsoftware. El esquema de puntuaciónque se propone es una escala del 0(bajo) al 10 (alto)

56

57

Factores de calidad de Boehm

Métricas en los dominios del proceso y el proyecto

Las métricas del proceso se

recopilan en el curso de todos los

proyectos y durante largos periodos.

Su objetivo es proporcionar un

conjunto de indicadores de proceso

que conduzcan a la mejora de los

procesos de software a largo plazo

58

Las métricas del proyecto permiten

que un gestor de proyecto de

software:

1) Valore el estado de un proyecto en

curso;

2) Rastree los riesgos potenciales;

3) Descubra las áreas problema antes

de que se vuelvan “críticas”;

4) Ajuste el flujo de trabajo o las

tareas;

5) Evalué la habilidad del equipo.59

La única forma de racional de mejorar

cualquier proceso es medir sus

atributos específicos, desarrollar un

conjunto de métricas significativas con

base en dichos atributos y luego

emplear las métricas para ofrecer

indicadores que conducirán a una

estrategia de mejora.

Métricas del proceso y mejora del proceso Sw

60

proceso

Características

del cliente

Condiciones

del negocio

Entorno

de desarrollo

Personal Tecnología

Producto

61

Algunas métricas de proceso son

privadas para el equipo del proyecto

de software, pero públicas para todos

los miembros del equipo.

Las métricas públicas por lo general

asimilan información que

originalmente era privada para los

individuos y equipo

62

La métricas de proceso de software

ofrecen beneficios significativos

conforme una organización trabaja en

mejor grado global de madurez del

proceso. Sin embargo, como todas las

métricas, éstas pueden emplearse mal

y crear más problemas de los que

solucionan

63

Grady, sugiere las siguientes reglas:

Aplique sentido común y

sensibilidad organizativa cuando

interprete datos métricos;

Ofrezca retroalimentación

regular a los individuos y

equipos que recopilan medidas y

métricas;

No utilice las métricas para

evaluar a los individuos;64

Trabaje con los profesionales y

equipos para establecer metas

claras y las métricas que se

emplearán para conseguirlas;

Nunca use métricas para amenazar

a los individuos o equipos;

Los datos métricos que indican un

área problema no deben

considerarse negativos;

No obsesionarse con una sola

métrica.65

A diferencia de las métricas del

proceso de software que se utilizan

con propósitos estratégicos, las

métricas del proyecto de software son

tácticas. Es decir, un gerente de

proyecto y un equipo de software

emplean las métricas del proyecto y

los indicadores que se deducen de

ellas para adaptar el flujo de trabajo

del proyecto y las actividades técnicas

Métricas del proyecto

66

La primera aplicación de las métricas

del proyecto ocurre durante la

estimación. Las métricas recopiladas

de los proyectos previos se

aprovechan como base desde la cual

se realizan estimaciones de esfuerzo y

tiempo.

Conforme el proyecto avanza, las

medidas de esfuerzo y tiempo

utilizados se comparan con originales67

Mientras comienza el trabajo técnico,

las otras métricas comienzan a tener

significado. Se miden los índices de

producción representados en términos

de modelos creados, hora de revisión,

puntos de función y líneas fuente

entregadas.

Además, se les da seguimiento a los

errores descubiertos durante cada

tarea de IS.68

Conforme el software evoluciona

desde los requisitos hasta el diseño,

se recopilan métricas técnicas para

valorar la calidad del diseño y mejorar

los indicadores que influirán en el

enfoque que se adopte para la

generación y prueba del código.

69

Medición del software

Se clasifican en 2 categorías:

1. Medidas directas del proceso de

software (costo, esfuerzo aplicados)

y del producto (líneas de código,

rapidez de ejecución y defectos

reportados);

2. Medidas indirectas del producto que

influyen funcionalidad, calidad,

complejidad, eficiencia,

confiabilidad, facilidad de

mantenimiento, etc.70

Las métricas del software orientadas

al tamaño preceden de la

normalización de las medidas de

calidad o productividad considerando

el tamaño de software que se ha

producido.

Si una organización de software

mantiene registros simples es factible

crear una tabla de medidas orientadas

al tamaño.

Métricas orientadas al tamaño

71

Proyecto LDC esfuerzo $ Pag.doc errores defectos personal

BetaAlfa

Gamma.....

121002720020200

.

.

.

.

.

.

145233......

150240314

.

.

.

.

.

50014801000

.

.

.

.

.

.

139350200

.

.

.

.

.

.

197654......

356......

El desarrollo de métricas que se

asimilen con métricas similares

procedentes de otros proyectos

requiere elegir líneas de código con

valor de normalización72

A partir de los datos rudimentarios de

la tabla se desarrolla un conjunto de

métricas simples orientadas al tamaño

para cada proyecto.

La métricas orientadas al tamaño no

se aceptan universalmente como la

forma de medir el proceso del

software

73

Las métricas del software orientadas a

la función emplean como un valor de

normalización una medida de la

funcionalidad que entrega la

aplicación.

La métrica orientada a la función

utilizada con mayor amplitud es el

punto de función (PF). El cálculo del

PF se basa en características del

dominio de información y la

complejidad del software

Métricas orientadas a la función

74

75

La métrica del punto de función(PF) se puede utilizar como mediopara predecir el tamaño de unsistema obtenido a partir de unmodelo de análisis.Para visualizar esta métrica seutiliza un diagrama de flujo dedatos, el cual se evalua paradeterminar las siguientes medidasclave que son necesarias para elcálculo de la métrica de punto defunción:

76

Número de entradas delusuario;Número de salidas delusuario;Número de consultas delusuario;Número de archivos;Número de interfacesexternas.

77

Entradas: Pantallas o formularios através de los cuales usuarioshumanos de una aplicación u otrosprogramas agregan nuevos datos oactualizan datos existentes. Si unapantalla de entrada es muy grandepara ser desplegada de una vez(asumiendo 80 columnas y 25líneas) y requiere de una segundapantalla, el conjunto cuenta comouna (1) sola entrada. Se debenconsiderar entradas que requierenprocesamiento único.

78

Salidas: Pantallas o informes que laaplicación produce para uso humanoo para otros programas. Las salidasque requieren procesamientoseparado deben ser contabilizadas:en una aplicación de remuneracionesuna función de salida que genere100 cheques contaría como una solasalida.

Ej: pantallas, informes impresos,archivos en disco, sets de cheques,facturas impresas.

79

Las consultas se dividen en dospartes: la porción de entrada y laporción de salida. Ejemplos deconsultas: consulta de un usuario sinactualizar un archivo, mensajes deayuda, mensajes de selección. Unaconsulta típica sería una relacionadacon una reservación aérea.

Pantallas que le permiten a losusuarios interrogar una aplicación ysolicitar asistencia o información, talcomo pantallas de ayuda (HELP).

80

Archivos internos lógicos:Colección lógica de registro que laaplicación modifica o actualiza unatabla de una base de datos.

Archivos externos de interfaz:bases de datos compartidas,archivos lógicos direccionables desdeo hacia otra aplicación. Es unconjunto de datos definidos por elusuario, que están relacionadoslógicamente y que sólo son usadospara propósitos de referencia.

FI.1 comunicación de datos

FI.2 funciones distribuidas

FI.3 objetivos de performance

FI.4 configuración usada fuertemente

FI.5 tasa de transacciones

FI.6 entrada de datos en línea

FI.7 eficiencia del usuario final

FI.8 actualización en línea

FI.9 procesamiento complejo

FI.10 reusabilidad

FI.11 facilidad de instalación

FI.12 facilidad operacional

FI.13 sitios múltiples

FI.14 facilitamiento del cambio

CGS… Factores de influencia

81

0 factor no presente o sin influencia

1 influencia insignificante

2 influencia moderada

3 influencia promedio

4 influencia significativa

5 influencia fuerte

Escala de evaluación

82

83

Comunicación de datos: implicaque datos y/o información de controlson enviadas o recibidas. Laevaluación es un 0 para aplicacionesbatch, y un 5 para aplicaciones enque predomina el teleproceso;

Funciones distribuidas: analiza siuna aplicación es monolítica y operaen un solo procesador o si esdistribuida. 0 para aplicacionesmonolíticas y un 5 para aplicacionesque se ejecutan dinámicamente envarios procesadores;

84

Objetivos de performance: laevaluación sería un 0 si no hayestablecido ningún criterio especialde performance, y un 5 si losusuarios insisten en objetivos deperformance muy rigurosos querequieren un esfuerzo;

Configuración usadafuertemente: la evaluación sería un0 si la aplicación no tienerestricciones especiales de uso, y un5 si el uso anticipado requiereespecial esfuerzo para ser logrado;

85

Tasa de transacciones: laevaluación sería un 0 si el volumende transacciones no es significativo,y un 5 si el volumen es losuficientemente significativo comopara producir stress en la aplicacióny requerir un esfuerzo especial paraalcanzar throughputs deseados;

Entrada de datos en línea: laevaluación sería un 0 si menos del15% de las transacciones soninteractivas, y un 5 si más del 50%de las transacciones son interactivas

86

Eficiencia del usuario final: laevaluación sería un 0 si no hayusuarios finales o no hayrequerimientos especiales para losusuarios finales, y un 5 si losrequerimientos de eficiencia deusuarios finales son losuficientemente rígidos como pararequerir un esfuerzo;

Actualización en línea: laevaluación sería 0 si no hay, y un 5si las actualizaciones son obligatoriasy especialmente difíciles;

87

Procesamiento complejo: laevaluación sería 0 si no hay, y un 5en casos que requieren decisioneslógicas extensas, matemáticacompleja, procesamiento deexcepciones;

Reusabilidad: la evaluación seríaun 0 si la funcionalidad se planifica,y un 5 si mucha de la funcionalidady los artefactos del proyecto sepretende que sean usadosampliamente por otras aplicaciones;

88

Facilidad de instalación: laevaluación sería un 0 si este factores insignificante, y un 5 si lainstalación es importante y tanrestrictiva que requiere un esfuerzoespecial para cumplirlasatisfactoriamente;

Facilidad operacional: laevaluación sería un 0 si este factores insignificante, y un 5 si lafacilidad operacional es tanrestrictiva que requiere un esfuerzoespecial para alcanzarla;

89

Sitios múltiples: la evaluación seríaun 0 si hay solo un sitio planificadode uso, y un 5 si el proyecto y susartefactos se pretenden sean usadosen muchos lugares;

Facilitamiento del cambio: laevaluación sería un 0 si el cambio noocurre, y un 5 si la aplicación sedesarrolla específicamente parapermitir a los usuarios finales elhacer cambios rápidos para controlardatos o tablas que ellos mantienencon la ayuda de la aplicación.

90

La cuenta total debe ajustarseutilizando la siguiente ecuación:

PF = c-total x (0,65 + 0,01 x Fi)

Donde c-total es la suma de todaslas entradas PF obtenidas y Fi (i=1a 14) son los "valores de ajuste decomplejidad".

91

Factor de ponderación

Parámetro de medición Cuenta Simple Media Compl.

Número de entradas delusuario

3 X 3 4 6 = 9

Número de salidas del usuario 2 X 4 5 7 = 8

Número de consultas delusuario

2 X 3 4 6 = 6

Número de archivos 1 X 7 10 15 = 7

Número de interfaces externas 4 X 5 7 10 = 20

Cuenta total 50

Cálculo de puntos de función

Se asume que la Fi es 46 (un productomoderadamente complejo), por consiguiente:

PF = 50 x (0,65 + 0,01 x 46) = 56

Las métricas de proyectos de software

convencionales (LDC o PF) se aplican

en la estimación de proyectos de

software OO. Sin embargo, estas

métricas no proporcionan suficiente

granularidad para la planificación y los

ajustes de esfuerzo que se requieren

conforme se itera a lo largo de un

proceso evolutivo o incremental.

Métricas orientadas a objetos

92

Lorenz y Kidd, sugieren el siguiente

conjunto de métricas OO:

Número de guiones 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. Son los

componentes enormemente

independientes definidos con

antelación en análisis OO;93

Número de clases de apoyo. Es un

indicio de la cantidad de esfuerzo

indispensable para desarrollar el

software, así como un indicio de la

cantidad de reutilización;

Número promedio de clases de

apoyo por clase clave. Las clases

clave se conocen en etapas iníciales.

Las clases de apoyo se definen a lo

largo del curso de éste;

Número de subsistemas.94

Los casos de uso se define en etapas

tempranas del proceso de software, lo

que permite emplearlo en la

estimación antes de iniciar las

actividades significativas de modelado

y construcción.

Los casos de uso describen (al menos

indirectamente) funciones y

características visibles al usuario que

son requisitos básicos para un sistema

Métricas orientadas a casos de uso

95

El caso de uso es independiente del

lenguaje de programación. Además, el

número de casos de uso es

directamente proporcional al tamaño

de la aplicación en LDC, así como al

número de casos de prueba que

tendrán que diseñarse para ejercitar

completamente la aplicación.

96

Entre las medidas que se pueden

recopilar son:

Número de páginas web

estáticas;

Número de páginas web

dinámicas;

Número de vínculos internos de

página;

Número de objetos de datos

persistentes;

Métricas de proyectos de IWeb

97

Número de sistemas externos en

interfaz;

Número de objetos de contenido

estático;

Número de objetos de contenido

dinámico;

Número de funciones

ejecutables.

98

Métricas para calidad del software

La meta primordial de la IS es

producir un sistema, aplicación o

producto de alta calidad dentro de un

marco temporal que satisfaga una

necesidad del mercado.

El logro de esta meta requiere que los

IS apliquen métodos eficaces

acoplados con herramientas

modernas. Además se debe medir si

se logrará la alta calidad.

99

Se pueden utilizar muchas medidas de

calidad, el impulso primario, es medir

los errores y defectos. Las métricas

derivadas de estas medidas

proporcionan un indicio de la

efectividad de la garantía de la calidad

del software y de las actividades de

control tanto de los individuos como

del grupo.

100

Las métricas como los errores en el

producto de trabajo por punto de

función, errores descubiertos por hora

de revisión de la eficacia de cada una

de las actividades implicadas en la

métrica. Los datos de error también

se pueden emplear en el cálculo de la

eficacia en la eliminación de defectos

(EED)

101

Los indicadores útiles para el equipo de

proyecto son:

Corrección. La medida más común para

la corrección es defectos por KLDC,

donde un defecto se define como una

falta comprobada de concordancia con

los requisitos. Cuando se considera la

calidad global de un producto, los

defectos son los problemas que reporta

el usuario después que se liberó.

Medición de la calidad

102

Facilidad de mantenimiento. Es la

sencillez con la que un programa puede

corregirse si se encuentra un error,

adaptarse si su entorno cambia, o

mejorar si el cliente desea un cambio en

los requisitos. No existe forma de medir

directamente, por lo que se emplean

medidas indirectas. Una simple medida

orientada al tiempo es el tiempo medio

de cambio (TMC)103

Integridad. Mide la habilidad de un

sistema para resistir ataques a su

seguridad.

La medición de la integridad requiere

definir: amenaza y seguridad.

La integridad de un sistema se define:

Integridad = 1- (amenaza x (1-seguridad))

Si la probabilidad de amenaza es 0.50 y

la posibilidad de repeler un ataque es

sólo 0.25, la integridad es 0.63

(inaceptablemente baja).104

Facilidad de uso. Con frecuencia, un

programa que no es fácil de usar está

condenado al fracaso, incluso si las

funciones que realiza son valiosas.

Es un intento por cuantificar la sencillez

de la aplicación al utilizarla y se puede

medir en términos de características

105

Una métrica de calidad que ofrece

beneficios tanto en ámbito del proyecto

como en el proceso es la eficacia en la

eliminación de defectos (EED). En

esencia, la EED es la medida de la

habilidad de filtrar las actividades de la

garantía de cualidad y de control

conforme se aplica a través de las

actividades del marco de trabajo.

Eficacia en la eliminación de defectos

106

Cuando se considera un proyecto como

un todo, la EED se define:

EED = E/(E+D)

E es el número de errores encontrados

antes de entregar el software.

D es el número de defectos encontrados

después de la carga.

El valor ideal de la EED es 1

107

La EED también se puede aplicar en el

proyecto para valorar la habilidad de un

equipo de encontrar errores antes de

que pasen a la siguiente actividad.

Por ejemplo, la tarea de análisis de

requisitos produce un modelo de análisis

que se revisa para encontrar y corregir

errores. Si no se encuentran errores

pasan al diseño.

108

Cuando se aplica en este contexto la

EED se redefine como:

EEDi = Ei/(Ei+Di+1)

Ei es el número de errores encontradosdurante la actividad i de la IS.

Ei+1 es el número de errores encontradosdurante la actividad i+1 de IS que sepuede seguir para llegar a erroresque no fueron descubiertos en laactividad i de IS

109

Integración de las métricas dentro del proceso de Sw

La mayoría de los desarrolladores de

software todavía no miden y,

lamentablemente, muchos tienen

poco deseo de comenzar.

El problema es cultural !!!

110

Si no se mide, no existe una forma real

de determinar si se está mejorando. Y si

no se mejora, se está perdido.

Si se emplea la medición para establecer

una línea base del proyecto, cada uno de

los temas: desarrollar estimaciones de

proyecto significativas, producir

sistemas de calidad, tener el producto a

tiempo, se vuelven más manejables.

Argumentos para las métricas del software

111

Los datos de la línea base deben tener

los siguientes atributos:

Los datos deben ser razonablemente

precisos;

Los datos deben recopilarse para

tantos proyectos como sea posible;

Las medidas deben ser consistentes;

Las aplicaciones deben ser similares

al trabajo que se estimará.

Establecimiento de una línea base

112

La recopilación de datos requiere una

investigación histórica de los proyectos

previos para reconstruir los datos

requeridos

Recopilación, cálculo y evaluación de métricas

Proceso

de IS

Proyecto

de SW

Producto

de SW

Recopilacion

de datosCálculo de

métricas Evaluación

Métricas

medidas

métricas

indicadores113