Tema 1: Introducción al análisis y diseño de aplicaciones software
Sistema de información + SOFTWARE HARDWARE PERSONAS Organización DATOS
¿Cómo construir un SI? Identificar los usuarios Definir la arquitectura del sistema Definir el software a desarrollar Cada vez MÁS COMPLEJO Desarrollarlo RÁPIDAMENTE Se necesitan métodos mejores de desarrollo
El proceso de desarrollo de software Requerimientos del usuario Sistema de software
El proceso de desarrollo de software (2) Ofrece un marco de trabajo genérico DATOS y ARQUITECTURA del SISTEMA PARTE ESTÁTICA PARTE DINÁMICA PROCESOS INTERFAZ CICLO DE VIDA MODELO de REFERENCIA
Elementos utilizados en los distintos procesos
Tipos de Ciclos de Vida (CV) CV es MODELO de REFERENCIA para construir software Sin prototipos En cascada (Waterfall) Con prototipos desechables no desechables Incremental evolutivo En espiral Iterativo e incremental
Ciclo de vida en cascada El más común y el más antiguo (1970) Se basa en completar un paso antes de comenzar con el siguiente
Ciclo de vida en cascada Definir Requisitos Sistema Desarrollo de SI Definir Requisitos software Diseño preliminar Codificar módulos e integrarlos Diseño detallado Diseño de alto nivel Integrar el software en el sistema DISEÑO PRELIMINAR es el DISEÑO de ALTO NIVEL DISEÑO DETALLADO es el DISEÑO de los ALGORITMOS Codificar & debug Test y Pre-operación Diseño de los algoritmos Operación y Mantenimiento
Valoración CV en cascada (-) LAS ESPECIFICACIONES NUNCA SON CORRECTAS (-) CLIENTES/USUARIOS NO SABEN LO QUE QUIEREN (-) EL CLIENTE NO VE RESULTADOS HASTA EL FINAL (+) IDENTIFICACIÓN DE CIERTAS TAREAS: requisitos, análisis, diseño, implementación, pruebas
Ciclo de vida con prototipos MODELO DEL SISTEMA QUE SE ESTÁ CONSTRUYENDO ¿Por qué? FACILITA LA COMUNICACIÓN ENTRE CLIENTES Y DESARROLLADORES En general existen problemas de comunicación entre los desarrolladores y los usuarios (no usan un mismo lenguaje)
Características CV con prototipos Alto grado de participación del usuario Evalúa prototipos Propone mejoras Detalla requisitos Aprende a usar el sistema Proporciona más información (feedback) a los desarrolladores No se puede indicar los requisitos sin tener experiencia con el sistema El prototipo da mayor conocimiento al usuario y analistas El prototipo se modifica hasta que los requisitos del usuario queden claros
CV en cascada con prototipos Investigación preliminar Definir requisitos Breve análisis y especificación Diseño y realización Evaluación OK KO Modificación Diseño ...
CV con prototipos PROTOTIPOS DESECHABLES No se utilizan para construir el sistema final. Programación “Quick & Dirty” (Perl, awk, csh, …) Sistemas RAD (rapid application development) Herramientas de programación visual PROTOTIPOS NO DESECHABLES Los prototipos van formando el sistema final