GuiaIUnidadV(HDP)

34
UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS HERRAMIENTAS DE PRODUCTIVIDAD UNIDAD V MEDICION DE LA PRODUCTIVIDAD

description

HDP

Transcript of GuiaIUnidadV(HDP)

UNIVERSIDAD DE EL SALVADORFACULTAD DE INGENIERIA Y ARQUITECTURAESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOSHERRAMIENTAS DE PRODUCTIVIDADUNIDAD VMEDICION DE LA PRODUCTIVIDAD5.1. MEDICION DE LA PRODUCTIVDADEnlaUnidadI estudiamosquelaproductividadeslaraznentreel producto(el software) ylosinsumosutilizados para su desarrollo.productividad=atributos del softwareesfuerzo total de desarrolloEl estndar IS !"#$ nos provee de un modelo para definir los atributos que debe tener un software de calidad.%a &emos estudiado tambi'n que el esfuerzo total de desarrollo consiste en medir los recursos utilizados en elproceso de desarrollo( monetarios) temporales) &umanos) materiales) etc.*uandosetratadeunprocesodedesarrolloterminado) el clculodelaproductividadresultarsencillodecalcular) en la medida en que ya conocemos ambas variables.Sin embar+o) uno de los problemas ms comunes a la &ora de iniciar un proyecto de desarrollo es la estimacin.*uandounclientenossolicitael desarrollodeunsoftware) ,cmopodemos saber qu'tan+randeesesesoftware-) ,cmo saber cunto esfuerzo requiere su desarrollo-) y por ende. ,cunto tiempo necesitamos para sudesarrollo-) ,cunto debemos cobrar por ese proyecto-.%a &emos mencionado) en la Unidad I. cuales son los costos que se deben considerar en un proyecto. En la fasede /lanificacin) estos costos estarn determinados por las actividades que se &ayan definido para la realizacindel proyecto) los recursos necesarios para realizar estas actividades y el tiempo de cada actividad.El procesode/ro+ramacindeproyectospor lotanto) requieredeunpuntodepartidaparadefinir estasvariables (actividades) tiempos y recursos).0urantelasprimerasetapasdelaevolucindel procesodedesarrollodesoftware) secrearonunaseriedem'tricas que respond1an a la tecnolo+1a y t'cnicas utilizadas para el desarrollo( 2edidas relacionadas con el tama3o( Estas m'tricas se relacionan con el tama3o de la salidas de al+unaactividad (proceso en el software). 4as ms comunes son( l1neas de cdi+o fuente entre+adas) n5mero deinstrucciones de cdi+o ob6eto entre+ado) n5mero de p+inas de documentacin del sistema. 2edidas relacionadas con la funcin( Estas m'tricas se relacionan con la funcionalidad total del softwareentre+ado. 4as ms conocidas fueron( /untos de 7uncin) /untos *aracter1stica y /untos b6eto.8l+unas de estas m'tricas &an quedado en desuso con el tiempo) debido a que ya no se a6ustan a las t'cnicas o ala tecnolo+1a utilizada para el desarrollo.A. PUNTOS DE FUNCION4a m'trica /unto de 7uncin (7unction /oints 9 7/:)) fue creada por 8llan 8lbrec&t en "!;!. como una t'cnicade estimacin del tama3o del software sobre la base de la funcionalidad entre+ada al usuario)independientemente de la tecnolo+1a utilizada para su desarrollo. 4a m'trica &a sobrevivido &asta nuestra 'poca)&abi'ndose desarrollado muc&as variantes.Uno de los consensos ms importantes sobre su aplicacin es la necesidad de establecer qu' se debe medir ycmosemedir. Esto+eneralmenterespondeal &ec&odequelasestimacionesdesoftwareatrav'sdeestam'tricapuedendarseenetapasmuytempranasdeldesarrollo. 0esdelaplanificacin) dondesecuentanconinformacinmuybsicasobreloqueserel software) &astaetapas finales dondeya setienenclaras lascaracter1sticas del software construido. 0e &ec&o) esta m'trica es usualmente aplicada en fase de anlisis) dondeyasetieneunaideamsclarasobrelascaracter1sticasdel softwarequeseestdesarrollando) ysirvepararevaluar la estimacin realizada al inicio.IFPUG ISO/IEC 20926:2009Una versin de la m'trica /untos de 7uncin es la creada por el F 2edio *omple6o *omple6oReglas de identificacin'". 4os datos o informacin de control deben provenir de fuera de la aplicacin#. 8l menos un I47 debe ser mantenido si los datos de entrada no son de control. En caso de que se trate deinformacin de control) debe alterar el comportamiento del sistema.>. 8l menos una de las tras condiciones descritas a continuacin se cumple( 4a l+ica de procesamiento es 5nica) respecto a la l+ica de procesamiento realizado por otras EI. El con6unto de elementos de dato es diferente del con6unto de datos identificados en otras EI. 4os I47 o EI7 son diferentes de otros arc&ivos referenciados por otra EI.Reglas para identificar los DET y (RT en las EI'". ?o se debe contar los campos que son devueltos o derivados por el sistema y almacenados en un I47durante el proceso elemental si el campo no cruza los l1mites de la aplicacin. /or e6emplo) cuando sea+re+a una orden de un cliente) el precio unitario es devuelto automticamente por cada item que sea+re+a a la orden y almacenado en el re+istro de la factura. El precio unitario no debe contarse comoelemento de dato para la entrada e=terna) porque dic&o dato se encuentra almacenado en el sistema.#. 4os mensa6es de error) confirmacin o cualquier tipo de mensa6e de respuesta del sistema deben contarsecomo un solo 0ED.>. 8unque e=istan varias formas de iniciar) confirmar) cancelar o continuar un proceso) debe ser contadocomo un 5nico 0ED.G. Se debe contar un 7AD para cada I47 mantenido.E. *ontar un 7AD para cada I47 o EI7 le1do durante el proceso entrada.$. *ontar solo un 7AD por cada I47 si dic&o arc&ivo es mantenido y le1do.SALIDAS E#TERNAS EO!Una E es un proceso elemental que env1a datos o informacin de control fuera de la aplicacin. El ob6etivoprincipal de una salida e=terna es presentar la informacin al usuario a trav's de otro proceso l+ico o en adicina un proceso de recuperacin de datos o de informacin de control.El nivel de comple6idad de las E se mide en funcin de la cantidad de los 0ED y 7AD de acuerdo a la si+uientetabla((RT/DET !% -!" #$&H:" Simple Simple *omple6o#:> Simple 2edio *omple6oGF 2edio *omple6o *omple6oReglas de identificacin'". 8l menos una de las si+uientes re+las de proceso elemental debe cumplirse(". 4al+icadeprocesamientodel procesoelemental contieneal menosunafrmulamatemticaoclculo.#. 4a l+ica de procesamiento del proceso elemental crea datos derivados.>. 4a l+ica de procesamiento del proceso elemental mantiene al menos a un I47.G. 4a l+ica de procesamiento del proceso elemental produce alteraciones en el comportamiento delsistema.Reglas para la identificacin de DET y (RT en las E.'". *ontar un 7AD para cada I47 mantenido durante el proceso elemental.#. *ontar soloun7ADpor cadaI47cuandodic&oarc&ivoseamantenidoyle1doduranteel procesoelemental.CONSULTAS E#TERNAS E$!Una E@ es un proceso elemental que env1a datos o informacin de control fuera de la aplicacin. El ob6etivoprincipal de las E@ es presentar la informacin al usuario a trav's de un proceso de recuperacin de datos.4a tabla de comple6idad de las E@ es la misma que para las E.Reglas de identificacin'". 4a l+ica de procesamiento del proceso elemental devuelve datos o informacin de control de un I47 oEI7.#. 4a l+ica de procesamiento del proceso elemental no contiene frmulas matemticas o clculos.>. 4a l+ica de procesamiento del proceso elemental no crea datos derivados.G. 4a l+ica de procesamiento del proceso elemental no mantiene arc&ivos l+icos internos.E. 4a l+ica de procesamiento del proceso elemental no altera el comportamiento del sistema.Reglas comunes para el conteo de E. y E/'Reglas para identificar DET y (RT en E. y E/'". Se debe contar un 7AD por cada arc&ivo I47 o EI7 le1do en el proceso elemental.#. 4as funciones env1an datos o informacin de control &acia afuera de la aplicacin.>. 8l menos una de las si+uientes re+las debe cumplirse(>.". 4a l+ica de procesamiento es 5nica respecto a la l+ica de procesamiento realizada por otras E yE@ en la aplicacin.>.#. El con6unto de elementos de datos identificados) es diferente al con6unto de datos identificados enotras E o E@.>.>. 4os I47 y EI7 referenciados son diferentes a los arc&ivos referenciados por otras E y [email protected]. *ontarun0EDparacadacampoidentificableporel usuario) 5nico. queentraalaaplicacinyesrequerido para especificar cuando) qu' y como los datos los datos deben ser devueltos por el procesoelemental.E. *ontarun0EDparacadacampoidentificableporelusuario) 5nico.quesal+adelaaplicacin. /ore6emplo( Un mensa6e de '=ito debe ser contado como un tipo de elemento de dato.$. Si un 0ED entra y sale del sistema) debe ser contado solo una vez para el proceso elemental.;. *ontar un 0ED por la capacidad de enviar un mensa6e de error o confirmacin.I. 8unque e=istan varias formas de iniciar) confirmar) cancelar o continuar un proceso) debe ser contadocomo un 5nico 0ED.!. ?ose deben contarcampos quesondevueltos o +enerados por el sistemayalmacenadosenunI47durante el proceso elemental) si el campo no cruza la frontera de la aplicacin."H. ?o se deben contar 0ED BliteralesC. /or e6emplo( D1tulos de reportes) cabeceras de columnas) o etiquetas(labels).4a tabla +eneral para el clculo de los puntos de funcin no a6ustados es la si+uiente(P)R)METR. DE MEDID) ()0T.R DE PE1.SI2/4E 2E0I *2/4EJ8rc&ivos 4+icos Internos ; "H "E8rc&ivos de Interfaz E=terna E ; "HEntradas E=ternas > G $Salidas E=ternas G E ;*onsultas E=ternas > G $*ontaremos de forma individual los parmetros de medida por cada factor de peso. Es decir) se contarn porseparados los parmetros se+5n el peso que ten+an. /or e6emplo) se pueden tener > entradas Simples) G promedioy E comple6as.El total de puntos de funcin sern los puntos de funcin no a6ustados (U/7).EJEMPLO:En el proceso de desarrollo de una aplicacin para la administracin de Aecursos Kumanos para una empresatransnacional) el usuario requiere lo si+uiente(". 4a capacidad de mantener informacin de los empleados. Esto es in+resar) consultar y +enerar reportessobre los empleados. 8l re+istrar un empleado nuevo) la fec&a estimada de retiro es calculadaautomticamente y almacenada como parte del re+istro del empleado. El reporte a +enerar debe mostrarla lista de los empleados con sus fec&as estimadas de retiro. 4a informacin del empleado es( *di+o del empleado) que debe ser +enerado por el sistema. ?ombre del empleado 0ireccin Salario /uesto asi+nado 7ec&a estimada de retiro#. In+resar) consular y +enerar reportes de los puestos de traba6o. 4os datos de los puestos de traba6o son( *di+o de puesto ?ombre nominal del puesto Salario base *di+o de puesto ocupado. ?ombre funcional del puesto 0escripcin del puesto>. . 2ostrar un mensa6e para confirmar que los cambios &an sido realizados y almacenados.$. Imprimir los c&eques de pa+o para los empleados. El requerimiento especifica que cada vez que unc&eque sea impreso) se debe marcar el pa+o como pagado.4a planilla es +enerada mensualmente) y al salario base de cada empleado debe sumarse y restarserespectivamente) las bonificaciones y los descuentos.4a empresa cuenta con sucursales en #H pa1ses al rededor del mundo y cada sucursal tiene un promedio de "Eempleados.4as cuentas bancarias promedio son de # por pa1s.?ote queaunquenoes un requerimiento e=pl1cito)esnecesario proveer al usuario una formadeasi+narlospuestos a los empleados. 0e otra manera no podr1a consultar los puestos asi+nados.Identificando los IL(8l &acer un anlisis EA del con6unto de datos que intervienen en el requerimiento) podemos lle+ar al si+uientemodelo l+ico.*ada una de las tablas del modelo EA constituye un I47.?oobstante) el requerimiento#del usuarioestableceal+unoscamposdecontrol paralaconfi+uracindelformato de salida de los reportes de puestos. 8sumiremos que esta confi+uracin no ser almacenada en la basededatos) sinoenunarc&ivodeconfi+uracinenformatoL24. 0adoquelainformacindecontrol estrelacionada 5nicamente a la forma en que se +enerarn los reportes de puestos) podemos concluir que se trata deun solo con6unto de datos relacionados) que no podemos dividir. /or tal razn) contar como un solo I47.El total de I47 de nuestro sistema ser !. I correspondientes a las tablas de la base de datos y " arc&ivo deconfi+uracin en formato L24.?ote quelos campos I0s auto+eneradosnosoncontadoscomo 0ED)puesto que no son reconocibles porelusuario) pero si son contados cuando aparecen en otra tabla como llave fornea.El atributo activo de la tabla asi+nacin no es contada) puesto que no es reconocida por el usuario. 0ado que elempleado puede cambiar de puesto en al+5n momento) el re+istro no ser modificado) ser BdesactivadoC y unnuevo re+istro se a+re+ar. 4a asi+nacin activa ser la que se muestre al usuario en todo momento./ara el conteo de los AED identificamos aquellos atributos que son obli+atorios para insertar un re+istro en laentidad correspondiente. /or e6emplo) ,es posible insertar un re+istro en la entidad detalle_planillasin que se&aya creado el re+istro de la planilla-. ,Es posible insertar un re+istro en la entidad detalle_planilla sin que se&aya creado el re+istro en la tabla asignacion-. ?ote que los atributos codigo_empleadoy codigo_puestosonuna sola llave fornea en la entidad detalle_planilla) por lo que debern contar como un solo AED.?ote que los AED no se cuentan se+5n los 0ED del I47 o EI7) sino en funcin del con6unto de datos que seencuentran en el arc&ivo (sean o no 0ED).IL( RET DET 0.MPLE2ID)Dempleado H G Simpleplanilla H # Simplepuesto H > SimplecuentaMbancaria H # SimpleIL( RET DET 0.MPLE2ID)DdetalleMplanilla G E Simplec&eque > $ SimpledescripcionMpuesto # > Simpleasi+nacion > ; Simpleconfi+uracionMimpresion H > Simple4os /7 totales para los I47 se detalla a continuacin(/8A82EDA 0E 2E0I08 78*DA 0E /ES*UE?D8 SI2/4E 2E0I *2/4EJ DD848rc&ivos 4+icos Internos ! ; : : $>/U?DS 0E 7U?*I? /A 4S I47 $>Identificando los EI(El requerimiento del usuario nos presenta la necesidad de que el sistema se comunique con otro sistema. Estosi+nificaquenecesitaremosdeunainterfazconelSistemade ActivoFijoparaconsultarinformacindelasoficinas de la empresa.Esclaroquelosdatosdelosempleadoscorrespondenal I47empleadoyquelosdatosprovenientesdelaaplicacin del Sistema de 8ctivo 7i6o) correspondern a un EI7.%a &emos identificado el EI7 en nuestro modelo l+ico de base de datos. 8l aplicar la tabla de comple6idad paradeterminar los factores de peso a aplicar) tendr1amos(EI( RET DET 0.MPLE2ID)Dedificio H $ Simple4os /7 para las EI7 se calcularn como si+ue(/8A82ED 0E 2E0I08 78*DA 0E /ES*UE?D8 SI2/4E 2E0I *2/4EJ DD848rc&ivos de Interfaz E=terna " ; : : ;DD84 /U?DS 0E 7U?*I? /A 4S EI7 ;Identificando las EIEl requerimiento"especifica( BLacapacidaddemantenerinformacindelosempleados. Estoesingresar,consultar y generar reportes sobre los empleados. Al registrar un empleado nuevo, la feca estimada de retiroescalculadaautom!ticamenteyalmacenadacomopartedel registrodel empleado."El requerimientodelusuario incluye la capacidad para +enerar la lista de los empleados con sus fec&as estimadas de retiro.Aesulta evidente que el requerimiento incluye una entrada de datos) ya que para almacenar los datos de un nuevoempleado) losdatosdebenprovenir defueradelaaplicacin. /arare+istrar unempleado) laentrada&arreferencia a un solo I47( empleado. 4os 0ED sern E) ya que aunque tanto el cdi+o del empleado como la fec&aestimada de retiro son calculados por el sistema) sern mostrados al usuario una vez +uardados los datos./ara el requerimiento de modificacin de los datos de un empleado debe considerarse la re+la de conteo de EIrelacionada al proceso elemental( ,4a l+ica de procesamiento es 5nica) respecto a la l+ica de procesamientorealizado por otras EI-) ,El con6unto de elementos de dato es diferente del con6unto de datos identificados enotras EI-) ,4os I47 o EI7 son diferentes de otros arc&ivos referenciados por otra EI-. /odemos concluir que elrequerimiento de edicin corresponde al mismo proceso elemental que el de re+istro.?tese que el requerimiento de Ae+istroNEdicin de puestos &ace referencia a las # tablas) que corresponde a unaentidadfuerte(puesto) yunad'bil (descripcion_puesto).8dems) supondremos quelos campos I0sernidentificadoresauto+eneradosporlabasededatosyquenosernmostradosalusuarioenlasinterfacesdeentrada) de manera que los 0ED referenciados por la entrada solamente incluyen los datos in+resados por elsistema.?tese tambi'n que el proceso asi+nacin de puestos conlleva dos consultas. 4a primera) una consulta sobrecmo identificaremos al empleado al que deseamos asi+nar el puesto y el puesto que deseamos asi+narle. Estosprocesos elementales sern contados en los respectivos apartados. Es importante resaltar tambi'n que los 0ED dedic&o requerimientocuentan los I0sde lasllaves forneas) puesto quesalen (durante las consultas descritasanteriormente) e in+resan nuevamente (cuando el usuario selecciona los elementos de dato correspondientes).4a interfaz para cumplir con el requerimiento de confi+uracin de los reportes de puestos puede suponerse de lasi+uiente forma(*omo ya se mencion) la informacin recolectada por la EI no es informacin del dominio del sistema) sinoinformacin de control. 4a identificacin de los 0ED supone que la lista desple+able con los nombres de loscampos est BquemadaC en la interfaz) puesto que dic&os campos no estn almacenados en nin+5n arc&ivo f1sicoo en una tabla de la base de datos.Si parti'ramos del otro supuesto) tanto los 7AD como los 0ED se ver1an afectados.?o obstante) es importante retomar la re+la de identificacin de 0ED para EI( *ontar un 0ED por la capacidadde enviar un mensa6e de error o confirmacin. /or tal razn) los 0ED identificados para esta entrada sern >.RE/3ERIMIE4T. (RT DET 0.MPLE2ID)DAe+istroNEdicin de empleados " G SimpleAe+istroNEdicin de puestos # E 2edioAe+istroNEdicin de asi+naciones de puesto " $ Simple*onfi+uracin de reportes de puestos " > Simple4os /7 para las EI se detallan en la si+uiente tabla(/8A82EDA 0E 2E0I08 78*DA 0E /ES*UE?D8 SI2/4E 2E0I *2/4EJ DD84Entradas E=ternas > > : : !Entradas E=ternas " : G : GDD84 /U?DS 0E 7U?*I? /A 48S EI ">Identificacin de las salidasEl requerimiento especifica que cada vez que un c&eque sea impreso) se debe marcar el pa+o como pagado.?tese que la estructura del I47 c&eque tiene ; 0ED. Sin embar+o) solamente son mostrados al usuario > 0EDde dic&o I47. 0e i+ual manera) del I47 cuenta) 5nicamente se muestra al usuario " solo 0ED.?tese tambi'n que el proceso elemental mantiene uno de los 0ED del I47 c&eque (pa+ado)) cambiando su valora verdadero. Sin embar+o) este campo nunca es mostrado al usuario) por lo que no debe contar como una 0ED.PR.0E1. ELEME4T)L (RT DET 0.MPLE2ID)DImprimir c&eque # G Simple?minadeempleadosconsusfec&asderetiro" G Simple*onsulta de empleados con sus respectivospuestos de traba6o> "H 2edio4os /7 para las E se detallan continuacin(/8A82EDA 0E 2E0I08 78*DA 0E /ES*UE?D8 SI2/4E 2E0I *2/4EJ DD84Salidas E=ternas # G : : ISalidas E=ternas " : E : EDD84 /U?DS 0E 7U?*I? /A E ">Identificando consultas4as consultas pueden ocurrir como una requerimiento del usuario o como parte de una entrada. 4as consultasrequeridas e=pl1citamente por el usuario normalmente tienen impl1cita una entrada) el formulario a trav's de losque se especifican los criterios de filtrado. D1picamente estos criterios de filtrado son acordados con el usuario.En los casos de que no se ten+a dic&a especificacin) se puede asumir que los criterios de b5squeda sern todosaquellos campos que no acepten valores nulos y que no conten+an valores de te=to muylar+os comodescripciones) direcciones) etc.El casomscom5ndelasconsultasquenosonrequerimientosespec1ficosdel usuario) quesonllamadas#onsultas impl$citas) son las listas desple+ables (*omboOo=) de los formularios de entrada.Este es el caso de la EI de la asi+nacin de puestos. /ara asi+nar un puesto a un empleado) primero &ay queseleccionarlo) por lo que es necesaria una consulta para mostrar los empleados al usuario. Una vez seleccionadoel usuario es necesario indicar qu' puesto es el que se le va asi+nar. /ara ello) es necesario mostrar los puestospara que el usuario los seleccione en una lista desple+able.En esta entrada) la consulta de empleados no cumplen con la re+la de que) la l+ica de procesamiento de laconsulta ylosarc&ivos referenciados sean diferentesaotras consultas identificadas)porque yae=istencomoparte de la edicin de empelados. Sin embar+o) la consulta de puestos) utilizada para llenar la lista desple+abledifiererespectoalal+icadeprocesamientodelaconsultadepuestosparaedicin. Enel primer caso) serecuperan todos los puestos y en la se+unda) se filtran de acuerdo a los criterios especificados por el usuario.4o mismo ocurre con la consulta de puestos asi+nados) puesto que la re+la debe aplicarse para E y [email protected] las consultas como las salidas pueden tener asociadas entradas para especificar los valores que el usuariodesea ver. Esto es lo que se conoce como Bla parte de entradaC de la salida o la consulta. Sin embar+o) esto nodebe ser contado como entrada.RE/3ERIMIE4T. (RT DET 0.MPLE2ID)DAe+istroNEdicin de Empleados " G SimpleAe+istroNEdicin de puestos # E SimpleAe+istroNEdicin de asi+naciones de puestos G G 2edioAe+istroNEdicin de asi+naciones de puestos(*onsulta de puestos)" # SimpleEl total de /7 para las E@ se detalla en la si+uiente tabla(/8A82EDA 0E 2E0I08 78*DA 0E /ES*UE?D8 SI2/4E 2E0I *2/4EJ DD84*onsultas E=ternas > > : : !*onsultas E=ternas " : G : GDD84 /U?DS 0E 7U?*I? /A E@ ">P)R)METR. DE MEDID) T.T)L8rc&ivos 4+icos Internos $>8rc&ivos de Interfaz E=terna ;Entradas E=ternas ">Salidas E=ternas ">*onsultas E=ternas ">DD84 U7/ "H!/ara realizar el a6uste de los puntos de funcin) se aplica la si+uiente frmula(0onde los 7i son "G valores de a6uste a la comple6idad. 0ic&os valores son una serie de consideraciones para lasque debemos valuar el impacto que puedan tener en el sistema en desarrollo. Esta valuacin puede tomar valoresenteros entre H y E) donde H ser un ba6o impacto o necesidad de implementar dic&o factor y E un alto impacto onecesidad de implementar dic&o factor.CRITERIOS DE VALORES DE AJUSTE A LA COMPLEJIDAD". 0omunicacin de datos. 4a necesidad de transferencia o intercambio de datos determinar lacomple6idad del dise3o arquitectnico del software. /or e6emplo) si la aplicacin a estimar se tratar deunservicioPeb) sernecesariodesarrollar capasespecialesparalatransferenciadedatos) utilizarpatrones de dise3o y protocolos espec1ficos para este tipo de sistemas. En este tipo de aplicaciones elpeso que asi+naremos es de E.#. Procesamientodedatosdistribuido. El procesamientodedistribuidoimplicalanecesidaddecrearnodos espec1ficos de procesamiento (software o base de datos).>. Rendimiento. 4os parmetros para determinar la criticidad del rendimiento son usualmente provistasporel usuario. Diemposderespuestarpido) mantenerel mismonivel derendimientoconunaaltaconcurrencia y alto rendimiento. 8 la &ora de valuar este factor) se debe considerar que el esfuerzo paraalcanzar el rendimientodepender de la plataforma de operacin) tecnolo+1a de desarrollo ylas&erramientas utilizadas para el desarrollo.G. 0onfiguracin fuertemente utili5ada. Se refiere a la necesidad de incorporar confi+uracionesadicionales en el &ardware sobre el que se e6ecutar la aplicacin o incorporar al dise3o caracter1sticasespecialesparapoder e6ecutar laaplicacinenel &ardwareoservicios(servidor deaplicacionesoservidor de base de datos).E. Ta5a de transaccin. Se refiere a la frecuencia con la que las transacciones sern realizadas(diariamente) semanalmente) mensualmente) etc.$. Entrada de datos en l6nea. Se refiere a la necesidad de que la entrada de los datos debe ser interactiva yen tiempo real. /ara valuar este factor) se toma como base el porcenta6e de la aplicacin que debe ser enl1nea.;. Eficiencia del usuario final. El factor se mide en funcin del nivel de conocimiento informtico delusuario)yes inversamenteproporcional almismo. Esto es)entre menose=perienciacon sistemas deinformacin ten+a el usuario) mayores sern los niveles de usabilidad requeridos. /ara medir este factor)usualmente se acude a la medicin de los si+uientes requerimientos de usabilidad( 8yuda para la nave+acin. 8ccesos rpidos) men5s dinmicos) teclas de funcin) etc. 2en5s 8yuda en l1nea y documentacin 2ovimientos automticos del cursor Scrollin+ Impresin remota v1a transacciones en l1nea. Declas de funcin pre:asi+nadas /rocesos por lotes ori+inados en transacciones en l1nea Seleccin de datos desde las interfaces 8lto uso de video) resaltado) subrayado en colores y otro tipo de marcadores. 0ocumentacin impresa para el usuario de las transacciones realizadas. Interfaces de ratn Qentanas emer+entes El menor uso posible de interfaces para completar funciones de ne+ocio Soporte de dos idiomas Soporte de m5ltiples idiomas.I. )ctuali5acin en l6nea. Se refiere a la necesidad de controlar las transacciones de datos. /or e6emplo) sidos usuarios se encuentran consultando los datos de la misma tabla) y uno de ellos modifica un dato) elotro usuario deber ver el cambio en tiempo real.!. 0omple7idaddel procesamiento. Serefierealanecesidaddeutilizar unaltonivel procesamientol+ico o matemtico. 4os elementos a considerar son( *ontrol sensible. /or e6emplo( procesos de auditor1a especiales o procesos de se+uridad espec1ficos. 8lto nivel de procesamiento l+ico. 8lto nivel de procesamiento matemtico. *antidad alta de e=cepciones en el procesamiento dan como resultado) que deben ser procesadosnuevamente. /rocesamiento comple6o para mane6ar m5ltiples posibilidades de entradasNsalidas."H. Reusabilidad. /uede referirse a dos cosas(". El cdi+o fuente debe ser reutilizable.#. El software ser reutilizado para otros propsitos."". (8cil de instalar. Se refiere al nivel de dificultad para instalar la aplicacin9"#. (acilidaddeoperar. Serefierealaefectividadyautomatizacindelinicio) respaldoyprocesosderecuperacin.">. M:ltiples ubicaciones. Si los usuarios estn diseminados en ubicaciones de pa1ses diferentes o+eo+rficamentedistantes) sernecesarioel soportedecaracter1sticasdistintasparacadaubicacin(moneda) re+las transaccionales como impuestos) etc."G. (acilidad de cambios. 7acilidad de mantenimiento./ara el e6emplo que nos ocupa podemos decir que los criterios que deben considerarse son(0RITERI. ;)L.R DE10RIP0I.4*omunicacin de datos # ?o es necesaria una comunicacin especial. 4as tecnolo+1asactuales soportan la transferencia de datos v1a Peb normal.Sinembar+o) paraefectos dese+uridad) sernecesarioutilizarcertificados de se+uridad SS4.Aendimiento EDaza de transaccin > 2ensualEntrada de datos en l1nea EEficiencia del usuario final E Unodelosrequerimientosnosindicaqueel usuariodeseaunaaplicacin con altos niveles de usabilidad8ctualizacin en l1nea E*omple6idad de procesamiento # 4a informacin relacionada a la planilla tendr la caracter1stica deque) si al+o falla) debe ser procesada nuevamente.25ltiples ubicaciones E Se trata de una empresa transnacional7acilidad de cambios EDD84>;4os /untos de funcin sern entonces( F%="H! & ( H.$E+( H. H" &>;) )=""". "I4a productividad se calcula a trav's de la frmula(0onde las personas:mes es el esfuerzo requerido para el desarrollo del sistema.En+eneral) laproductividadsueleserunfactorconel quesecuenta) yaseapore=perienciasdeproyectosprevios o por estimaciones. El caso t1pico es que deseamos saber cuanto tiempo nos tomar el proyecto y cuantopersonal necesitamos para realizarlo.Supon+amos que conocemos que en un proyecto similar con la misma tecnolo+1a de desarrollo) la productividades de GH puntos de funcin por persona al mes (7/Npersona:mes)) podemos calcular el esfuerzo as1(personames=F%/ productividad=""". "I/ GH=#.;;!EEl esfuerzo es la cantidad de personas por meses que requeriremos para el proyecto. En este caso)apro=imadamente > analistas:pro+ramadores por mes. /ero ,*mo calculamos el tiempo del proyecto-.Si el esfuerzo &ubiera sido "#.;E) requerir1amos apro=imadamente "> analistas por mes. 8qu1) tendr1amos queencontrarel me6ordelosescenariosparaestimar el tiempodel proyecto) podemossuponerquetenemos>analistas) en cuyo caso el tiempo del proyecto ser de G.#E meses) apro=imadamente "; semanas. Si suponemosque contamos con # analistas:pro+ramadores) requerir1amos de $.>;E meses) apro=imadamente "; semanas./ara el e6emplo que nos ocupa. Si partimos de que tendremos > analistas pro+ramadores) el proyecto tendr1a unaduracindeH.!#$Emeses) apro=imadamente"mes. Si suponemosquetenemos#analistaspro+ramadores)requerir1amos ".>I!;E meses) apro=imadamente $ semanas.El costo por punto de funcin se calcula(#osto por %F=#osto totalF%4a estimacin realizada est centrada 5nicamente en los requerimientos espec1ficos descritos por el usuario. Ennuestroanlisis&emosde6adofuerael procesode+eneracindeplanillayel mantenimientodelascuentasbancarias. /or otro lado) &emos omitido los procesos elementales de eliminacin) que se cuentan como entradasy usualmente conllevan mensa6es de confirmacin. Dambi'n &emos omitido mensa6es de errores producto de losprocesos elementales estimados) e=cepto el que fue requerido por el usuario e=pl1citamente.Dodos estas caracter1sticas influirn en la estimacin de los 7/ y por ende en el esfuerzo.*ontin5e desarrollando el problema considerando que(". 8la &ora de +enerar la planilla el sistema deber +enerar los re+istros (tuplas) de la tabladetalleMplanilla. Una vez +enerados esos re+istros) el usuario deber in+resar los descuentos ybonificaciones a cada empleado) dado que ambos elementos estn fuera del alcance del sistema.#. 8 la &ora de +enerar los c&eques) el sistema asumir por defecto que el campoa_favor_de del c&eque esel nombredel empleado) por loquedebercopiar esedatoenel campo) provenientedelatablaempleado. Sin embar+o) el usuario puede modificar dic&o campo en caso de ser necesario. /or e6emplo)el empleado a dele+ado a un apoderado para que cobre su salario mientras est fuera del pa1s.>. /ara+enerarlosc&equesesnecesarioqueel usuariopuedafiltraralosempleados(porsupuestoounidadenlaquetraba6a)eindiquecon qu' cuenta bancariasepa+arndic&os c&eques.?otequeelnombre de la oficina en la que traba6a debe provenir de la aplicacin de Activos fijos.Eval5e la diferencia entre los resultados de las m'tricas si se incorpora al sistema la capacidad para llevar uncontrol delosdescuentospor( se+urosocial) fondodepensiones) impuestosobrelarentayotrostiposdedescuento como pr'stamos) cuotas de paternidad) inasistencias) etc.El sistemadebercalcularautomticamentelosdescuentosdeley) ydeberpermitiral usuarioin+resarlosdescuentos adicionales como pr'stamos) cuotas de paternidad) inasistencias) etc.%. PUNTOS DE FUNCION NESMA FPA ISO/IEC 2&5'0:2005!4aversinde?ES28(8sociacinKolandesadeUsuariosde2'tricasdeSoftware:?et&erlandsSoftware2etricsUsers 8ssociation:)) al estarbasadaenladefinicindelam'tricaori+inal) propuestapor 8lbrec&t)utiliza la misma terminolo+1a respecto al estndar de I7/U. *atlo+os de datos que contienencampos conla misma informacinendiferentes formatos. /ore6emplo( 4a tabla tipo de cliente puede contener la descripcin del tipo de cliente y una abreviatura. Uncatlo+o de productos puede contener) adems del cdi+o del producto) una descripcin del producto endiferentes idiomas( espa3ol) in+l's) franc's) etc.G. 4as tablas que contienen valores l1mites) valores m1nimos y m=imos.El proceso de conteo) ?ES28 clasificar todas las tablas de cdi+os como un I47 o EI7 se+5n sea el caso. Eln5mero de AED ser el n5mero de tablas de cdi+o identificadas. Dodas las tablas de cdi+o +enerarn una IE)E@ y E. Si se trata de un EI7 no se contarn como funciones de transaccin) aunque se e=istan E o [email protected]/U< considera las tablas de cdi+os como aspectos t'cnicos de implementacin o requerimientos de calidaddel usuario) y no como parte de los requerimientos funcionales del usuario. I7/U< por lo tanto) no cuenta lastablas de cdi+o y las funciones transaccionales asociadas a ellas.MEDIOS F)SICOS0ado que ?ES28 se centra en la funcionalidad subyacente) i+nora los medios f1sicos en el conteo de lo factoresde puntos de funcin.Independientemente del medio desde que in+resen los datos al sistema) sern contados como una EI. 4o mismoaplica cuando los datos sean almacenados en al+5n medio e=terno.I7/U< no define nin+una re+la al respecto) por lo que podemos suponer que al i+ual que ?ES28) los datossern contados en las respectivas funciones.CONSULTAS $UE CONTIENEN M*LTIPLES CRITERIOS DE SELECCIN SITUACIONES AND/OR!En ?ES28solamente son contadas las selecciones (consultas con criterios de b5squeda) mutuamentee=cluyentes. Es decir) cuenta 5nicamente una combinacin de todos los criterios de seleccin.En I7/U< no se especifican re+las para esta situacin. 8l+unos usuarios de I7/U< por lo tanto) cuentan comofunciones diferentes) cada combinacin de los criterios de seleccin.*omo criterio para la aplicacin de I7/U. 7actores ambientales (Enviroment 7actors) (E7)PUNTOS DE CASOS DE USO SIN AJUSTAR UUCP!0e forma anlo+a que los /untos de funcin no a6ustados) el primer paso para calcular los puntos de casos deuso es estimar los UU*/4os UU*/ son la sumatoria los pesos de los actores sin a6ustar (U8P) y los pesos de los casos de uso sin a6ustas(UU*P).PESO DE LOS ACTORES SIN AJUSTAR UA+!/ara obtener el valor de los U8P se deben sumar los pesos de los actores que se espera ten+a la aplicacin)se+5n su tipo.4a comple6idad de los actores se determina de acuerdo al tipo de actor. 4os tipos de actores reconocidos en lam'trica son( Simple. Setratadeotraaplicacine=terna) quedeberinteractuar conlaaplicacinquedeseamosestimar. Esta interaccinse realizar mediante una interfaz de pro+ramacindefinida yconocida(8pplication /ro+rammin+ Interface 9 8/I:). 2edio. Serefiereaotraaplicacine=ternaquedeberinteractuar conlaaplicacinquedeseamosestimar. Esta vez) a trav's de un protocolo de comunicacin. Un e6emplo de esto son los servicios Peb(S8/) AESDful) etc.) *omple6o. Un usuario f1sico que se espera interaccione a trav's de una interfaz de usuario.4os pesos de cada uno de los tipos de actores (8P) se muestran en la si+uiente tabla(TIP. PE1.Simple "2edio #*omple6o >PESO DE LOS CASOS DE USO SIN AJUSTAR UUC+!/ara obtener el valor de los UU*P) se suman los pesos de los casos de uso que conformarn la aplicacin) se+5nsu nivel de comple6idad. El peso de los casos de uso est determinada por el tipo de caso de uso del que se trate)y del enfoque que utilicemos para su estimacin.Enfo >DD84 0E UP8 GIdentificacin de casos de uso0)1. DE 31. TR)41)00I.4E1 TIP.*onsultar empleados " SimpleIn+resarNEditar empleados " Simple*onsultar empleados por puesto de traba6o # Simple8si+nar puesto de traba6o # Simple*onsultar puesto de traba6o " SimpleIn+resarNEditar puesto de traba6o " Simple*onfi+urar preferencias de impresin " Simple. E=periencia en orientacin aob6etosEl equipo si cuenta con e=periencia condesarrollo rientado a b6etosE " EEG. *apacidad del analista l1der *apacidad y e=periencia E H.E #.EEE. 2otivacin del equipo El equipo siempre est motivado E H.E #.EE$. Estabilidad de los requerimientos 4os requerimientos son claros E # "HE;. /ersonal a tiempo parcial ?o se tiene personal a tiempo parcial H :" HEI. 4en+ua6e de pro+ramacincomple6oEl len+ua6e no es comple6o H :" HDD84 0E E7 #H+#%=++#%&)#F&EF=GG &H. I#E &H. I=#!. HG0alculando el esfuer5oIdentificando el factor de con+ersinE7 que estn deba6o de la media de E" a E$( #E7 que estn encima de la media de E; y EI( H*7( #H &oras:personaE=+#%F=#!. HG H=EIH.IEl esfuerzorequeridoserdeEIH.I&oras:persona. Suponiendoquetenemosunequipodedesarrollode>personas. 4afasedepro+ramacindel proyectoserealizaren".#"meses. Es decir) apro=imadamenteEsemanas.)0TI;ID)DP.R0E4T)2E TIEMP. (Meses)8nlisis"HV H.>H0ise3o#HV H.$"/ro+ramacinGHV ".#"/ruebas"EV H.GEImplementacin"EV H.GEDD84 >.H#E/ara contrastar esta respuesta) calcularemos cuanto ser el tiempo de desarrollo si asumimos que la estimacinincluye las tres primeras fases del proceso de desarrollo()0TI;ID)DP.R0E4T)2E TIEMP. (Meses)8nlisis"HV".#" 0ise3o#HV/ro+ramacinGHV/ruebas"EV H.#$Implementacin"EV H.#$DD84 ".;>