Es
del dominio del problema. La dificulta de gestionar el dominio del desarrollo. La posible flexibilidad a travs del software.
Primer Problema
Los
usuarios no tienen la precisin para exponer sus ideas o necesidades acerca de su software. De acuerdo a esto los desarrolladores hacen suposiciones en lugar de tener una perspectiva real de lo que el usuario requiere .
Segundo Problema
La
dificultad de gestionar el proceso de desarrollo. Es necesario descomponer el problema en centenares de mdulos independientes
Tercer Problema
LA
flexibilidad a travs del software. Tenemos en cuenta otros tipos de lenguajes de programacin que facilitan el rendimiento solicitado para una implementacin
1968 se dio a conocer que el software era caro poco estable y escaso. Pese a las metodologas y estructuras que ahora se utilizan los problemas de diseo aun prevalecen.
Depuracin
Mantenimient
Programacin y Abstraccin
Un programa es una descripcin abstracta de un procedimiento o fenmeno que existe o sucede en el mundo real.
El Papel de la Abstraccin
Los programadores han tenido que luchar con el problema de la complejidad durante mucho tiempo desde el nacimiento de la informtica. La abstraccin es la capacidad para aislar y encapsular la informacin, el diseo y ejecucin.
Un modelo mental es una vista simplificada de cmo funcionan las cosas de modo que se pueda interactuar con ellas. En resumen el proceso mental de construccin de modelos es lo mismo que el diseo del software aunque este es el nico. Cuando la programacin era basada en instrucciones binarias, esta era manejada por los programadores a travs de abstracciones para evitar que tuvieran que recordar la secuencias de bits.
Los procedimientos y funciones fueron unos de los primeros mecanismos de abstraccin que se utilizaron ampliamente en los lenguajes de programacin. El procedimiento proporciono la primera posibilidad de ocultacin de la informacin. Es una tcnica que proporciona la capacidad de dividir sus datos y procedimientos en una parte privada, solo accesible dentro del modulo. Los mdulos proporcionan un mtodo efectivo de ocultacin de informacin, pero no permiten realizar instalacin que es la capacidad de hacer mltiples copias en las zonas de datos.
TAD
Un TAD es un tipo de dato definido por programador que se puede manipular de un modo similar a los tipos de datos definidos por el sistema para construir un tipo de dato se debe poder: Exponer una definicin del tipo Hacer disponible un conjunto de operaciones que se puedan manipular Proteger los datas Permitir instancias mltiples del tipo. Es un tipo abstracto de dato los mecanismos bsicos de orientacin a objetos: objetos, mensajes, mtodo, clases, instancias y herencia.
Programacin Estructurada
Se emplea desde el principio de la dcada de los setenta, un programa estructurado se construye dividiendo el programa en funciones, esta divisin permite escribir cdigo mas claro y mantener el control sobre cada funcin.
PARADIGMAS: conjunto de teoras, y mtodos que juntos representan un medio de organizacin del conocimiento. La orientacin a objetos reconsidera nuestra pensamiento sobre la computacin, sobre lo que significa realizar computacin y sobre cmo se estructura la informacin dentro de la computadora.
Los Jenkins y Glasgow sugieren que existen cuatro clases de estilos de programacin: 1. orientado a procedimientos (algoritmos) 2. orientado a objetos (clases y objetos) 3. orientado a lgica (expresado en clculo de predicados) 4. orientado a reglas (reglas ifthen)
ABSTRACCION
ENCAPSULAMIENTO
MODULARIDAD
JERARQUIA
POLIMORFISMO