Publicado el 6 de Junio del 2017
1.249 visualizaciones desde el 6 de Junio del 2017
484,0 KB
33 paginas
Creado hace 15a (19/05/2009)
Parte I: El computador y el proceso de
programación
• 1.Introducción a los computadores y su programación
• 2. Introducción al análisis y diseño de algoritmos
• 3. Introducción al análisis y diseño de programas
• 4. Verificación de programas
UNIVERSIDAD
DE CANTABRIA
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
4
© Michael González Harbour
19/ma/09
1
Notas:
UNIVERSIDAD
DE CANTABRIA
1. Introducción a los computadores y su programación
• Arquitectura básica de un computador.El software del sistema. Lenguajes de Alto Nivel. El proceso de
compilación. El ciclo de vida del software.
2. Introducción al análisis y diseño de algoritmos.
• Diseño de un programa. Concepto de algoritmo. Descripción de algoritmos: el pseudolenguaje.
Tiempo de ejecución de algoritmos. La notación O(n). Ejemplos de análisis.
3. Introducción al análisis y diseño de programas
• Actividades del ciclo de vida del software. Paradigmas de desarrollo de programas. Análisis y
especificación. Diseño arquitectónico. Técnicas de diseño detallado.
4. Verificación de programas
• Importancia de la verificación. Estrategias de prueba. Depuración. Elección de datos para la prueba.
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
2
1. Actividades del ciclo de vida del
software
Análisis y Especificación
Diseño de la Arquitectura
Diseño Detallado
Codificación y Desarrollo
Integración y Verificación o Prueba
Operación y Mantenimiento
UNIVERSIDAD
DE CANTABRIA
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
3
Notas:
UNIVERSIDAD
DE CANTABRIA
Análisis y especificación. En esta etapa se analiza la naturaleza del problema, y se establecen los
requerimientos del sistema. En la especificación se desarrollan las descripciones del sistema, de sus
restricciones, y de los recursos necesarios.
Diseño de la Arquitectura. A partir de las especificaciones funcionales, se diseña la estructura del sistema
que resuelve el problema. Esta estructura representa las partes importantes del sistema y sus relaciones,
así como las estructuras de datos más importantes.
Diseño Detallado. Las partes importantes del sistema se diseñan en detalle, describiendo los algoritmos y
estructuras de datos concretas. Se detallan las interfaces entre las diferentes partes. Las etapas de diseño
suelen requerir varios niveles de refinamiento.
Codificación y Desarrollo. Producción de una realización física del diseño.
Integración y Verificación. Suelen ser fases cíclicas, en las que de forma incremental se van probando e
integrando las diversas partes del sistema.
Operación y Mantenimiento. Reparación de problemas, adaptación a nuevas condiciones, mejoras, etc.
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
4
Actividades en Cada Etapa
UNIVERSIDAD
DE CANTABRIA
Etapa
Análisis
Entradas
Salidas
Necesidades iniciales, con-
texto, problemas del usuario
Definición de requerimientos
Especificación
Requerimientos, contexto del
sistema
Especificaciones funcionales,
diseño externo del sistema
Diseño de la Arqui-
tectura
Especificaciones, contexto,
experiencia previa
Definición de módulos e interfa-
ces
Diseño Detallado
Descripción de la arquitec-
tura, detalles del entorno
Descripción de la estructura de
los programas
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
5
Notas:
UNIVERSIDAD
DE CANTABRIA
Análisis:
• Identificación de las funciones más importantes, recolección de información y de restricciones.
Especificación:
• Conversión de las necesidades en funciones explícitas, selección de las restricciones que son
operativas, descripción de las interfaces al usuario.
Diseño de la Arquitectura:
• Determinar la estructura del problema, identificar las partes importantes del sistema, establecer las
relaciones entre las partes, abstracción, y descomposición.
Diseño Detallado:
• Abstracción, elaboración, selección de alternativas.
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
6
Actividades en Cada Etapa (cont.)
UNIVERSIDAD
DE CANTABRIA
Etapa
Entradas
Salidas
Codificación y
Desarrollo
Descripción de la arquitec-
tura, detalles del entorno
Código de unidades de pro-
grama y documentación
Integración y Verifi-
cación
Operación y Man-
tenimiento
Descripción de la arquitectura
y código de las unidades de
programa con su documenta-
ción
Documentación del sistema,
requerimientos de operación,
peticiones de cambios
Código del programa o progra-
mas completos, ficheros de
datos, sistema completo
Sistema mejorado
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
7
Notas:
UNIVERSIDAD
DE CANTABRIA
Codificación y Desarrollo:
• Codificación de algoritmos y estructuras de datos
Integración y Verificación:
• Depuración y verificación de unidades de programa y de prototipos del sistema global cada vez más
elaborados, hasta llegar al sistema completo
Operación y mantenimiento:
• Reprogramación, mejora, depuración del rediseño, etc.
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
8
Validación Paso a Paso del Proceso
UNIVERSIDAD
DE CANTABRIA
El usuario firma: Si las
especificaciones se
implementan, los
requerimientos se
alcanzarán
Los encargados de la
especificación firman:
Si el diseño se imple-
menta, las especifica-
ciones de satisfarán
Los diseñadores fir-
man: Si el programa se
escribe, el diseño que-
dará implementado
Requerimientos
Especificaciones
Diseño
Programa
Los analistas aceptan
la descripción de los
requerimientos, que es
clara y realizable
Los diseñadores fir-
man: Las especifica-
ciones están claras y se
pueden convertir en
un diseño
Los programadores
firman: El diseño es
claro y se puede con-
vertir en código
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
9
Notas:
UNIVERSIDAD
DE CANTABRIA
Cuando se trabaja en asociación con otras personas para realizar un proyecto relativamente grande y
utilizando técnicas avanzadas, debe de existir una filosofía y metodología de dirección que guíe el proyecto,
para su terminación con éxito. Este éxito será fuertemente dependiente de la calidad del proceso de
dirección.
El software desarrollado puede ser interno, para uso por el propio organismo que lo desarrolla, o externo,
realizado para ser utilizado por otras personas. En ambos casos, las técnicas de dirección empleadas
deben de ser muy similares (aunque en muchas ocasiones en el desarrollo interno esta medida no se tenga
en cuenta).
Es importante, en ambos casos, tener presente todo el ciclo de vida, teniendo especial cuidado con los
límites entre las distintas fases.
Cada uno de los límites entre las fases de desarrollo deberá estar claramente representado mediante un
documento que deberá establecer claramente lo que se ha realizado en la etapa precedente. Esto, junto
con una revisión del diseño, ayudará a la evaluación y validación.
En la figura se muestra el método de validación paso a paso del proceso de desarrollo. Al comienzo de cada
etapa se documenta y se cierra la etapa anterior, de modo que se minimiza la cantidad de iteración y de
cambios estructurales.
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
10
Validación por Comparación con los
Requerimientos
UNIVERSIDAD
DE CANTABRIA
Requerimientos
Especificación
Diseño
Programa
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
11
Notas:
UNIVERSIDAD
DE CANTABRIA
En la figura se muestra el método de validación del programa por comparación con los requerimientos. Este
caso, en el que se utiliza el programa para realizar la validación, llevará desafortunadamente a que
cualquier error serio detectado en la validación implique un costo muy elevado, al estar el programa ya muy
avanzado.
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
12
Paradigmas del Proceso Software
Paradigma clásico (en cascada) del ciclo de vida del software:
UNIVERSIDAD
DE CANTABRIA
Análisis de
Requerimientos
Análisis de la
Especificación
Diseño de la
Arquitectura
Diseño
Detallado
Codificación y
Depuración
Pruebas e
Integración
Operación y
Mantenimiento
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
13
Notas:
UNIVERSIDAD
DE CANTABRIA
El paradigma clásico constituye la herramienta actual más potente para el desarrollo del software. Se basa
en la secuencia de pasos lógicos que aparece en la figura, y que son optimizados a nivel individual, uno a
uno.
Actualmente se considera que este paradigma limita la calidad del proceso, por las siguientes razones:
1. Exige la toma de decisiones en fases iniciales, sin conocer su efecto en fases sucesivas
2. Considera que los requerimientos del programa están definidos antes de que éste haya sido diseñado.
3. Considera la especificación del programa como algo previo y no interaccionante con el diseño.
4. Se basa en criterios tales como la experiencia del programador, y es difícil de automatizar
5. El paradigma hace muy difícil y costoso el proceso de mantenimiento del software.
Sin embargo, el uso de un paradigma como este reporta muchos beneficios con respecto a un proceso
desordenado, en el que no se siga una metodología clara.
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
19/ma/09
14
Objetivos de los Nuevos Paradigmas
Los nuevos paradigmas tratan de:
• Proporcionar a los usuarios un objeto ejecutable en las etapas
UNIVERSIDAD
DE CANTABRIA
iniciales del proceso
• Analizar y reducir el riesgo
• Automatizar la producción del software
Se pueden utilizar en combinación con el paradi
Comentarios de: Parte I: El computador y el proceso de programación - 3. Introducción al análisis y diseño de programas (0)
No hay comentarios