Análisis de Sistemas

1,347 views
1,269 views

Published on

Metodologías de Desarrollo de Software

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,347
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
43
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Análisis de Sistemas

  1. 1. ANÁLISIS DE SISTEMASIng. Jaime Steven Ramírez Flor
  2. 2. ANÁLISIS Es la distinción y separación completa de laspartes de un todo hasta llegar a conocer susprincipios o elementos, sus característicasrepresentativas, así como susinterrelaciones.
  3. 3. SISTEMAS Un sistema es un conjunto de elementosinterrelacionados o componentesentrelazados entre si para lograr un objetivocomún entre los elementos del sistema.
  4. 4. ¿EN QUÉ CONSISTE EL ANÁLISIS DE SISTEMAS?
  5. 5. ANÁLISIS DE SISTEMAS Es una etapa de la construcción de unsistema informático, que consiste en relevarla información actual y proponer los rasgosgenerales de la solución futura. Es la etapa posterior a la obtención derequerimientos; y, anterior al diseño delsistema. Es una fase de la Ingeniería del Software.Forma parte del ciclo de vida del software.
  6. 6. LO QUE NO ES EL ANÁLISIS DE SISTEMASEfectuar diseños que no cumplan con los requisitos de losanálisis de sistema como: Observar un sistema sin tener en cuenta todas sus partes ocomponentes. Considerar el análisis sin evaluar todos los procedimientos. Evaluar conceptos sin tener en consideración la uniformidadde 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óntemporal o definitiva. Divagar en una definición del sistema que no forme elfundamento de todo el trabajo de Ingeniería.
  7. 7. CICLO DE VIDA DEL SOFTWARE
  8. 8. INGENIERÍA DEL SOFTWARE (I.S.) Bauer (1972): “Ingeniería de software tratadel establecimiento de los principios ymétodos de la ingeniería a fin de obtenersoftware de modo rentable, que sea fiable ytrabaje en máquinas reales”. Zelkovitz (1978): “Ingeniería de software esel estudio de los principios y metodologíaspara el desarrollo y mantenimiento desistemas software”.
  9. 9. INGENIERÍA DEL SOFTWARE (I.S.) Bohem (1976): “Ingeniería de software es laaplicación práctica del conocimientocientífico al diseño y construcción deprogramas de computadora y a ladocumentación asociada requerida paradesarrollar, operar y mantenerlos. Se conocetambién como desarrollo de software oproducción de software”.
  10. 10. DEFINICIÓN DE LA I.S.“Ingeniería de Software es la aplicación deun enfoque sistemático, disciplinado ycuantificable al desarrollo, operación ymantenimiento de software, y el estudio deestos enfoques”
  11. 11. ETAPAS DEL PROCESO DE LA I.S.
  12. 12. ETAPAS DEL PROCESO DE LA I.S. La ingeniería de software requiere llevar acabo numerosas tareas agrupadas enetapas. Al conjunto de estas etapas se ledenomina ciclo de vida. Las etapas comunes a casi todos losmodelos de ciclo de vida son las siguientes:1. Planificación.2. Implementación, pruebas y documentación.3. Despliegue y mantenimiento.
  13. 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. 14. MODELOS DE DESARROLLO DE SOFTWARELa I.S. dispone de varios modelos, paradigmas yfilosofías de desarrollo, en los cuales se apoya para laconstrucció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 eIncremental RAD (Rapid Application Development) RUP (Proceso Unificado de Rational)
  15. 15. MODELO EN CASCADA
  16. 16. MODELO EN CASCADAEs el enfoquemetodológico queordena rigurosamentelas etapas delproceso para eldesarrollo desoftware, de tal formaque el inicio de cadaetapa debe esperar ala finalización de laetapa anterior.
  17. 17. MODELO EN CASCADA: DESVENTAJAS Cualquier error de diseño detectado en laetapa de prueba conduce necesariamente alrediseño y nueva programación del códigoafectado, aumentando los costos deldesarrollo. El modelo en cascada sugiere el esfuerzonecesario para introducir un cambio en lasfases más avanzadas de un proyecto.
  18. 18. MODELO EN CASCADA: DESVENTAJAS Un proyecto rara vez sigue una secuencialineal, esto crea una mala implementacióndel modelo, lo cual hace que lo lleve alfracaso. El proceso de creación del software tardamucho tiempo ya que debe pasar por elproceso de prueba y hasta que el softwareno esté completo no se opera. Esto es labase para que funcione bien.
  19. 19. MODELO DE PROTOTIPOS
  20. 20. MODELO DE PROTOTIPOS Pertenece a los modelos de desarrolloevolutivo. El prototipo debe ser construido enpoco tiempo, usando los programas adecuadosy no se debe utilizar muchos recursos. El diseño rápido se centra en unarepresentación de aquellos aspectos delsoftware que serán visibles para el cliente o elusuario final. Este diseño conduce a laconstrucción de un prototipo, el cual esevaluado por el cliente para unaretroalimentación; gracias a ésta se refinan losrequisitos del software que se desarrollará.
  21. 21. MODELO DE PROTOTIPOS La interacción ocurre cuando el prototipo seajusta para satisfacer las necesidades delcliente. Esto permite que al mismo tiempo eldesarrollador entienda mejor lo que se debehacer y el cliente vea resultados a cortoplazo.
  22. 22. MODELO DE PROTOTIPOS: VENTAJAS Este modelo es útil cuando el cliente conocelos objetivos generales para el software,pero no identifica los requisitos detallados deentrada, procesamiento o salida. Ofrece un mejor enfoque cuando elresponsable del desarrollo del software estáinseguro de la eficacia de un algoritmo, de laadaptabilidad de un sistema operativo o dela forma que debería tomar la interacciónhumano-máquina.
  23. 23. MODELO DE PROTOTIPOS: DESVENTAJAS El usuario tiende a crearse unasexpectativas cuando ve el prototipo de caraal sistema final. A causa de la intención de crear un prototipode forma rápida, se suelen desatenderaspectos importantes, tales como la calidady el mantenimiento a largo plazo, lo queobliga en la mayor parte de los casos areconstruirlo una vez que el prototipo hacumplido su función.
  24. 24. MODELO DE PROTOTIPOS: DESVENTAJAS En aras de desarrollar rápidamente elprototipo, el desarrollador suele tomaralgunas decisiones de implementación pococonvenientes (por ejemplo, elegir unlenguaje de programación incorrecto porqueproporcione un desarrollo más rápido).
  25. 25. DESARROLLO EN ESPIRAL
  26. 26. DESARROLLO EN ESPIRALLas actividades de este modelo se conformanen una espiral, en la que cada bucle oiteración representa un conjunto deactividades.Las actividades no están fijadas a ningunaprioridad, sino que las siguientes se eligen enfunción del análisis de riesgo, comenzandopor el bucle interior.
  27. 27. DESARROLLO EN ESPIRAL
  28. 28. DESARROLLO EN ESPIRAL: VENTAJASEl análisis del riesgo se hace de formaexplícita y clara: Reduce riesgos del proyecto. Incorpora objetivos de calidad. Integra el desarrollo con elmantenimiento, etc.Además es posible tener en cuenta mejoras ynuevos requerimientos sin romper con lametodología, ya que este ciclo de vida no esrígido ni estático.
  29. 29. DESARROLLO EN ESPIRAL: DESVENTAJAS Genera mucho tiempo en el desarrollo delsistema. Modelo costoso. Requiere experiencia en la identificación deriesgos.
  30. 30. DESARROLLO POR ETAPAS
  31. 31. DESARROLLO POR ETAPASEl modelo de desarrollo de software por etapases similar al Modelo de prototipos ya que semuestra al cliente el software en diferentesestados sucesivos de desarrollo, se diferenciaen que las especificaciones no son conocidasen detalle al inicio del proyecto y por tanto sevan desarrollando simultáneamente con lasdiferentes versiones del código.
  32. 32. DESARROLLO POR ETAPASPueden distinguirse las siguientes fases: Especificación conceptual Análisis de requisitos Diseño inicial Diseño detallado, codificación, depuración yliberaciónEstas diferentes fases se van repitiendo encada etapa del diseño.
  33. 33. DESARROLLO ITERATIVO Y CRECIENTE OITERATIVO E INCREMENTAL
  34. 34. DESARROLLO ITERATIVO Y CRECIENTE Es un proceso de desarrollo de software,creado en respuesta a las debilidades delmodelo tradicional de cascada. El desarrollo incremental e iterativo estambién una parte esencial de un tipo deprogramación conocido como eXtremeProgramming (XP) y los demás frameworksde desarrollo rápido de software.
  35. 35. DESARROLLO ITERATIVO Y CRECIENTE La idea principal detrás de mejoramientoiterativo, es desarrollar un sistema deprogramas de manera incremental,permitiéndole al desarrollador sacar ventaja delo que se ha aprendido a lo largo del desarrolloanterior, incrementando versiones entregablesdel sistema. Los pasos claves en el proceso son comenzarcon una implementación simple de losrequerimientos del sistema, e iterativamentemejorar la secuencia evolutiva de versioneshasta que el sistema completo estéimplementado.
  36. 36. DESARROLLO ITERATIVO Y CRECIENTEEn cada iteración, se realizan cambios en eldiseño y se agregan nuevas funcionalidades ycapacidades al sistema.El proceso en sí mismo consiste de: Etapa de inicialización. Etapa de iteración. Lista de control de proyecto.
  37. 37. DESARROLLO ITERATIVO Y CRECIENTE: DESVENTAJAS Requiere de un cliente involucrado durantetodo el curso del proyecto. Hay clientes quesimplemente no estarán dispuestos a invertirel tiempo necesario. Infunde responsabilidad en el equipo dedesarrollo al trabajar directamente con elcliente, requiriendo de personalprofesionales capacitado.
  38. 38. DESARROLLO ITERATIVO Y CRECIENTE: DESVENTAJAS Sufre fuertes penalizaciones en proyectos enlos cuales los requerimientos estánpreviamente definidos, o para proyectos"todo/nada" en los cuales se requiere que secompleten en un 100% el producto para serimplementado. Los costos pueden ser superiores a los quepodamos usar en nuestros propios recursos
  39. 39. DESARROLLO RÁPIDO DE APLICACIONESRAD
  40. 40. DESARROLLO RÁPIDO DE APLICACIONES (RAD) Es un proceso de desarrollo de software,desarrollado inicialmente por James Maslowen 1980. El método RAD comprende el desarrollointeractivo, la construcción de prototipos y eluso de utilidades CASE (Computer AidedSoftware Engineering o Ingeniería deSoftware Asistido por Computadora).
  41. 41. DESARROLLO RÁPIDO DE APLICACIONES (RAD) Hoy en día se suele utilizar para referirnos aldesarrollo rápido de interfaces gráficas deusuario, o entornos de desarrollo integradocompletos. Algunas de las plataformas más conocidasson Visual Studio, Delphi, FoxPro, entreotros.
  42. 42. DESARROLLO UNIFICADO RACIONALRUP
  43. 43. DESARROLLO UNIFICADO RACIONAL (RUP) Es un proceso de desarrollo de softwaredesarrollado por la empresa RationalSoftware, actualmente propiedad de IBM.Junto con el Lenguaje Unificado deModelado (UML), constituye la metodologíaestándar más utilizada para el análisis,diseño, implementación y documentación desistemas orientados a objetos.
  44. 44. DESARROLLO UNIFICADO RACIONAL (RUP) El RUP no es unsistema con pasosfirmementeestablecidos, sinoun conjunto demetodologíasadaptables alcontexto ynecesidades decadaorganización.
  45. 45. DESARROLLO UNIFICADO RACIONAL (RUP):PRINCIPALES CARACTERÍSTICAS Forma disciplinada de asignar tareas yresponsabilidades (quién hace qué, cuándo y cómo). Pretende implementar las mejores prácticas enIngenierí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. 46. DESARROLLO UNIFICADO RACIONAL (RUP):PRINCIPIOSComprende tres principios claves: Dirigido por los Casos de Uso: losrequerimientos están enfocado a dar valor alcliente y que el proceso debe garantizar quetodo el desarrollo, pruebas, planeación,documentación, etc., está orientado a cubrirestas expectativas del cliente y asegurar quelos requerimientos de valor se ponen enproducción.
  47. 47. DESARROLLO UNIFICADO RACIONAL (RUP):PRINCIPIOS Centrado en la Arquitectura: hay unénfasis a diseñar una arquitectura decalidad, y es la arquitectura también la queguía la forma cómo se debe planear y hacerel desarrollo. Iterativo e Incremental: el proyecto sedivide en varios ciclos de vida (llamadasiteraciones) que deben dar como resultadoun ejecutable.
  48. 48. DESARROLLO ÁGIL DE SOFTWARE
  49. 49. DESARROLLO ÁGIL DE SOFTWARE Son métodos de ingeniería del softwarebasados en el desarrollo iterativo eincremental, donde los requerimientos ysoluciones evolucionan mediante lacolaboración de grupos auto organizados ymultidisciplinarios. Existen muchos métodos de desarrollo ágil;la mayoría minimiza riesgos desarrollandosoftware en lapsos cortos.
  50. 50. DESARROLLO ÁGIL DE SOFTWARE El softwaredesarrollado enuna unidad detiempo es llamadouna iteración, lacual debe durar deuna a cuatrosemanas.
  51. 51. DESARROLLO ÁGIL DE SOFTWAREAlgunos 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. 52. FORMACIÓN DE EQUIPOS DE TRABAJOPRÁCTICA

×