Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Anlisis: Necesidades del usuario especificaciones Diseo: Descomposicin en elementos que puedan desarrollarse por separado especificaciones de cada elemento Codificacin: Programacin de cada elemento por separado (+pruebas aisladas) Integracin: Se juntan los elementos y se prueba el sistema completo Mantenimiento: Cambios ocasionales (errores o mejoras)
Prototipos
Prototipos rpidos
Slo para adquirir experiencia El cdigo no se reusa Se usan para las fases de anlisis diseo
Prototipos evolutivos
El cdigo se reusa Proceso cclico del modelo en cascada En cada vuelta se va mejorando el prototipo hasta llegar a un sistema completo
Especificacin de software
El modelo especifica el QU hace el sistema sin especificar el CMO lo hace Se pueden usar distintas tcnicas
Descomposicin en subsistemas Modificacin de un modelo existente Anlisis del dominio estudiar entorno, terminologa, sistemas similares....
Anlisis de requisitos
Estudio del sistema en su contexto: sistema SW es parte de un sistema complejo (SW+HW+mecnica+.....) estudio de todos los dems sistemas + estudio del dominio Identificacin de necesidades: interaccin con el cliente necesidades reales Establecimiento del modelo del sistema
Desarrollo jerrquico divisin en subsistemas + desarrollo de cada subsistema Finaliza con un documento de especificacin de requisitos
Lenguaje natural para sistemas muy sencillos o como complemento de otros Diagramas de flujo de datos (DFD) modelan el procesado de los datos en el sistema Diagramas de transicin de estado (DTE) modelan la dinmica del sistema Diccionario de datos modela los datos ...........................................
Diseo de software
Diseo
Decir CMO va a hacer el sistema lo que tiene que hacer Finaliza con un documento de diseo arquitectnico y un documento de diseo detallado
Fases
Diseo arquitectnico
Estructura y organizacin del sistema Divisin en subsistemas o mdulos + interfaces entre ellos
Aparecen nuevos mdulos, se agrupan o desaparecen otros Definir la estructura de cada mdulo, con sus datos y servicios asociados Disear los algoritmos para el desarrollo de cada mdulo se detalla en pseudocdigo sin llegar a un nivel muy detallado (sera casi codificacin)
Diseo de datos diseo de las bases de datos asociadas al sistema (si es necesario)
Diagramas de estructura
Es uno de las muchas herramientas para el diseo Propuesta por E. Yourdon como herramienta para el diseo estructurado Describen la jerarqua de modulos y submdulos (diseo arquitectnico) El concepto de mdulo de Yourdon encaja en lo que es una funcin de C
dato1
sub1
sub2
sub3
Acoplamiento (debe ser dbil) es la interrelacin que tiene con otros mdulos
(muy fuerte) Por contenido acceso a datos locales y cdigo (entre mdulos) (fuerte) Comn zona de datos comunes a varios mdulos (medio) De control los mdulos se pasan seales de control (dbil) Por referencia los modulos se pasan datos por referencia (p.e.: struct de C) (muy dbil) Por valor paso de datos de un mdulos a otro (slo los que necesita)
(muy baja) casual no hay relacin (p.e.: cojo un programa de 1000 lneas de cdigo, lo parto en bloques de 100 lneas y hago un mdulo con cada bloque) (baja) Lgica el mdulo contiene operaciones cuya ejecucin depende de un parmetro (p.e.: una funcin calcular(operacion,datos) que puede hacer sumas o productos) (media-baja) temporal el mdulo contiene operaciones que se ejecutan en el mismo momento (p.e.: rutinas de inicializacin del sistema) (media) comunicacin el mdulo realiza distintas operaciones que se ejecutan en paralelo y que operan todos sobre el mismo conjunto de datos (media-alta) secuencial el mdulo realiza distintas operaciones que se realizan de forma secuencial sobre los datos, de forma que los datos de salida de una operacin son datos de entrada para la siguiente (alta) funcional el mdulo realiza slo una funcin
Comprensibilidad simple y con funcionamiento comprensible (por quien no lo ha diseado) Adaptabilidad (muy difcil) posibilidad de cambiarlo con facilidad
1.1. Objetivo 1.2. mbito 1.3. Definiciones, siglas y abreviaturas 1.4. Referencias
2. Panormica del sistema visin general de los requisitos + referencia al documento de especificacin de requisitos 3. Contexto del sistema conexiones con otros sistemas
4. Diseo del sistema descripcin del nivel superior de diseo (diseo arquitectnico)
4.1. Metodologa de diseo de alto nivel descripcin de la metodologa usada 4.2. Descomposicin del sistema componentes del sistema (mdulos1 ) y la relacin entre ellos
5.n.0. Indentificador del componente 5.n.1. Tipo mdulo1 5.n.2. Objetivo justificacin de la necesidad de que exista 5.n.3. Funcin qu hace? 5.n.4. Subordinados componentes (mdulos1) que usa 5.n.5. Dependencias componentes (mdulos1) por los que es usado 5.n.6. Interfases reglas de interaccin con otros elementos (mdulos1) 5.n.7. Recursos 5.n.8. Referencias 5.n.9. Proceso algoritmos (se definen con pseudocdigo) 5.n.10. Datos datos internos que usa el componente (mdulo1)
Especificacin (Anlisis)
Muy brevemente decir qu hace el sistema sin decir cmo En lenguaje natural o bien lenguaje natural estructurado Sin documento de especificacin de software se incluye en el documento de diseo
Diseo
Diseo arquitectnico
Divisin en mdulos y los interfaces entre ellos Reflejado en un diagrama de estructura Diseo de cada uno de los mdulos Se especificar como pseudocdigo (mejor) o diagrama de flujo Se plasma en el documento de diseo
Diseo detallado
Codificacin Pruebas
Se realizarn ambas a la vez y por mdulos (ojo, no empezar hasta que no est terminado el diseo detallado)
Documento de diseo
Breve introduccin y panormica del sistema Desarrollo detallado de diseo del sistema y de los componentes