¿Por qué?
Hardware
|
|
|
|
|
|
|
|
¿Cuándo? ¿Dónde? ¿Quién?
|
|
|
|
|
|
|
|
|
|
¿Qué?
Software es la información que suministra el desarrollador a la computadora para que manipule de forma automática la información que suministrará el usuario
— Brad Cox
|
Naturaleza de Lenguajes y Formatos | ||
---|---|---|
|
|
|
|
¿Para qué?
Objeto | Capacidad cualitativa | Capacidad cuantitativa |
---|---|---|
Ser humano |
Muy buena: reconocimiento de patrones, asociaciones, recursividad, … |
Muy mala: pequeña, errores por cansancio, desmotivación, … y muy lentos |
Hardware |
Muy mala: ningún computador superó la prueba de Turing |
Muy buena: sin errores y a toda velocidad |
|
Sistema de Información
Un sistema de información es un conjunto de elementos orientados al tratamiento y administración de datos e información, organizados y listos para su uso posterior, generados para cubrir una necesidad o un objetivo
Wiki
|
|
¿Cómo?
Complejidad del Software
El trabajo con software es el más complejo que jamás haya emprendido la humanidad
— F. Brooks
|
|
|
|
|
Sistema |
|
|
Sistema complejo |
|
|
Características de Sistemas complejos |
|
Proyecto Software
|
|
|
Interrelación
|
Nueve mujeres no pueden tener un bebé en un mes [… (y por si no lo entiende un directivo)], dieciocho mujeres aún no pueden tener un bebé en un mes
— Brooks
|
La forma de hacer en este modelo del juego del desarrollo del software es que las fuerzas externas (clientes, directores de proyecto) eligen los valores de tres variables cualquiera. El equipo de desarrollo determina el valor resultante de la cuarta variable
— Beck
1999 |
Algunos directores de proyecto y clientes creen que pueden escoger el valor de las cuatro variables. Cuando esto suceda, la calidad siempre desaparecerá, ya que nadie hace bien el trabajo cuando está sujeto a una fuerte presión. También, probablemente, el tiempo estará fuera de control
— Beck
1999 |
Ámbito
|
|
|
|
Tiempo
|
|
|
Si la mayoría de los proyectos de tu organización son obsesivamente cortos, proyectos conducidos por el calendario, hay algo muy, muy malo. Cambios radicales en la organización del proceso de desarrollo software son necesarios, antes de que la compañía o su gente se arruine.
Object Solutions
Coste
|
||
|
|
|
Calidad
|
|
|
Te puedes echar colonia pero si no te duchas no disfrutarás de relaciones personales plenas porque tu peste provocará rechazo por muy interesante que seas |
Es como pasear por la orilla del mar frente a "pasear" metido en el mar con el agua alcanzando el pecho |
La observación general es que el principal enemigo de la fiabilidad, y tal vez de la calidad del software en general, es la complejidad
— Meyer
|
Cuanto más complejo sea un sistema, más abierto está al colapso total. Gran parte de la complejidad que se tiene que dominar es la complejidad arbitraria
— Booch
|
-
Características del software
-
Fiabilidad, cumpla una determinada función bajo ciertas condiciones durante un tiempo determinado
-
Extensibilidad, habilidad de tener la posibilidad de se extendido con nuevas funcionalidades
-
Usabilidad, sencillo de usar porque facilita la lectura de los textos, descarga rápidamente la información y presenta funciones y menús sencillos, por lo que el usuario encuentra satisfechas sus consultas y cómodo su uso
-
Accesibilidad, pueda ser accedido y usado por el mayor número posible de personas, indiferentemente de las limitaciones propias del individuo o de las derivadas del contexto de uso
-
-
Seguridad, proteger los datos que tiene, maneja y dispone para preservar la confidencialidad, la integridad y la disponibilidad
-
Confidencialidad, acceso a la información mediante autorización y control para prevenir la divulgación no autorizada de la información
-
Integridad, para modificar la información mediante autorización
-
Disponibilidad, degradación en cuanto a accesos para prevenir interrupciones no autorizadas
-
-
Interoperabilidad, habilidad de dos o más sistemas o componentes para intercambiar información y utilizar la información intercambiada
-
Portabilidad, habilidad de reutilizar en vez de crear un nuevo software cuando se pasa de una plataforma a otra
-
Escalabilidad, habilidad para reaccionar y adaptarse sin perder calidad cuando aumentan el tamaña del sistema de información
-
… todas dependen en última instancia de:
-
Mantenibilidad
|
Mantenible | No mantenible | ||
---|---|---|---|
|
|
|
|
Viscosidad vs Fluidez
Viscosidad del diseño | Viscosidad del entorno |
---|---|
|
|
Rigidez vs Flexibilidad
|
||
|
|
|
Inmovilidad vs Reusabilidad
|
|
|
|
Fragilidad vs Fortaleza
|
|
|
|
Crisis del Software
|
|
|
Motivos de Proyectos Fracasados/Problemáticos | Incidencia |
---|---|
|
|
Síntesis
Bibliografía
Obra, Autor y Edición | Portada | Obra, Autor y Edición | Portada |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ponente
|
|
|