Ingeniería de Software - Resumen de temas
Enviado por Sandra75 • 27 de Octubre de 2017 • 2.188 Palabras (9 Páginas) • 509 Visitas
...
El principal objetivo de BPMN es proporcionar una notación estándar que sea fácilmente legible y entendible por parte de todos los involucrados e interesados del negocio.
-
Metodologías de Desarrollo
Metodologías Clásicas
Cascada
En un modelo en cascada, un proyecto progresa a través de una secuencia ordenada de pasos partiendo de la especificación de requerimientos hasta el mantenimiento del mismo. [3]
Incremental
El modelo incremental fue propuesto por Harlan Mills en el año 1980. Surgió el enfoque incremental de desarrollo cómo una forma de reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema. Este modelo se conoce también bajo las siguientes denominaciones:
- Método de las comparaciones limitadas sucesivas.
- Ciencia de salir del paso.
- Método de atacar el problema por ramas. [4]
Evolutiva
Esta metodología consiste en estudiar muy a fondo todos los requerimientos del proyecto que se va a ejecutar.
Una vez teniendo claro estos requerimientos se procede a realizar el proyecto. Cuando está listo, es el cliente quien indica a los desarrolladores todo aquello que falta al sistema.
Espiral
El modelo espiral en el desarrollo del software es un modelo meta del ciclo de vida del software donde el esfuerzo del desarrollo es iterativo, tan pronto culmina un esfuerzo del desarrollo por ahí mismo comienza otro; además en cada ejecución del desarrollo se sigue cuatro pasos principales:
- Determinar o fijar los objetivos
- Análisis del riesgo
- Desarrollar, verificar y validar
- Planificar [5]
Prototipos
El modelo de prototipos se basa en la creación del proyecto en prototipos más pequeños, que serán entregados al cliente y evaluados por él mismo para su retroalimentación.
Desarrollo basado en componentes
El desarrollo de software basado en componentes permite reutilizar piezas de código pre-elaborado que permiten realizar diversas tareas, conllevando a diversos beneficios como las mejoras a la calidad, la reducción del ciclo de desarrollo y el mayor retorno sobre la inversión.
Otras Metodologías
Ganar-Ganar
En los modelos clásicos surge en la comunicación con los clientes para determinar los requisitos, en este modelo se basa en la negociación entre el cliente y el desarrollador, se negocia coste frente a funcionalidades, rendimiento, calidad, o simplemente el gestor del proyecto le pregunta al cliente qué necesita y él proporciona la información para continuar.
Esto se refiere que a la obtención de requisitos requieren de una negociación, que tiene éxito
cuando ambas partes ganan. [6]
Proceso unificado
Este método provee un enfoque disciplinado en la asignación de tareas y responsabilidades dentro de una organización de desarrollo. Su meta es asegurar la producción de software de muy alta calidad que satisfaga las necesidades de los usuarios finales, dentro de un calendario y presupuesto predecible.
Ingeniería Web
La ingeniería web es muy parecida a la ingeniería de software, ya que en ambas se aplican metodologías sistemáticas, disciplinadas y cuantificables para el desarrollo, pero la ingeniería web se aplica para desarrollo de las aplicaciones de la World Wide Web. [7]
Metodologías Ágiles
Las metodologías ágiles son una serie de técnicas para la gestión de proyectos que han surgido como contraposición a los métodos clásicos de gestión. Aunque surgieron en el ámbito del desarrollo de software, también han sido exportadas a otro tipo de proyectos.
Todas las metodologías que se consideran ágiles cumplen con el manifiesto ágil que no es más que una serie de principios que se agrupan en 4 valores:
- Los individuos y su interacción, por encima de los procesos y las herramientas.
- El software que funciona, frente a la documentación exhaustiva.
- La colaboración con el cliente, por encima de la negociación contractual.
- La respuesta al cambio, por encima del seguimiento de un plan.
Reingeniería
La reingeniería de procesos es un análisis y rediseño radical de economía y la re-concepción fundamental de los procesos de negocios para lograr mejoras dramáticas en medidas como en costos, calidad, servicio y rapidez.
-
Arquitecturas de Software
Descomposición Modular
El diseño modular propone dividir el sistema en partes diferenciadas y definir sus interfaces.
Sus ventajas: Claridad, reducción de costos y re-utilización.
Los pasos a seguir son:
- Identificar los módulos
- Describir cada módulo
- Describir las relaciones entre cada módulo. [8]
Patrones de Diseño
Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable,
...