Professional Documents
Culture Documents
Introduccin
2
Captulo 1.
Introduccin. Construccin de Software
Qu problema estamos intentando resolver? Cul ser la finalidad del software en dicho contexto? Quin tiene el conocimiento necesario? Especificacin formal del problema
2 Diseo 2.
de una solucin. solucin de la solucin. 4. Prueba y documentacin de la aplicacin. 5. Documentacin: 6. Valoracin de la solucin.
3. Implementacin
Seleccin de las herramientas apropiadas Traduccin d del d l diseo d a cdigo d Revisin y refinamiento
3. Implementacin I l i
4. 5 5. 6.
Formulacin y especificacin del problema. Diseo de una solucin. Implementacin de la solucin. Prueba y documentacin de la aplicacin.
Pruebas de validacin.
Hace el sistema lo que necesita el usuario? Hace el sistema lo que dicen las especificaciones?
y especificacin del problema. problema de una solucin. 3 Implementacin de la solucin. 3. solucin 4. Prueba y documentacin de la aplicacin. 5 Documentacin: 5.
5 5. 6.
10
y especificacin del problema. de una solucin. 3. Implementacin de la solucin. 4. Prueba y documentacin de la aplicacin. 5. Documentacin: 6. Valoracin de la solucin.
11
Captulo 1.
Introduccin. Diseo Software. Fundamentos
13
14
Procedimental (operaciones compuestas de operaciones).Reduccin de una secuencia de acciones a una denominacin simple. De datos (Datos complejos, formados por otros ms simples). Di de Diseo d tipos ti de d datos d t complejos l j a partir ti d de los l ya existentes. it t De control (flujo complejo abstrado)
sucesivamente, se aaden detalles procedimentales hasta trabajar con sentencias primitivas del lenguaje de programacin. programacin D. Modularidad: atacamos el problema por partes, dividimos el problema en mdulos ms sencillos de manejar. manejar
B Arquitectura B.
del sistema:
Cada capa se divide en mdulos. Estrategia divide y vencers aplicada al diseo del sistema. Facilidad de desarrollo y mantenimiento. Cuanto ms simples sean los mdulos mejor.
Aplicacin de patrones arquitectnicos. Hay patrones genricos para varios modelos de sistemas software Divisin del sistema en capas. Las arquitecturas que estructuran el sistema en mltiples capas son las ms comunes
15
16
Independencia funcional
Mxima cohesin. Cada mdulo se encarga de una nica tarea y lo hace de manera global Mnimo acoplamiento. Los cambios en un mdulo no deben provocar modificaciones en otros mdulos
d del l Software: S f organizacin jerrquica de los mdulos, su interaccin y las estructuras de d t que utilizan. datos tili G.Jerarqua de control: Organizacin de los mdulos de un programa. d
Visibilidad: Conjunto de mdulos que un mdulo puede d llamar. ll Conectividad: mdulos que llaman a otro mdulos.
H.Divisin Di i i
17
18
Abstraccin de la complejidad Exponer nicamente la interfaz de acceso Mayor independencia entre mdulos La informacin de estado es inaccesible para otros mdulos
Escribir una pieza de cdigo brillante que funcione es una cosa, disear algo l que pueda d soportar t al largo plazo l un negocio i es otra t muy diferente. dif t C. Ferguson
19