modelos del proceso del software

44,310 views

Published on

Published in: Education
2 Comments
14 Likes
Statistics
Notes
No Downloads
Views
Total views
44,310
On SlideShare
0
From Embeds
0
Number of Embeds
150
Actions
Shares
0
Downloads
1,018
Comments
2
Likes
14
Embeds 0
No embeds

No notes for slide

modelos del proceso del software

  1. 1. Para resolver los problemas reales de una industria,un ingeniero del software o un equipo de ingenierosdebe incorporar una estrategia de desarrollo queacompañe al proceso, métodos y capas deherramientas.Esta estrategia se llama modelo de proceso oparadigma de ingeniería del software.Se selecciona un modelo de proceso para laingeniería del software según la naturaleza delproyecto y de la aplicación, los métodos y lasherramientas a utilizarse, los controles y entregasque se requieren.
  2. 2. Todo el desarrollo del software se puede caracterizar comobucle de resolución de problemas en el que se encuentrancuatro etapas distintas: DEFINICION DE PROBLEMAS ESTADO DESARROLLO ACTUAL TECNICO INTEGRACION DE SOLUCIONES
  3. 3. ESTADO ACTUAL (STATUS QUO): «representa el estadoactual de sucesos».DEFINICIÓN DE PROBLEMAS:identifica el problema específico a resolverse; elDESARROLLO TÉCNICO :resuelve el problema a través de laaplicación de alguna tecnologíaINTEGRACIÓN DE SOLUCIONES:ofrece los resultados (por ejemplo: documentos,programas, datos, nueva función comercial, nuevoproducto)a los que solicitan la solución en primer lugar.
  4. 4. con independencia del modelo de proceso que seseleccione para un proyecto de software, todas las etapascoexisten simultáneamente en algún nivel de detalle. lascuatro etapas tratadas anteriormente se aplican igualmente alanálisis de una aplicación completa y a la generación de unpequeño segmento de código.
  5. 5. MODELO LINEAL SECUENCIALLlamado 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
  6. 6. Análisis de los requisitos del software.Para comprender la naturaleza del (los) programa(s) a construirse, elingeniero («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 detalle procedimental (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 de código se realiza mecánicamente.
  7. 7. Pruebas. Una vez que se ha generado el código, comienzan las pruebasdel programa. detección de errores y asegurar que la entradadefinida produce resultados reales de acuerdo con losresultados requeridos. ¿Por qué algunas veces falla el modelo lineal? A menudo es difícil que el cliente exponga explícitamentetodos 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 trabajodel (los) programa(s) no estará disponible hastaque el proyecto esté muy avanzado.
  8. 8. El paradigma de construcción de prototipos comienza con larecolección de requisitos. El desarrollador y el clienteencuentran y definen los objetivos globales para el software,identifican los requisitos conocidos y las áreas del esquema endonde es obligatoria más definición.
  9. 9. El diseño rápido se centra en una representación de aspectos delsoftware que serán visibles para el usuario/cliente (enfoques deentrada y formatos de salida). El diseño rápido lleva a la construcciónde un prototipo.En la mayoría de los proyectos, el primer sistema construido apenas sepuede utilizar y se tiene que tirar, porque incluso la mejor planificaciónno es omnisciente como para que esté perfecta la primera vez.La iteración ocurre cuando el prototipo se pone a punto parasatisfacer las necesidades del cliente, permitiendo al mismo tiempoque el desarrollador comprenda mejor lo que se necesita hacer.la construcción de prototipos puede ser problemática por lassiguientes 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óninadecuado simplemente porque está disponible
  10. 10. Modelo DRAEl Desarrollo Rápido de Aplicaciones (DRA)es un modelo de proceso deldesarrollo del software lineal secuencial que enfatiza un ciclo dedesarrollo 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.
  11. 11. Si se comprenden bien los requisitos y se limita el ámbito del proyecto,el proceso DRA permite al equipo de desarrollo crear un «sistemacompletamente funcional» dentro de períodos cortos de tiempo (porejemplo: de 60 a 90 días)Modelado de Gestión. El flujo de información entre las funcionesde gestión se modela de forma que responda a las siguientespreguntas: ¿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 (llamadasatributos) de cada uno de los objetos y las relaciones entre estosobjetos.Modelado del proceso. Los objetos de datos definidos en lafase de modelado de datos quedan transformados para lograr el flujode información necesario para implementar una función de gestión. Lasdescripciones del proceso se crean para añadir, modificar, suprimir, orecuperar un objeto de datos.
  12. 12. Generación de aplicaciones. En lugar de crear software conlenguajes de programación de tercera generación, trabaja para volvera utilizar componentes de programas ya existentes (cuando es posible)o a crear componentes reutilizables (cuando sea necesario). Se utilizanherramientas 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 todoslos componentes nuevos y se deben ejercitar todas las interfaces afondo.
  13. 13. Modelos Evolutivos de Proceso Del Software Los 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 combinaelementos del modelo lineal secuencial con la filosofíainteractiva de construcción de prototipos. el modelo incrementalaplica secuencias lineales de forma escalonada mientrasprogresa el tiempo en el calendario. Cada secuencia linealproduce un «incremento» del software suplementarias .
  14. 14. Modelo Espirales un modelo de proceso de software evolutivo que conjuga lanaturaleza iterativa de construcción de prototipos con los aspectoscontrolados y sistemáticos del modelo lineal secuencial.se desarrolla en una serie de versiones incrementales. Durante lasprimeras iteraciones, la versión incremental podría ser un modelo enpapel o un prototipo. Durante las últimas iteraciones, se producenversiones cada vez más completas del sistema diseñado.
  15. 15. El modelo en espiral se divide en un número de actividades de marco de trabajo, también llamadas regiones de 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 establecercomunicación entre el desarrollador y el cliente.planificación- las tareas requeridas para definir recursos, el tiempo yotra información relacionadas con el proyecto.análisis de riesgos- las tareas requeridas para evaluar riesgos técnicos yde gestión.ingeniería- las tareas requeridas para construir una o másrepresentaciones de la aplicación.construcción y acción- las tareas requeridas para construir, probar,instalar y proporcionar soporte al usuario (por ejemplo: documentacióny práctica)evaluación del cliente- las tareas requeridas para obtener la reaccióndel cliente según la evaluación de las representaciones del softwarecreadas durante la etapa de ingeniería e implementada durante laetapa de instalación.
  16. 16. El objetivo de esta actividad es mostrar los requisitos del cliente. En un contexto ideal, el desarrollador simplemente pregunta al cliente lo que se necesita y el clienteproporciona detalles suficientes para continuar. Desgraciadamente, esto raramenteocurre. En realidad el cliente y el desarrollador entran en un proceso de negociación, donde el cliente puede ser preguntado para sopesar la funcionalidad, rendimiento, y otros productos o características del sistema frente al coste y al tiempo de comercialización Modelo espiral WINWIN
  17. 17. 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 contemplauna 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
  18. 18. La dimensión de componentes se afronta con dos actividades: diseño y realización. La concurrencia se logra de dos formas: (1) las actividades de sistemas y de componentes ocurren 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 softwarey proporciona una imagen exacta del estado actual de un proyecto.
  19. 19. Desarrollo basado en ComponentesEnfatiza la creación de clases que encapsulan tanto los datoscomo los algoritmos que se utilizan para manejar los datos. Si sediseñan y se implementan adecuadamente, las clases orientadas aobjetos son reutilizables por las diferentes aplicaciones yarquitecturas de sistemas basados en computadora.
  20. 20. El modelo de métodos formales comprende un conjuntode actividades que conducen a la especificación matemática del software decomputadora. Los métodosformales permiten que un ingeniero de software especifique, desarrolle yverifique un sistema basado en computadora aplicando una notación rigurosa ymatemá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.
  21. 21. Técnicas De Cuarta Generación facilitan al ingeniero del software la especificación de algunas características del software 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 seespecifique el software, más rápido se podrá construir el programa.
  22. 22. T4G puede incluir todas o algunas de las siguientes herramientas: lenguajes no procedimentales de 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 deHTML y lenguajes similares utilizados para la creación de sitios web usando herramientas de software avanzado.
  23. 23. Tecnologías De Proceso Las herramientas de tecnología de procesos permiten que 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én se 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.
  24. 24. Producto y Proceso Si el proceso es débil, el producto final va a sufririndudablemente. Aunque una dependencia obsesiva en el proceso también es peligrosa.En ResumenLa 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 einconvenientes, pero todos tienen una serie de fasesgenéricas en común.

×