Вы находитесь на странице: 1из 47

Proceso de Desarrollo de

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

Especificación Versión Inicial

Esbozo de la Versiones
Desarrollo
descripción Intermedias

Validación Versión Final


Modelos del Proceso de Software
• Ingeniería de Software Basada en Componentes (CBSE)

Especificación de Análisis de Modificación de Diseño del sistema


requerimientos componentes requerimientos con reutilización

Desarrollo e Validación del


integración sistema
Modelos del Proceso de Software
• Entrega Incremental

Definir esbozo de Asignar requerimientos Diseñar la arquitectura


requerimientos a los incrementos del sistema

Desarrollar incrementos Validar Integrar Validar


del sistema incrementos Incrementos sistema
Modelos del Proceso de Software
• Desarrollo Espiral

Definir objetivos, Evaluar alternativas,


alternativas y restricciones identificar, resolver riesgos

Planificar la siguiente Desarrollar, verificar


fase producto del siguiente nivel
Modelos del Proceso de Software
• Desarrollo Espiral
Análisis de Requerimientos de Software
• Requerimientos:
• Descripción de servicios proporcionados por el sistema y sus
restricciones operativas.
Análisis de Requerimientos de Software
• Requerimientos de Usuario:
• Declaraciones, en lenguaje natural y en diagramas, de los servicios que
se espera que el sistema proporcione y de las restricciones bajo las
cuales debe funcionar.
• Requerimientos del Sistema:
• Son una versión extendida de los requerimientos del usuario.
Establecen con detalle funciones, servicios y restricciones operativas del
sistema. El documento elaborado debe ser preciso y definir
exactamente lo que se va a implementar.
Análisis de Requerimientos de Software
• Recomendaciones en Requerimientos de Usuario:
• No incluir demasiada información, se deben enfocar en los recursos
principales.
• Se recomienda usar un formato estándar e incluir quien solicitó el
requisito.
• Utilizar el lenguaje de forma consistente. Usar futuro simple para
especificar requerimientos obligatorios y futuro condicional para
requerimientos deseables.
• Resaltar con negrita partes claves del requisito.
• Evitar uso de jerga informática.
Análisis de Requerimientos de Software
• Ejemplo de Requerimientos de Usuario

Recursos de cuadrícula. Para ayudar a la ubicación de entidades en un diagrama, el usuario


puede activar una cuadrícula en centímetros en pulgadas, mediante una opción en el panel
de control. Al principio, la cuadrícula está desactivada. Esta cuadrícula se puede activar o
desactivar en cualquier momento durante una sesión de edición y poner en pulgadas y
centímetros. La opción de cuadrícula se proporcionará en la vista de reducción de ajuste,
pero el número de líneas de la cuadrícula a mostrar se reducirá para evitar saturar el
diagrama más pequeño con líneas de cuadrícula.
Análisis de Requerimientos de Software
• Notaciones para Requerimientos del Sistema:
• Lenguaje natural estructurado: Se describe el requisito siguiendo un
formulario estándar donde se debe incluir la siguiente información:
• Descripción de la función o entidad a especificar
• Descripción de las entradas y de donde provienen
• Indicación de otras entidades que se utilizan
• Precondición que invocará a la función y postcondición que especifica que será
verdad una vez invocada la función
• Descripción de efectos colaterales de la operación
Análisis de Requerimientos de Software
• Notaciones para Requerimientos del Sistema:
• Lenguaje natural estructurado

Función Calcular la dosis de insulina; nivel de azúcar en sangre


Descripción Calcula la dosis de insulina a suministrar cuando el nivel medido actual del azúcar está en la zona segura entre 3 y 7
Entradas Lectura de azúcar actual (r2), las dos lecturas previas (r0 y r1)
Fuente Lectura actual del sensor. Otras lecturas de la memoria
Salidas Bucle de control principal
CompDose es cero si el nivel de azúcar está estable o disminuyendo o si el nivel está aumentando pero la tasa e incremento
disminuyendo. Si el nivel está aumentando y la tasa de incremento disminuyendo, CompDose se calcula dividiendo la diferencia
Acción
entre el nivel de azúcar actual y el nivel anterior por 4 y redondeando el resultado. Si el resultado se redondea a cero, se fija
CompDose a la dosis mínima que puede ser suministrada
Requerimientos Las dos lecturas previas para poder calcular la tasa de crecimiento de azúcar
Precondición La reserva de insulina contiene al menos el máximo permitido para una única dosis de insulina.
Postcondición R0 es reemplazada por r1 y r1 es reemplazada por r2.
Efectos
Ninguno
colaterales
Análisis de Requerimientos de Software
• Notaciones para Requerimientos del Sistema:
• Especificación tabular del cálculo
Nivel de azúcar disminuyendo (r2 < r1) CompDose = 0
Nivel de azucar estable (r2 = r1) CompDose = 0

Nivel de azucar aumentando y tasa de incremento


CompDose = 0
disminuyendo ((r2-r1) < (r1-r0))

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.

Вам также может понравиться