Ingeniería de SoftwareCapítulo 3 y4 Resolución de ejercicios del libro de Somerville y Pressman Miguel Betancourt Alexis Tacuri Fernando Salas 08/10/2013 inseguros o desprotegidos son rechazados a menudo por sus usuarios. Ya que la confiabilidad consta de 4 dimensiones principales (disponibilidad. Es muy cara la captura y mantenimiento de los datos. fiabilidad. sistemas de misión críticos. algunas veces cuesta más que el sistema informático que los procesa. Si los usuarios no confían en un sistema. y sistemas de negocio críticos. seguridad y protección) haremos referencias a estas para plantear su importancia. el coste de un fallo en el sistema puede ser mayor en varios órdenes de magnitud que el coste del sistema.Ingeniería de Software Somerville Capítulo 3 3. Un sistema debe poder funcionar sin presentar fallos catastróficos. Los sistemas de seguridad críticos son sistemas que en caso de fallar. Un error en un sistema de negocio crítico puede llevar al fracaso del negocio que utilizó este sistema. . Los sistemas no confiables pueden provocar pérdida de información importante. Los sistemas de misión críticos son sistemas cuyo fallo de funcionamiento puede provocar errores en algunas actividades dirigidas por objetivos. Los sistemas deben proporcionar los servicios cuando sean requeridos y proporcionarlos como han sido especificados. Los costes de los fallos de funcionamiento de sistema pueden ser enormes. 3. se negarán a utilizarlo. Los sistemas de negocio críticos son sistemas cuyo fallo de funcionamiento puede provocar costes muy elevados para el negocio que utiliza sistemas de este tipo. En este tipo de sistemas no se pone en riesgo la salud o el medio ambiente. el sistema nunca debería provocar daños en las persona o en el entorno del sistema incluso si este falla. Los sistemas que son no fiables.1 ¿Cuáles son los tres tipos principales de sistemas críticos? Explique las diferencias entre ellos.2 Sugiera seis razones de por qué la confiabilidad es importante en sistemas críticos. pueden ocasionar perjuicios. sino el alcance de un objetivo particular. pérdidas de vidas o daños graves al medio ambiente. Los tres tipos principales de sistemas críticos son: sistemas de seguridad críticos. Protección: es una valoración de la probabilidad de que el sistema pueda resistir intrusiones no deseadas. Seguridad: es una valoración de la probabilidad de que el sistema cause daños a las personas o a su entorno. Particularmente los costes de validación son elevados para sistemas críticos. Seguridad.en el caso que los fallos se produjeran. c) Un sistema de control direccional usado en el lanzamiento de un vehículo espacial. deberían poder acceder al servidor siempre.3 ¿Cuáles son las dimensiones más importantes de la confiabilidad del sistema? Disponibilidad: capacidad de proporcionar servicios cuando son requeridos.. 3.4 ¿Por qué el coste para garantizar la confiabilidad es exponencial? Generar un software confiable incluye código extra para realizar las comprobaciones necesarias para estados excepcionales del sistema y para recuperar al sistema de un fallo.Ya que el servidor siempre debería estar disponible. Debido a este diseño adicional.tener la certeza de que funciona de la manera que se ha sido especificado. Fiabilidad. b) Un escalpelo controlado por computadora usado para practicar incisiones en operaciones quirúrgicas. 3. puesto que además de validad que el sistema cumple con los requerimientos. b) Para un escalpelo controlado por computadora.. d) Un sistema de gestión de finanzas personales a través de internet.ya que los usuarios que accedan al servidor deben tener la garantía de que no recibirá ataques como por ejemplo los virus. 3.. por qué los atributos de confiabilidad son probablemente los más críticos para los sistemas siguientes: a) Un servidor de internet proporcionado por un ISP con miles de clientes. el proceso de validación tiene que comprobar que el sistema es confiable a través de un sistema de regulación externo. sean estas accidentales o premeditadas.. el sistema también debería ser seguro para no provocar daño a la persona operada c) Un sistema de control direccional debe tener los siguiente atributos .Ingeniería de Software Un sistema debe ser capaz de protegerse así mismo de ataques externos que pueden ser accidentales o provocados. Fiabilidad: capacidad de proporcionar servicios como han sido especificados. Protección.5.. el incremento de la confiabilidad de un sistema puede hacer crecer significativamente los costes de desarrollo.Sugiera justificando sus respuestas. los atributos más importantes serian: Fiabilidad. a la implementación extra y a los costes de validación.Ya que cada vez que se lo utilice para operar el sistema deberá hacer lo que se pretende que haga. a) El servidor de internet debe garantizar los atributos de: Disponibilidad.. 3. correctamente Seguridad. Entonces. la fiabilidad se reduce. Un robot asistido por computadora utilizado para realizar operaciones. el sistema estará disponible Seguridad.debe estar protegido y garantizar que la única persona que accede a la cuenta . o que puedan contener en el futuro. Protección.Ingeniería de Software Fiabilidad. 3.debe estar disponible todo el tiempo para cuando el usuario lo requiera Fiabilidad.En caso de fracasar el lanzamiento. Un software de control de una planta nuclear. d) Un sistema de gestión de finanzas por internet debe tener todos los atributos: Disponibilidad. sería bueno que no se produjeran daños en la tripulación. glucosa. En cambio un sistema seguro busca que los sistemas no generen daños en las personas. es el propietario.. sistemas software de seguridad críticos.debemos garantizar que al momento del lanzamiento. incluso si este falla.6 Identifique seis productos de consumo que contengan. es decir que el sistema nunca debería provocar daños en las personas o en el entorno del sistema. y no un intruso. como se espera.) Un sistema de piloto automático. Un dispositivo que mida parámetros de salud en una persona (presión arterial. los sistemas de seguridad críticos son sistemas en los que es esencial que el funcionamiento del sistema sea siempre seguro..debe realizar las tareas que el usuario le solicita. . Un medidor de movimientos sísmicos utilizado para prevenir catástrofes naturales.un pequeño error de cálculo puede provocar que el lanzamiento espacial fracase.en caso de que ocurran fallos. Un sistema es más fiable cuanto mayor es la probabilidad de que el sistema funcione correctamente. debe evitar los daños a la cuenta del usuario. ni daños en el medio ambiente. pero puede ser inseguro si no está contemplado un fallo que pudiera ocasionar daños en las personas o en el entorno del sistema.. En cambio...7 La fiabilidad y la seguridad son atributos de confiabilidad relacionados pero distintos. pulsaciones. entonces si el sistema falla. la distinción más importante es que la fiabilidad se trata de buscar que el sistema no falle (funcione siempre como se desea). disponibilidad.. aún cuando estos fallen.. por lo que el sistema también debe ser seguro. Sistema de alarma y monitoreo controlado vía web. por lo tanto la fiabilidad es fundamental. Describa la distinción más importante entre estos atributos y explique por qué es posible para un sistema fiable ser inseguro y viceversa. La fiabilidad de un sistema es la probabilidad de que el sistema funcione correctamente tal y como se ha especificado. etc. Un ataque se produce cuando un intruso se aprovecha de la vulnerabilidad del sistema. generalmente ingresando al mismo desde afuera con la intención deliberada de causar algún daño. pueden ser entendidas como una vulnerabilidad del sistema que está expuesto a un ataque. y con él la disponibilidad del mismo. y para ello. es la probabilidad de que el sistema esté activo y en funcionamiento cuando sea requerido. debe estar protegido contra agentes no deseadas que puedan alterar el funcionamiento del sistema. 3.8 En un sistema médico diseñado para suministrar radiación para tratar tumores. las amenazas son circunstancias que potencialmente pueden provocar pérdidas o daños.Ingeniería de Software De la misma manera. sugiera una contingencia que pueda ocurrir y proponga una característica del software que pueda usarse para asegurar que la contingencia identificada no derive en un accidente.11 ¿Es ético para un ingeniero estar de acuerdo en entregar a un cliente un sistema software con defectos conocidos? ¿Hay alguna diferencia si al cliente se le informa de la existencia de estos defectos con antelación? ¿Podría ser razonable realizar afirmaciones sobre la fiabilidad del software en dichas circunstancias? Si es ético la entrega de un software con defectos conocidos siempre y cuando estos defectos no afecten en gran medida a los requerimientos del usuario. 3. Si existe alguna diferencia ya que al informarle al cliente sobre estos defectos se podría establecer nuevos requerimientos pero lo cual conllevaría a mayores costes. La disponibilidad por definición. . 3. Una característica que el software puede utilizar para asegurar que esta fuga no provoque un accidente.10 En términos de protección de computadoras.9 Explique por qué hay una estrecha relación entre disponibilidad del sistema y protección del sistema. 3. Para que esto ocurra. un sistema puede ser seguro porque garantiza que no se van a provocar daños a las personas o al entorno del sistema. debemos garantizar que el sistema no va a dejar de prestar los servicios. La relación entre amenaza y ataque es que las primeras. En cambio. podría ser la realización de una medición constante de los niveles de radiación y en el caso de producirse una fuga realizar una detención total del sistema. ya que nunca se pude alcanzar el 100% de confiabilidad un sistema sin defectos no existe. explique las diferencias entre un ataque y una amenaza. Una contingencia que podría suscitarse en este software seria la fuga de material radioactivo. pero ser muy poco fiable porque nunca hace lo que se espera del sistema. suponga que una organización que realiza una campaña por los derechos de las víctimas de torturas le pide que ayude a la organización a conseguir accesos no autorizados a los sistemas informáticos de una compañía americana.Ingeniería de Software En cuanto a las afirmaciones si tenemos problemas conocidos. En conclusión esta vez no me regiría por el reglamento. ya que lo estaría haciendo para una buena causa.12 Calcule el valor del punto de función de un sistema empotrado con las características siguientes: Estructuras de datos interna: 6 Estructuras de datos externa: 3 Número de entradas de usuario: 12 Número de salidas de usuario: 60 Número de peticiones de usuario: 9 Número de interfaces externos: 3 Transformaciones: 36 Transiciones: 24 .65 + 0.65 + 0. 8 10 80 Número de interfaces externos 2 7 TOTAL 618 PF=Cuenta Total*[0.01 x ΣFi/2] PF=618 x [0. Pressman Capítulo 4 4.01 x 6 x 7] = 661. 60 5 300 Número de peticiones de usuario 24 4 96 Número de archivos. ya que bajo ningún aspecto estoy de acuerdo con la tortura a seres humanos ni animales.26 4.11 Calcule el valor del punto de función de un proyecto con las siguientes características del dominio de información: Parámetros de medición Cuenta Medio Total Número de entradas de usuario 32 4 128 Número de salidas de usuario. podemos hablar de que existe un cierto grado de fiabilidad. pero. es decir si nos regimos simplemente a la ética y los procedimientos correctos. Comente los problemas éticos que esta solicitud provoca y cómo podría reaccionar ante esta petición. resulta imposible alcanzar el 100% de fiabilidad de un sistema.12 Como experto en protección de computadoras. Esto les ayudaría a confirmar o desmentir que esta compañía está vendiendo equipamiento que se usa directamente en la tortura de prisioneros políticos. esto estaría completamente mal y bajo ningún aspecto seria bien visto hacerlo. Ahora desde el punto de vista personal lo haría. disminuido por supuesto por estos problemas. sino por lo que considero debería hacer. 3. nuevamente. En términos generales cualquier ingreso no autorizado a un sistema es algo que esta fuera de la ética. Reutilizable Exportable Migrabilidad 4. Disminuyen los desperdicios debido a la eficacia en KLD . ¿Es posible que los desperdicios aumenten mientras que disminuyen defectos KLDC? Explíquelo.13 El software utilizado para controlar una fotocopiadora avanzada requiere 32.65 + 0.01 x 42] PF = 942.Ingeniería de Software PF = Cuenta_ total x [0. Lenguaje C con LCD/PF 128 Lenguaje SmallTalk con LCD/PF 22 C =32000/128=250 SmallTalk =4200/22=191 Punto de Función C + SmallTalk = 441 4.000 líneas de C y 4. integridad y facilidad de uso.200 líneas de Smalltalk.16. facilidad de mantenimiento.01 x ∑Fi /2] PF = 881x [0.15 Desarrolle sus propias métricas (no utilice las presentadas en este capítulo) de corrección.67 4.65 + 0. Estime el número de puntos de función del software de la fotocopiadora. Asegúrese de que se pueden traducir en valores cuantitativos. 71. Debido a que cada vez los lenguajes y los programas requieren menos peso y un mejor rendimiento es recomendable tener un LDC corto para los lenguajes de cuarta generación. 0.71. 0.84.83. 0.73.86.Ingeniería de Software 4.0.63.90.0.82.54. Cree Rm y cuadros de control individuales para determinar si estos datos se pueden utilizar para evaluar tendencias.88.74. 4. 0.0. .0.61.81.0. Los valores recogidos son: 0.0. 0.87. 0.0.18 Una organización de software tiene datos EED para 15 proyectos durante los 2 últimos años.0.17 ¿Tiene algún sentido la medida LDC cuando se utiliza el lenguaje de cuarta generación? Explíquelo. 15 0.25 0.45 0.2 0.4 0.3 0.5 0.05 0 1 2 3 4 5 Rm 6 7 8 9 10 LCS 11 12 13 14 Media Rm .35 0.1 0.Ingeniería de Software Gráfico de control de rango móvil 0. ( ) =1.1491333… Calcular el límite del proceso natural inferior.765333… Calcular límite del proceso natural superior.Ingeniería de Software Am=Media de las métricas=0.3815333… Calcular la desviación estándar ( ) =0. . ( ) =-0.1279333… Se grafican las desviaciones por encima y por debajo del valor de Am en el gráfico de control individual. . dos de ellos no se encuentran fuera del rango de dos desviaciones estándar.Ingeniería de Software Conclusiones En el gráfico de control individual el LPNI no se dibujó ya que es menor que CERO. Puesto que cuando tomamos cinco valores consecutivos. Ningún valor de la métrica individual aparece fuera del LPNS. No aparecen ocho valores consecutivos de métrica situados a un lado del valor Am. cuatro de ellos no sobrepasan en rango de una desviación estándar. Dado que cuando tomamos tres valores consecutivos.