Академический Документы
Профессиональный Документы
Культура Документы
Software
MT104 - Desarrollo de Software
Luis Bardalez Garcia
Ciclo 2019-II
• Objetivos
• Conocer modelos de desarrollo de software con sus ventajas
y desventajas
• Conocer los procesos de análisis de requerimientos, diseño
de solución e implementación de software
• Contenido
• Preguntas Previas
• Introducción
• Modelos de Proceso de Software
• Análisis de Requerimientos de Software
• Diseño de Soluciones de Software
• Implementación de Soluciones de Software
• Preguntas Previas
• ¿Conocen algún modelo de desarrollo de software?
• ¿Qué idea tienen sobre el análisis de requerimientos de
software?
• ¿Qué idea tienen sobre el diseño de soluciones de software?
• ¿Qué idea tienen sobre la implementación de software?
Introducción
• Software
• Es el conjunto de componentes lógicos de un sistema informático que
permiten la realización de tareas.
• Proceso de Software
• Conjunto de actividades cuya meta es el desarrollo del software.
Incluye la especificación de requerimientos, diseño, implementación y
validación de software, además de su consecuente evolución.
Modelos del Proceso de Software
• Son representaciones abstractas de un proceso de software
desde una perspectiva particular, sin detallar actividades
específicas.
• Estos modelos definen un marco de trabajo en base a los cuales
de puede proponer procesos más específicos.
Modelos del Proceso de Software
• Modelo en Cascada
Definición de
Requerimientos
Diseño del sistema
de software
Implementación y
prueba de unidades
Integración y
prueba del sistema
Funcionamiento y
mantenimiento
Modelos del Proceso de Software
• Desarrollo Evolutivo
Actividades
Concurrentes
Esbozo de la Versiones
Desarrollo
descripción Intermedias
CompDose = redondear((r2-r1)/4)
Nivel de azucar aumentando y tasa de incremento
Si resultado redondeado = 0, entonces
estable o aumentando ((r2-r1) > (r1-r0))
CompDose = DosisMinima
Análisis de Requerimientos de Software
• Notaciones para Requerimientos del Sistema:
• Modelos gráficos
Análisis de Requerimientos de Software
• Requerimientos funcionales:
• Describen lo que el sistema debe hacer.
• Requerimientos no funcionales:
• No se refieren a funciones específicas, sino a propiedades de este, tales
como fiabilidad, tiempo de respuesta y capacidad de almacenamiento.
• Requerimientos del dominio:
• Son requerimientos que provienen del dominio de aplicación del
sistema más que de las necesidades específicas del usuario y que
reflejan las características y restricciones de ese dominio. Pueden ser
funcionales o no funcionales.
Análisis de Requerimientos de Software
• Requerimientos no funcionales
Diseño de Soluciones de Software
• La esencia básica del diseño del software es la toma de
decisiones sobre la organización lógica del software.
• Existen diferentes métodos estructurados para definir y realizar
el diseño los cuales pueden ser usados como referencia; sin
embargo, queda a criterio del diseñador si usar uno, otro o una
combinación de estos.
Diseño de Soluciones de Software
• Diseño Arquitectónico
• Consiste en la separación de la lógica de un software en subsistemas,
proponiéndose un marco de control y comunicación entre estos.
• Las ventajas de plantear la arquitectura del sistema son:
• Presentación de alto nivel para los interesados del proyecto
• Análisis del sistema
• Reutilización a gran escala
Diseño de Soluciones de Software
• Organización del sistema
• Refleja la estrategia básica usada para estructurar dicho sistema,
descomponiéndolo en subsistemas. Cada subsistema no depende de
otros subsistemas.
• Descomposición modular
• Dada una organización, descompone los subsistemas en módulos.
Cada módulo puede depender de otros módulos.
• Estilos de control
• De que forma se controlan los subsistemas.
Diseño de Soluciones de Software
• Organización del sistema - Modelo de Repositorio
Diseño de Soluciones de Software
• Organización del sistema - Modelo Cliente-Servidor
Diseño de Soluciones de Software
• Organización del sistema - Modelo de Capas
Diseño de Soluciones de Software
• Descomposición modular – Modelo de objetos
Diseño de Soluciones de Software
• Descomposición modular – Modelo de flujo de funciones
Diseño de Soluciones de Software
• Estilos de control – Control centralizado – Modelo llamada-retorno
Diseño de Soluciones de Software
• Estilos de control – Control centralizado – Modelo Gestor
Diseño de Soluciones de Software
• Estilos de control – Control basado en eventos – Transmisión selectiva
Diseño de Soluciones de Software
• Estilos de control – Control basado en eventos – Conducido por interrupciones
Diseño de Soluciones de Software
• Arquitectura de referencia – Modelo de referencia OSI
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Multiprocesador (control de tráfico)
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Cliente-Servidor
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Red Cliente-Servidor
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Sistema ATM - Cliente - Servidor
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Cliente-Servidor - Sistema Bancario Web
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Objetos distribuidos - Sistema Bancario Web
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Conceptual- Sistema Orientado a Servicios
Diseño de Soluciones de Software
• Arquitectura de Sistemas Distribuidos – Sistema de información de Vehículo
Diseño de Soluciones de Software
• Arquitectura de Interfaz de Usuario – Sistema de busqueda
Diseño de Soluciones de Software
• Arquitectura de Interfaz de Usuario – Múltiples interfaces de usuario
Diseño de Soluciones de Software
• Arquitectura de Interfaz de Usuario – Presentación de información
• Bibliografía
• Sommerville, I. (2005). Ingeniería del software 7ma Ed.
Pearson educación.