Anzeige
Anzeige

Más contenido relacionado

Anzeige
Anzeige

Análisis de Sistemas

  1. ANÁLISIS DE SISTEMAS Ing. Jaime Steven Ramírez Flor
  2. ANÁLISIS  Es la distinción y separación completa de las partes de un todo hasta llegar a conocer sus principios o elementos, sus características representativas, así como sus interrelaciones.
  3. SISTEMAS  Un sistema es un conjunto de elementos interrelacionados o componentes entrelazados entre si para lograr un objetivo común entre los elementos del sistema.
  4. ¿EN QUÉ CONSISTE EL ANÁLISIS DE SISTEMAS?
  5. ANÁLISIS DE SISTEMAS  Es una etapa de la construcción de un sistema informático, que consiste en relevar la información actual y proponer los rasgos generales de la solución futura.  Es la etapa posterior a la obtención de requerimientos; y, anterior al diseño del sistema.  Es una fase de la Ingeniería del Software. Forma parte del ciclo de vida del software.
  6. LO QUE NO ES EL ANÁLISIS DE SISTEMAS Efectuar diseños que no cumplan con los requisitos de los análisis de sistema como:  Observar un sistema sin tener en cuenta todas sus partes o componentes.  Considerar el análisis sin evaluar todos los procedimientos.  Evaluar conceptos sin tener en consideración la uniformidad de los procesos y no establecer su viabilidad.  Olvidarse de realizar un análisis técnico y económico.  No establecer restricciones de presupuestos y planificación temporal o definitiva.  Divagar en una definición del sistema que no forme el fundamento de todo el trabajo de Ingeniería.
  7. CICLO DE VIDA DEL SOFTWARE
  8. INGENIERÍA DEL SOFTWARE (I.S.)  Bauer (1972): “Ingeniería de software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales”.  Zelkovitz (1978): “Ingeniería de software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software”.
  9. INGENIERÍA DEL SOFTWARE (I.S.)  Bohem (1976): “Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como desarrollo de software o producción de software”.
  10. DEFINICIÓN DE LA I.S. “Ingeniería de Software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de estos enfoques”
  11. ETAPAS DEL PROCESO DE LA I.S.
  12. ETAPAS DEL PROCESO DE LA I.S.  La ingeniería de software requiere llevar a cabo numerosas tareas agrupadas en etapas. Al conjunto de estas etapas se le denomina ciclo de vida.  Las etapas comunes a casi todos los modelos de ciclo de vida son las siguientes: 1. Planificación. 2. Implementación, pruebas y documentación. 3. Despliegue y mantenimiento.
  13. ETAPAS DEL PROCESO DE LA I.S.  (1) Análisis de requisitos  (1) Especificación  (1) Arquitectura  (2) Programación  (2) Prueba  (2) Documentación  (3) Mantenimiento
  14. MODELOS DE DESARROLLO DE SOFTWARE La I.S. dispone de varios modelos, paradigmas y filosofías de desarrollo, en los cuales se apoya para la construcción del software, entre ellos se puede citar:  Modelo en cascada  Modelo de prototipos  Modelo en espiral  Desarrollo por etapas  Desarrollo iterativo y creciente o Iterativo e Incremental  RAD (Rapid Application Development)  RUP (Proceso Unificado de Rational)
  15. MODELO EN CASCADA
  16. MODELO EN CASCADA Es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior.
  17. MODELO EN CASCADA: DESVENTAJAS  Cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo.  El modelo en cascada sugiere el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto.
  18. MODELO EN CASCADA: DESVENTAJAS  Un proyecto rara vez sigue una secuencia lineal, esto crea una mala implementación del modelo, lo cual hace que lo lleve al fracaso.  El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera. Esto es la base para que funcione bien.
  19. MODELO DE PROTOTIPOS
  20. MODELO DE PROTOTIPOS  Pertenece a los modelos de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos.  El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final. Este diseño conduce a la construcción de un prototipo, el cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará.
  21. MODELO DE PROTOTIPOS  La interacción ocurre cuando el prototipo se ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo.
  22. MODELO DE PROTOTIPOS: VENTAJAS  Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.  Ofrece un mejor enfoque cuando el responsable del desarrollo del software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción humano-máquina.
  23. MODELO DE PROTOTIPOS: DESVENTAJAS  El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final.  A causa de la intención de crear un prototipo de forma rápida, se suelen desatender aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido su función.
  24. MODELO DE PROTOTIPOS: DESVENTAJAS  En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas decisiones de implementación poco convenientes (por ejemplo, elegir un lenguaje de programación incorrecto porque proporcione un desarrollo más rápido).
  25. DESARROLLO EN ESPIRAL
  26. DESARROLLO EN ESPIRAL Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
  27. DESARROLLO EN ESPIRAL
  28. DESARROLLO EN ESPIRAL: VENTAJAS El análisis del riesgo se hace de forma explícita y clara:  Reduce riesgos del proyecto.  Incorpora objetivos de calidad.  Integra el desarrollo con el mantenimiento, etc. Además es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la metodología, ya que este ciclo de vida no es rígido ni estático.
  29. DESARROLLO EN ESPIRAL: DESVENTAJAS  Genera mucho tiempo en el desarrollo del sistema.  Modelo costoso.  Requiere experiencia en la identificación de riesgos.
  30. DESARROLLO POR ETAPAS
  31. DESARROLLO POR ETAPAS El modelo de desarrollo de software por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
  32. DESARROLLO POR ETAPAS Pueden distinguirse las siguientes fases:  Especificación conceptual  Análisis de requisitos  Diseño inicial  Diseño detallado, codificación, depuración y liberación Estas diferentes fases se van repitiendo en cada etapa del diseño.
  33. DESARROLLO ITERATIVO Y CRECIENTE O ITERATIVO E INCREMENTAL
  34. DESARROLLO ITERATIVO Y CRECIENTE  Es un proceso de desarrollo de software, creado en respuesta a las debilidades del modelo tradicional de cascada.  El desarrollo incremental e iterativo es también una parte esencial de un tipo de programación conocido como eXtreme Programming (XP) y los demás frameworks de desarrollo rápido de software.
  35. DESARROLLO ITERATIVO Y CRECIENTE  La idea principal detrás de mejoramiento iterativo, es desarrollar un sistema de programas de manera incremental, permitiéndole al desarrollador sacar ventaja de lo que se ha aprendido a lo largo del desarrollo anterior, incrementando versiones entregables del sistema.  Los pasos claves en el proceso son comenzar con una implementación simple de los requerimientos del sistema, e iterativamente mejorar la secuencia evolutiva de versiones hasta que el sistema completo esté implementado.
  36. DESARROLLO ITERATIVO Y CRECIENTE En cada iteración, se realizan cambios en el diseño y se agregan nuevas funcionalidades y capacidades al sistema. El proceso en sí mismo consiste de:  Etapa de inicialización.  Etapa de iteración.  Lista de control de proyecto.
  37. DESARROLLO ITERATIVO Y CRECIENTE: DESVENTAJAS  Requiere de un cliente involucrado durante todo el curso del proyecto. Hay clientes que simplemente no estarán dispuestos a invertir el tiempo necesario.  Infunde responsabilidad en el equipo de desarrollo al trabajar directamente con el cliente, requiriendo de personal profesionales capacitado.
  38. DESARROLLO ITERATIVO Y CRECIENTE: DESVENTAJAS  Sufre fuertes penalizaciones en proyectos en los cuales los requerimientos están previamente definidos, o para proyectos "todo/nada" en los cuales se requiere que se completen en un 100% el producto para ser implementado.  Los costos pueden ser superiores a los que podamos usar en nuestros propios recursos
  39. DESARROLLO RÁPIDO DE APLICACIONES RAD
  40. DESARROLLO RÁPIDO DE APLICACIONES (RAD)  Es un proceso de desarrollo de software, desarrollado inicialmente por James Maslow en 1980.  El método RAD comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades CASE (Computer Aided Software Engineering o Ingeniería de Software Asistido por Computadora).
  41. DESARROLLO RÁPIDO DE APLICACIONES (RAD)  Hoy en día se suele utilizar para referirnos al desarrollo rápido de interfaces gráficas de usuario, o entornos de desarrollo integrado completos.  Algunas de las plataformas más conocidas son Visual Studio, Delphi, FoxPro, entre otros.
  42. DESARROLLO UNIFICADO RACIONAL RUP
  43. DESARROLLO UNIFICADO RACIONAL (RUP)  Es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos.
  44. DESARROLLO UNIFICADO RACIONAL (RUP)  El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
  45. DESARROLLO UNIFICADO RACIONAL (RUP): PRINCIPALES CARACTERÍSTICAS  Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo).  Pretende implementar las mejores prácticas en Ingeniería de Software.  Desarrollo iterativo.  Administración de requisitos.  Uso de arquitectura basada en componentes.  Control de cambios.  Modelado visual del software.  Verificación de la calidad del software.
  46. DESARROLLO UNIFICADO RACIONAL (RUP): PRINCIPIOS Comprende tres principios claves:  Dirigido por los Casos de Uso: los requerimientos están enfocado a dar valor al cliente y que el proceso debe garantizar que todo el desarrollo, pruebas, planeación, documentación, etc., está orientado a cubrir estas expectativas del cliente y asegurar que los requerimientos de valor se ponen en producción.
  47. DESARROLLO UNIFICADO RACIONAL (RUP): PRINCIPIOS  Centrado en la Arquitectura: hay un énfasis a diseñar una arquitectura de calidad, y es la arquitectura también la que guía la forma cómo se debe planear y hacer el desarrollo.  Iterativo e Incremental: el proyecto se divide en varios ciclos de vida (llamadas iteraciones) que deben dar como resultado un ejecutable.
  48. DESARROLLO ÁGIL DE SOFTWARE
  49. DESARROLLO ÁGIL DE SOFTWARE  Son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.  Existen muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando software en lapsos cortos.
  50. DESARROLLO ÁGIL DE SOFTWARE  El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas.
  51. DESARROLLO ÁGIL DE SOFTWARE Algunos métodos ágiles de desarrollo de software:  Adaptive Software Development (ASD).  Agile Unified Process (AUP).  Crystal_Clear.  Essential Unified Process (EssUP).  Feature Driven Development (FDD).  Lean Software Development (LSD).  Kanban.  Open Unified Process (OpenUP).  Programación Extrema (XP).  Método de desarrollo de sistemas dinámicos (DSDM).  Scrum.  G300.
  52. FORMACIÓN DE EQUIPOS DE TRABAJO PRÁCTICA
Anzeige