26
MODELOS DEL PROCESO DE SOFTWARE

modelos del proceso del software

Embed Size (px)

Citation preview

Page 1: modelos del proceso del software

MODELOS DEL PROCESO

DE SOFTWARE

Page 2: modelos del proceso del software

Para resolver los problemas reales de una industria, un ingeniero del software o un equipo de ingenieros debe incorporar una estrategia de desarrollo que acompañe al proceso, métodos y capas de herramientas.

MODELOS DEL PROCESO DE SOFTWARE

Esta estrategia se llama modelo de proceso o paradigma de ingeniería del software.Se selecciona un modelo de proceso para la ingeniería del software según la naturaleza del proyecto y de la aplicación, los métodos y las herramientas a utilizarse, los controles y entregas que se requieren.

Page 3: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Todo el desarrollo del software se puede caracterizar como bucle de resolución de problemas en el que se encuentran cuatro etapas distintas:

DEFINICION DE

PROBLEMAS

DESARROLLO

TECNICO

INTEGRACION DE

SOLUCIONES

ESTADO ACTUAL

Page 4: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

ESTADO ACTUAL (STATUS QUO): «representa el estadoactual de sucesos».

DEFINICIÓN DE PROBLEMAS:identifica el problema específico a resolverse; el

DESARROLLO TÉCNICO :resuelve el problema a través de laaplicación de alguna tecnología

INTEGRACIÓN DE SOLUCIONES:ofrece los resultados (por ejemplo: documentos,programas, datos, nueva función comercial, nuevo producto)a los que solicitan la solución en primer lugar.

Page 5: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

con independencia del modelo de proceso que seseleccione para un proyecto de software, todas las etapas coexisten simultáneamente en algún nivel de detalle. las cuatro etapas tratadas anteriormente se aplican igualmente al análisis de una aplicación completa y a la generación de un pequeño segmento de código.

Page 6: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

MODELO LINEAL SECUENCIAL

Llamado algunas veces «ciclo de vida básico» o modeloen cascada», el modelo lineal secuencial sugiere unenfoque sistemático, secuencial, para el desarrollo delsoftware que comienza en un nivel de sistemas y progresacon el análisis, diseño, codificación, pruebas y mantenimiento

Page 7: modelos del proceso del software

Análisis de los requisitos del software.Para comprender la naturaleza del (los) programa(s) a construirse, el ingeniero («analista») del software debe comprender el dominio deinformación del software, así como la función requerida, comportamiento, rendimiento de interconexión.

Diseño.se centra en cuatro atributos distintos de programa: estructura de datos, arquitectura de software, representaciones de interfaz y detalleprocedimental (algoritmo).

Generación de código. El diseño se debe traducir en una forma legible por la máquina. El paso de generación de código lleva a cabo esta tarea. Si se lleva a cabo el diseño de una forma detallada, la generación decódigo se realiza mecánicamente.

MODELOS DEL PROCESO DE SOFTWARE

Page 8: modelos del proceso del software

Pruebas. Una vez que se ha generado el código, comienzan las pruebas del programa. detección de errores y asegurar que la entrada definida produce resultados reales de acuerdo con los resultados requeridos.¿Por qué algunas veces falla el modelo lineal?

A menudo es difícil que el cliente exponga explícitamente

todos los requisitos. El modelo lineal secuenciallo requiere y tiene dificultades a la hora deacomodar la incertidumbre natural al comienzo demuchos proyectos.

El cliente debe tener paciencia. Una versión de trabajo

del (los) programa(s) no estará disponible hastaque el proyecto esté muy avanzado.

MODELOS DEL PROCESO DE SOFTWARE

Page 9: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWAREModelo de

Construcción De PrototiposEl paradigma de construcción de prototipos comienza

con la recolección de requisitos. El desarrollador y el cliente encuentran y definen los objetivos globales para el software, identifican los requisitos conocidos y las áreas del esquema en donde es obligatoria más definición.

Page 10: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

El diseño rápido se centra en una representación de aspectos del software que serán visibles para el usuario/cliente (enfoques de entrada y formatos de salida). El diseño rápido lleva a la construcción de un prototipo.En la mayoría de los proyectos, el primer sistema construido apenas se puede utilizar y se tiene que tirar, porque incluso la mejor planificación no es omnisciente como para que esté perfecta la primera vez.

la construcción de prototipos puede ser problemática por las siguientes razones:

El cliente ve una versión de trabajo del software, sin saber que con la prisa de hacer que funcione no se ha tenido en cuenta la calidad del software global o la facilidad de mantenimiento a largo plazo.

Se puede utilizar un sistema operativo o lenguaje de programación inadecuado simplemente porque está disponible

La iteración ocurre cuando el prototipo se pone a punto para satisfacer las necesidades del cliente, permitiendo al mismo tiempo que el desarrollador comprenda mejor lo que se necesita hacer.

Page 11: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Modelo DRA

El Desarrollo Rápido de Aplicaciones (DRA)es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. Es una adaptación a «alta velocidad» del modelo lineal secuencial en el que se logra el desarrollorápido utilizando una construcción basada en componentes.

Page 12: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un «sistema completamente funcional» dentro de períodos cortos de tiempo (por ejemplo: de 60 a 90 días)

Modelado de Gestión. El flujo de información entre las funciones de gestión se modela de forma que responda a las siguientes preguntas: ¿Qué información conduce el proceso de gestión? ¿Qué información se genera? ¿Quién la genera? ¿A dónde va la información? ¿Quién la procesa?

Modelado de datos. Se definen las características (llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos.

Modelado del proceso. Los objetos de datos definidos en la fase de modelado de datos quedan transformados para lograr el flujo de información necesario para implementar una función de gestión. Las descripciones del proceso se crean para añadir, modificar, suprimir, orecuperar un objeto de datos.

Page 13: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Generación de aplicaciones. En lugar de crear software con lenguajes de programación de tercera generación, trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea necesario). Se utilizan herramientas para facilitar la construcción del software.Pruebas y entrega. Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo.

Page 14: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Modelos Evolutivos de Proceso Del SoftwareLos modelos evolutivos son iterativos. Se caracterizan por la forma en que permiten a los ingenieros del software desarrollar versiones cada vez mas completas del software.

El modelo incremental: El modelo incremental combina elementos del modelo lineal secuencial con la filosofíainteractiva de construcción de prototipos. el modelo incremental aplica secuencias lineales de forma escalonada mientras progresa el tiempo en el calendario. Cada secuencia linealproduce un «incremento» del software suplementarias .

Page 15: modelos del proceso del software
Page 16: modelos del proceso del software

Modelo Espiral

es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial.se desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones, la versión incremental podría ser un modelo enpapel o un prototipo. Durante las últimas iteraciones, se producen versiones cada vez más completas del sistema diseñado.

MODELOS DEL PROCESO DE SOFTWARE

Page 17: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

El modelo en espiral se divide en un número de actividadesde marco de trabajo, también llamadas regionesde tareas. La Figura 2.8 representa un modelo

en espiral que contiene seis regiones de tareas:

Comunicación con el cliente- las tareas requeridas para establecer comunicación entre el desarrollador y el cliente. planificación- las tareas requeridas para definir recursos, el tiempo y otra información relacionadas con el proyecto. análisis de riesgos- las tareas requeridas para evaluar riesgos técnicos y de gestión. ingeniería- las tareas requeridas para construir una o más representaciones de la aplicación. construcción y acción- las tareas requeridas para construir, probar, instalar y proporcionar soporte al usuario (por ejemplo: documentación y práctica) evaluación del cliente- las tareas requeridas para obtener la reacción del cliente según la evaluación de las representaciones del software creadas durante la etapa de ingeniería e implementada durante la etapa de instalación.

Page 18: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

El objetivo de esta actividades mostrar los requisitos del

cliente. En un contextoideal, el desarrollador

simplemente pregunta al clientelo que se necesita y el cliente

proporciona detalles suficientespara continuar.

Desgraciadamente, esto raramente

ocurre. En realidad el cliente y el desarrollador

entran en un proceso de negociación, donde el clientepuede ser preguntado para sopesar la funcionalidad,

rendimiento,y otros productos o

características del sistemafrente al coste y al tiempo de

comercialización Modelo espiral WINWIN

Page 19: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

El modelo de desarrollo concurrente

Define una serie de acontecimientos que dispararán transiciones de estado a estado

para cada una de las actividades de la ingeniería del software. Por ejemplo, durante

las primeras etapas del diseño, no se contempla una inconsistencia del modelo de

análisis. Esto genera la corrección del modelo de análisis de sucesos, que disparará la actividad de análisis del estado hecho al estado cambios en espera. El modelo de proceso concurrente se utiliza a menudo

como el paradigma de desarrollo de aplicaciones cliente/ servidor

Page 20: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

La dimensión de componentes se afronta con dos actividades:diseño y realización. La concurrencia se logra dedos formas: (1) las actividades de sistemas y de componentesocurren simultáneamente y pueden modelarse con el enfoque orientado a objetos

(2) una aplicación cliente/servidor típica se implementa con muchos componentes, cada uno de los cuales se pueden diseñar y realizar concurrentemente. En realidad, el modelo de proceso concurrente es aplicable a todo tipo de desarrollo de software y proporciona una imagen exacta del estado actual de un proyecto.

Page 21: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Desarrollo basado en Componentes

Enfatiza la creación de clases que encapsulan tanto los datos como los algoritmos que se utilizan para manejar los datos. Si se diseñan y se implementan adecuadamente, las clases orientadas a objetos son reutilizables por las diferentes aplicaciones y arquitecturas de sistemas basados en computadora.

Page 22: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Modelo de Métodos Formales

El modelo de métodos formales comprende un conjuntode actividades que conducen a la especificación matemática del software de computadora. Los métodosformales permiten que un ingeniero de software especifique, desarrolle y verifique un sistema basado en computadora aplicando una notación rigurosa y matemática.

Sin embargo, se ha habladode una gran preocupación sobre su aplicabilidad en unentorno de gestión:1. El desarrollo de modelos formales actualmente esbastante caro y lleva mucho tiempo.2. Se requiere un estudio detallado porque pocos responsablesdel desarrollo de software tienen los antecedentesnecesarios para aplicar métodos formales.3. Es difícil utilizar los modelos como un mecanismode comunicación con clientes que no tienen muchosconocimientos técnicos.

Page 23: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Técnicas De Cuarta Generación

facilitan al ingeniero del softwarela especificación de algunas características

delsoftware a alto nivel. Luego, la herramienta genera automáticamente el código fuente basándose en la especificación del técnico. Cada vez parece más evidente que cuanto mayor sea el nivel en el que se especifique

el software, más rápido se podrá construir el programa.

Page 24: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

T4G puede incluir todas o algunas de lassiguientes herramientas: lenguajes no

procedimentalesde consulta a bases de datos, generación de

informes,manejo de datos, interacción y definición de

pantallas,generación de códigos, capacidades gráficas de alto

nively capacidades de hoja de cálculo, y generación

automatizada de HTML y lenguajes similares utilizados para la creación de sitios web usando

herramientas de software avanzado.

Page 25: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Tecnologías De Proceso

Las herramientas de tecnología de procesos permitenque una organización de software construya un

modelo automatizado del marco de trabajo común deproceso, conjuntos de tareas y actividades de

protección.

La herramienta de tecnología de proceso tambiénse puede utilizar para coordinar el uso de otras

herramientas de ingeniería del software asistida por computadora adecuadas para una tarea de trabajo

en particular.

Page 26: modelos del proceso del software

MODELOS DEL PROCESO DE SOFTWARE

Producto y Proceso

Si el proceso es débil, el producto final va a sufrir indudablemente. Aunque una dependencia obsesiva en

el proceso también es peligrosa.

La ingeniería del software es una disciplina que integraprocesos, métodos y herramientas para el desarrollodel software de computadora. Se han propuestovarios modelos de procesos para la ingeniería del softwarediferentes, cada uno exhibiendo ventajas e inconvenientes, pero todos tienen una serie de fases genéricas en común.

En Resumen