DIAPOS Clase 3 - Sistemas de Informacion ONLINE
DIAPOS Clase 3 - Sistemas de Informacion ONLINE
DIAPOS Clase 3 - Sistemas de Informacion ONLINE
Construcción
de un Sistema
de información
• El término “Construcción de
Software” se refiere a la creación
¿Qué es la de software productivo y
significativo a través de los
construcción procesos de codificación,
de software? verificación, pruebas unitarias,
pruebas de integración y
depuración de errores.
¿Qué es la construcción
de software?
• La construcción de software es el proceso en
el cual se genera un programa que pueda
ejecutarse. Esta construcción está altamente
ligada al diseño del sistema y a su vez estará
muy relacionado con las prueba que validen el
sistema.
¿Qué es la construcción
de software?
• Aplicar Estándares
• Los principios fundamentales de la
construcción de software son:
• Minimizar la Complejidad :
• Escribiendo código sencillo y fácil
Construcción de leer
• Utilizando estándares
• Técnicas de codificación
• Técnicas de aseguramiento de
calidad
• Los principios fundamentales de la
construcción de software son:
Construcción
hacer pruebas u operar el sistema)
• Técnicas:
• Seguir estándares de codificación
• Hacer pruebas unitarias
• Organizar el código para soportar pruebas
automatizadas
• Restringir el uso de técnicas complejas
• Los límites entre el diseño y la construcción
variaran dependiendo del proceso de ciclo de
vida del software utilizado en el proyecto.
Construcción Aunque ciertas tareas de diseño puedan ser
desarrolladas antes del proceso de construcción,
gran parte del trabajo de diseño es realizado en
si, durante el proceso de construcción.
Construcció
Diseño Pruebas
n
Planificación
Manejo de Excepciones
Codificación
Proceso de Pruebas
Construcción
Aseguramiento de la calidad
Reutilización
Integración
Elegir el método de construcción
• Granularidad y alcance con el que se
realizan los requisitos
• Orden en el que se abordan
Planificación
Establecer el orden en el que los
componentes se crean e integran
Manejo de Ajustes
Excepciones
Detalles a perfeccionar del diseño
Aplicar técnicas para crear código fuente
comprensible
Documentar el código
Utilizadas por aquellos que escriben el
código
Revisiones
Análisis estático
• Pruebas (Unitarias y de Integración)
• Escribir las pruebas primero
• Ejecución línea a línea
• Uso de aserciones
• En programación, una aserción es un
Aseguramiento predicado o una sentencia verdadero-
falso, incluido en un programa como
de la calidad indicación de que el programador piensa
que dicho predicado siempre se cumple en
ese punto del flujo de programa.
• Depuración
• Revisiones
• Análisis estático
Implica mas que reutilizar código.
Activos reutilizables:
• Planes de proyecto, Estimaciones de
Reutilización coste
• Especificaciones de requisitos,
Arquitecturas, Diseños, Interfaces…
• Código fuente (librerías, componentes,…)
• Documentación de usuario y técnica,
Casos de prueba, Datos,…
De rutinas, clases, componentes y sub-
sistemas construidos de forma
separada, y con otro(s) sistema(s)
• Planificar la secuencia en que se integrarán los
componentes
• Crear “andamios” para soportar versiones
Integración provisionales
• Determinar el nivel de pruebas y aseguramiento
de calidad realizado sobre los componentes
antes de su integración.
El software
debe Estar conforme a su Hacer lo que el usuario
especificación realmente quiere
Demostrar la consistencia,
Determinar la corrección del
compleción y corrección de los
Objetivo producto final respecto a las
artefactos de las distintas fases
necesidades del usuario
(productos intermedios)
Técnica más
Revisiones Pruebas
utilizada
Técnicas estáticas y dinámicas
Estáticas Dinámicas
Revisiones Pruebas
Las revisiones de software pueden ser
Formales
Semi-
Informales (Inspecciones
formales
)
Informales
Formales
Informales
Formales
Informales
Semi-formales
Editores de texto
Construcción
PRUEBAS DE SOFTWARE
Objetivo Pruebas de
1 validación
Objetivo Pruebas de
2 defecto
Las pruebas no pueden demostrar que
software.
ESTRATEGIA DE PRUEBA DE
SOFTWARE
Componente
grande”.
ESTRATEGIA DE PRUEBA DE
SOFTWARE
Pruebas de Verificar un
pequeño segmento
bajo nivel de código fuente
Validar las
Pruebas de funciones del
sistema a partir de
alto nivel los requerimientos
del cliente
Pruebas de software
VERIFICACIÓN Y
VALIDACIÓN
VERIFICACIÓN Y VALIDACIÓN
Verificació
Validación
n
¿Construimos ¿Construimos
el producto el producto
correctamente? correcto?
• La verificación y la validación incluyen un amplio
arreglo de actividades SQA:
1. Revisiones técnicas
Pruebas de software
PRUEBA DE UNIDAD
Integración ascendente
PRUEBAS DE
INTEGRACIÓN: Prueba de regresión
INTEGRACIÓN
I N C R E M E N TA L
Prueba de humo
PRUEBA DE
• La prueba de humo puede
caracterizarse como una estrategia
HUMO
de integración constante. El
software se reconstruye (con el
agregado de nuevos componentes)
y se prueba cada día.
PRUEBAS DE VALIDACIÓN
Pruebas de software
• Las pruebas de validación
comienzan en la culminación de
las pruebas de integración,
cuando se ejercitaron
componentes individuales, el PRUEBAS DE VALIDACIÓN
software está completamente
ensamblado como un paquete y
los errores de interfaz se
descubrieron y corrigieron.
¿CUÁNDO ES EFECTIVA LA
VALIDACIÓN?
Especificación de requerimientos
de software
CRITERIOS PARA LA VALIDACIÓN
La documentación es
Se logran todos los
correcta y se satisfacen
requerimientos de
la facilidad de uso y
rendimiento
otros requerimientos.
La prueba alfa se lleva a cabo en el sitio
del desarrollador por un grupo
representativo de usuarios finales. El
software se usa en un escenario natural con
el desarrollador presente y los usuarios
registrando los errores y problemas de uso.
PRUEBAS ALFA
Y BETA
PRUEBAS ALFA
Y BETA
A diferencia de la prueba alfa, por lo
general el desarrollador no está presente.
Por tanto, la prueba beta es una aplicación
“en vivo” del software en un ambiente
que no puede controlar el desarrollador.
PRUEBAS DE SISTEMA
Pruebas de Software
PRUEBA DE SISTEMA
Pruebas de software
Prueba
Depuración
exitosa
PROCESO DE DEPURACIÓN
PROCESO DE DEPURACIÓN
Durante la depuración,
Conforme aumentan las
encontrará errores que
consecuencias de un
varían desde los
error, también aumenta la
ligeramente
cantidad de presión por
desconcertantes hasta los
encontrar la causa.
catastróficos.
ESTRATEGIAS DE DEPURACIÓN
Tácticas de depuración.
Depuración automatizada.
El factor humano.
TÁCTICAS DE DEPURACIÓN
1 2 3
¿La causa del error se ¿Qué “siguiente error” ¿Qué debió hacerse
reproduce en otra parte puede introducirse con para evitar este error
del programa? la corrección que está a desde el principio?
punto de realizar?
DESPLIE
GUE
Implementación de un software
¿QUÉ CONSIDERAR AL MOMENTO
DE IMPLEMENTAR UN SOFTWARE?
¿Cuáles son las necesidades?
Planificación consciente
Migración de datos
SOFTWAR
ambos.
E?
LA IMPLEMENTACIÓN ES UN
PROCESO GENERAL QUE DEBE
PERSONALIZARSE BASADO EN LOS
REQUISITOS Y CARACTERÍSTICAS
ESPECÍFICAS DE LA ORGANIZACIÓN
A considerar SIEMPRE…
ACTIVIDADES DEL
DESPLIEGUE
Configuración del hardware
Desarrollo e integración
Presentación de producción
ROLES PARA LA
IMPLEMENTACIÓN
En entornos de preproducción:
• Desarrolladores de aplicaciones
• Gerentes de lanzamiento
• Coordinadores de despliegue
En entornos de producción:
• Administrador de sistema
• Administrador de base de datos
• Coordinadores de liberación
• Directores de proyecto de las operaciones
MANTENIMIENT
O
MANTENIMIENTO DE UN
SOFTWARE
En ingeniería del software, el mantenimiento de software es la
modificación de un producto de software después de la entrega, para
corregir errores, mejorar el rendimiento, u otros atributos.
Mantenimiento predictivo.
TIPOS DE • Evalúa el flujo de ejecución del programa para predecir
TO DE Mantenimiento correctivo.
SOFTWARE • Corrige los defectos encontrados en el software, y que
originan un comportamiento diferente al deseado. Estas
fallas pueden ser de procesamiento, rendimiento (por
ejemplo, uso ineficiente de recursos de hardware),
programación (inconsistencias en la ejecución),
seguridad o estabilidad, entre otras.
Mantenimiento adaptativo.