Académique Documents
Professionnel Documents
Culture Documents
Programacin Modular Ingeniera en Telecomunicacin Departamento de Lenguajes y Ciencias de la Computacin Universidad de Mlaga
Contenido
1) La Crisis del Software 2) Metodologas de Diseo 3) Calidad del Software 4) Principios de Diseo 5) Un Caso de Estudio 6) Diseo Estructurado 7) Diseo Orientado a Objetos
10
11
parche
12
13
Construccin de Software
Desarrollar software es como construir un edificio: hay mucho que hacer antes del verdadero trabajo... Planificar minuciosamente Elegir materiales Establecer y respetar una temporizacin Inspeccionar frecuentemente la obra Los errores son muy costosos de reparar La dificultad depende del tamao Los problemas de organizacin y gestin son tan complicados como los problemas tcnicos
Introduccin a la Ingeniera del Software 14
15
16
Metodologas de Diseo
En un ecosistema contaminado...
plancton radioactivo
18
plancton radioactivo
19
20
23
En lenguaje natural Desde el punto de vista del usuario Sin referirse a una posible solucin
24
25
La visin de la NASA
Problema: Cmo hacer que un bolgrafo funcione sin gravedad? Solucin: Bolgrafo espacial de avanzado diseo y gran coste
26
27
28
29
Qu hace el sistema?
Problema: Ordenar un vector de N elementos Especificacin: Dado X[1..N], obtener Y[1..N] tal que: 1) i j / Y[i] = X[j] 2) 1 i N : Y[i] Y[i+1]
Introduccin a la Ingeniera del Software 31
32
35
37
38
39
Principios de Diseo
41
42
Metodologas de Diseo
Metodologa Abstraccin Procedimental Abstraccin de Datos Diseo Estructurado Diseo Orientado a Objetos Mdulo Subprograma Tipos Proceso Clase
43
44
Ocultamiento de Informacin
IDEA -> dado un mdulo, distinguir entre: qu hace y cmo lo hace su uso y su funcionamiento MTODO -> descomponer los mdulos en dos partes: Interfaz Implementacin
45
Interfaz
Parte pblica, visible del mdulo Determina qu servicios se ofrecen al usuario Indica el modo de uso (instrucciones) Orientado al usuario
46
Implementacin
Parte privada, oculta del mdulo Determina cmo funcionan los servicios ofrecidos Oculta detalles no relevantes para el usuario Slo el implementador puede acceder a la implementacin
47
48
6',
E
W 'R F
,Q
/&
49
50
Interfaz Implementacin
51
Cohesin
Propiedad intra-modular Mide la relacin entre los contenidos de un mdulo Diversos grados, de fuerte a dbil Objetivo: Maximizar la cohesin
52
Escribir el IRPF limita los usos del mdulo. Ej: listado de nminas, irpf promedio de la empresa,...
Introduccin a la Ingeniera del Software 53
Acoplamiento
Propiedad inter-modular Mide la relacin entre los mdulos de un sistema Diversos grados, de fuerte a dbil Objetivo: Minimizar el acoplamiento
54
55
Interfaz ALGORITMO Movimiento_Maquina() INICIO Implementacin SI (turno == maquina) ENTONCES mov= calcular_mov(tablero); mover(mov,tablero); turno= humano; FINSI FIN
56
ALGORITMO Movimiento_Humano() INICIO SI (turno == humano) ENTONCES mov= leer_mov(tablero); mover(mov,tablero); turno= maquina; FINSI FIN
Interfaz Implementacin
Un Caso de Estudio
Diseo Estructurado
63
Descomposicin Estructurada
Controlar velocidad Comprobar desconexin Calcular Ajuste Regulador Obtener velocidad actual Ajustar Regulador
67
freno
velocidad deseada
regulador
acelerador
Introduccin a la Ingeniera del Software 68