Características Del Software
Características Del Software
Características Del Software
Fiable
Capacidad de ofrecer los mismos resultados bajo las mismas condiciones
Eficiente
Utilización óptima de los recursos de la máquina
Robusto
No poseer un comportamiento catastrófico ante situaciones excepcionales
(Tolerante a fallos)
Correcto
Se ajusta a las especificaciones dadas por el usuario
Portable
Capaz de integrarse en entornos distintos con el mismo esfuerzo
Adaptable (extensibilidad
Modificar alguna función sin que afecte a sus actividades
Inteligible
Diseño claro, bien estructurado y documentado
No Erróneo
No exista diferencia entre los valores reales y los calculados
Reutilizable (reusabilidad)
Mantenibilidad
Confiabilidad
fiabilidad
seguridad
protección
Eficiencia
Usabilidad
Elemento lógico, no físico
Desarrollado, no ‘fabricado’
No se ‘estropea’, ¡se deteriora! (Deterioro por ‘cambios’)
Mayoritariamente cerrado
Medido
La mayoría del software se hace a la medida.
No se ensambla de componentes
Útil (al cliente)
Integridad
Resultados correctos con alto grado de exactitud
Consistencia de función
Accesible (al usuario)
Buena ingeniería humana
Fácil de aprender y usar
pág. 1
MITOS DEL SOFTWARE:
Los cambios son fáciles, pero hacer cambios sin introducir errores es muy
difícil. Hay que verificar el software de nuevo con cada cambio. También,
con cambios el software se pone frágil.
Estudios de sistemas muy críticos a la seguridad han mostrado que hasta 10%
de los módulos se desviaron de la especificación en un modo o más de
operación. Muchos errores eran pequeños, pero aproximadamente 1 en 20
producía efectos directos y observables en el sistema controlado.
Parece que la solución es sencillamente implementar el software
correctamente. Pero esto es mucho más difícil que esperado.
Por ejemplo, el software del trasbordador espacial ha sido usado desde 1980
y NASA ha invertido recursos enormes en la verificación y manutención de
este software. Sin embargo, desde la operación del trasbordador se han
encontrado 16 errores de grado de severidad 1 (pueden producir una
pérdida del trasbordador y su tripulación) en software liberado, de que ocho
estaban en código usado en vuelos. Otros errores de menor severidad han
ocurrido durante misiones (tres amenazaron el cumplimiento de la misión) a
pág. 2
pesar que NASA tiene uno de los procesos de desarrollo y verificación de
software más completos existentes.
No existen técnicas coma la redundancia para aumentar sencillamente la
confiabilidad del software. Y aun cuando sea posible escribir software sin
errores, las condiciones ideales para desarrollar software (dinero y tiempo sin
límites) nunca existen.
Mayor confiabilidad de software aumenta la seguridad.
La prueba o verificación formal del software puede eliminar todos los errores.
pág. 3
problemas en el Therac-20 porque resultó solamente en un plomo
fundido en vez de un sobredosis masivo de radiación.
2. Software de control del tráfico aéreo usado muchos años en los
Estados Unidos no se pudo reutilizar en Gran Bretaña. Los
desarrolladores norteamericanos han ignorado el problema de cero
grados de longitud.
3. Software de aviación escrito para uso en el hemisferio boreal
frecuentemente crea problemas cuando usado en el hemisferio
austral. También software para cazas F-16 ha causado accidentes
cuando usado en Israel en aviones volados sobre el Mar Muerto,
donde la altitud es menor que el nivel del mar.
pág. 4
rescatar los robots 15 a 20 veces por día.
http://pcval-ace.blogspot.com/2007/09/introduccion-hoy-en-
da-el-software_27.html
pág. 5
PROCESO: El fundamento de la ingeniería del software es la capa de
proceso. El proceso de la ingeniería del software es la unión que mantiene
juntas las capas de tecnología y que permite un desarrollo racional y
oportuno de la ingeniería del software. El proceso define un marco de
trabajo para un conjunto de Áreas clave de proceso (ACPs) que se deben
establecer para la entrega efectiva de la tecnología de la ingeniería del
software. Las áreas claves del proceso forman la base del control de gestión
de proyectos del software y establecen el contexto en el que se aplican los
métodos técnicos, se obtienen productos del trabajo (modelos,
documentos, datos, informes, formularios, etc.), se establecen hitos, se
asegura la calidad y el cambio se gestiona adecuadamente.
http://ing-software3.blogspot.com/2012/10/capas-de-la-
ingenieria-del-software.html
pág. 6