Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
METODOLOGIAS CLASICAS EN EL DESARROLLO DE SOFTWARE Fundamentos de ingeniería de software 1. 2. 3. 4. 5. EDUARDO RAMOS VAZQUEZ FLORINDA HERNANDEZ ESPINOZA OSVALDO RINCON CAMPOS MONSERRAT MARTINEZ SANCHEZ AXEL ADAN RODRIGEZ HERNANDEZ 6. 7. 8. KARLA JANETTE PINILLOS GARCIA JOSE DONALDO CRUZ VAZQUEZ BRENDA VIANEY ORTIZ BLANCO Desarrollar el software Desarrollar el software Desarrollar el software ciertamente no es una tarea fácil. Después de esteciertamente no es una tarea fácil. Después de esteciertamente no es una tarea fácil. Después de este problema, surgió una alternativa hace mucho tiempo: Metodología. Laproblema, surgió una alternativa hace mucho tiempo: Metodología. Laproblema, surgió una alternativa hace mucho tiempo: Metodología. La metodología impone un proceso disciplinado en el desarrollo de softwaremetodología impone un proceso disciplinado en el desarrollo de softwaremetodología impone un proceso disciplinado en el desarrollo de software para hacer que el software sea más predecible y eficiente. Para ello,para hacer que el software sea más predecible y eficiente. Para ello,para hacer que el software sea más predecible y eficiente. Para ello, desarrollaron un proceso detallado con un enfoque en la planificacióndesarrollaron un proceso detallado con un enfoque en la planificacióndesarrollaron un proceso detallado con un enfoque en la planificación IinIinIinspirado en otras disciplinas de la ingeniería.spirado en otras disciplinas de la ingeniería.spirado en otras disciplinas de la ingeniería. Las metodologías de ingeniería existen desde hace mucho tiempoLas metodologías de ingeniería existen desde hace mucho tiempoLas metodologías de ingeniería existen desde hace mucho tiempo No se distinguieron correctamente para ser muy exitosos. Todavía quedanNo se distinguieron correctamente para ser muy exitosos. Todavía quedanNo se distinguieron correctamente para ser muy exitosos. Todavía quedan menos de por su popularidad. La crítica más común a estas metodologíasmenos de por su popularidad. La crítica más común a estas metodologíasmenos de por su popularidad. La crítica más común a estas metodologías es que son burocráticas. Hay tanto trabajo por hacer para seguir laes que son burocráticas. Hay tanto trabajo por hacer para seguir laes que son burocráticas. Hay tanto trabajo por hacer para seguir la metodología que todo el desarrollo se ralentizametodología que todo el desarrollo se ralentizametodología que todo el desarrollo se ralentiza... INTRODUCCIÓN CASCADA ¿QUE ES EL MODELO CASCADA? Es un procedimiento lineal que se caracteriza por dividir los procesos de desarrollo en sucesivas fases de proyecto. Al contrario que en los modelos irelativos, cada una de estas fases se ejecutan tan solo una vez. Los resultados de cada una de las fases sirven como hipotesis de partida para la siguiente. El waterfall model se utiliza, especialmente, en el desarrollo de software. ¿COMO FUNCIONA? l El desarrollo del modelo se atribuye al teorico de la informatica winston w.Royce. El teorico presenta un modelo iterativo incremental en el que cada una de las fases se basa en la anterior y verifica los resultados de esta. Royce propone un modelo compuesto por siete fases que se ha de ejecutar en diversas vueltas: Requisitos del sistema Requisitos de software Analisis Diseño Implementacion Prueba Servicio FASES DEL DEARROLLO DE CASCADA En este modelo, las diferentes fases de un proceso de desarrollo se suceden una detrás de otra como en una cascada. Cada una de las fases concluye con un resultado provisional (hito) como, por ejemplo, un catálogo de requisitos en forma de pliego de condiciones, la especificación de una arquitectura de software o una aplicación a nivel alfa o beta. ANALISIS Todo proyecto de software comienza con una fase de análisis que incluye un estudio de viabilidad y una definición de los requisitos. En el estudio de viabilidad se evalúan los costes, la rentabilidad y la factibilidad del proyecto de software. El estudio de viabilidad da como resultado un pliego de condiciones (una descripción general de los requisitos), un plan y una estimación financiera del proyecto, así como una propuesta para el cliente, si fuera necesario. A continuación, se realiza una definición detallada de los requisitos, incluyendo un análisis de la situación de salida y un concepto. Mientras que los análisis de salida se encargan de describir la problemática en sí, el concepto ha de definir qué funciones y características debe ofrecer el producto de software para cumplir con las correspondientes exigencias. DISEÑO La fase de diseño sirve para formular una solución específica en base a las exigencias, tareas y estrategias definidas en la fase anterior. En esta fase, los desarrolladores de software se encargan de diseñar la arquitectura de software, así como un plan de diseño detallado del mismo, centrándose en componentes concretos, como interfaces, entornos de trabajo o bibliotecas. La fase de diseño da como resultado un borrador preliminar con el plan de diseño del software, así como planes de prueba para los diferentes componentes. IMPLEMENTACION La arquitectura de software concebida en la fase de diseño se ejecuta en la fase de implementación, en la que se incluye la programación del software, la búsqueda de errores y las pruebas unitarias. En la fase de implementación, el proyecto de software se traduce al correspondiente lenguaje de programación. Los diversos componentes se desarrollan por separado, se comprueban a través de las pruebas unitarias y se integran poco a poco en el producto final. La fase de implementación da como resultado un producto de software que se comprueba por primera vez como producto final en la siguiente fase (prueba alfa). PRUEBA La fase de prueba incluye la integración del software en el entorno seleccionado. Por norma general, los productos de software se envían en primer lugar a los usuarios finales seleccionados en versión beta (pruebas beta). Las pruebas de aceptación desarrolladas en la fase de análisis permiten determinar si el software cumple con las exigencias definidas con anterioridad. Aquellos productos de software que superan con éxito las pruebas beta están listos para su lanzamiento. Servicio SERVICIO Una vez que la fase de prueba ha concluido con éxito, se autoriza la aplicación productiva del software. La última fase del modelo en cascada incluye la entrega, el mantenimiento y la mejora del software. ventajas desventajas una estructura sencilla gracias a unas fases de proyecto claramente diferenciadas. poe norma general, los proyectos mas complejos o de varios niveles no permiten su division en fases de proyecto claramente diferenciadas. buena documentacion del proceso de desarrollo a traves de unos hitos bien definidos. poco margen para realizar ajustes a lo largo del proyecto debido a un cambio en las exigencias. los costes y la carga de trabajo se pueden estimar al comenzar el proyecto. el usuario final no se integra en el proceso de produccion hasta que no termina la programacion. aquellos proyectos que se estructuran en base al modelo en cascada se pueden representar cronologicamente de forma sencilla. en ocasiones, los fallos solo se detectan una vez finalizado el proceso de desarrollo. INCREMENTAL ¿QUE ES EL MODELO INCREMENTAL? Incremental: en esta metodología de desarrollo de software se va construyendo el producto final de manera progresiva. En cada etapa incremental se agrega una nueva funcionalidad, lo que permite ver resultados de una forma más rápida en comparación con el modelo en cascada. El software se puede empezar a utilizar incluso antes de que se complete totalmente y, en general, es mucho más flexible que las demás metodologías. FASES DEL MODELO INCREMENTAL Como primera fase se determinan a nivel conceptual las etapas del modelo incremental de calidad: inicio, desarrollo, estandarización,innovación y sustentabilidad. ¿COMO SURGIO? Propuesto por Mills en 1980. Sugirió el enfoque incremental de desarrollo como 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 El desarrollo evolutivo consta del desarrollo de una versión inicial que luego de exponerse se va refinando de acuerdo de los comentarios o nuevos requerimientos por parte del cliente o del usuario final. Las fases de especificación, desarrollo y validación se entrelazan en vez de separarse. MODELO EVOLUTIVO Existen dos tipos de desarrollo evolutivo: Desarrollo exploratorio: donde el objetivo del proceso es trabajar con el cliente para explorar sus requerimientos y entregar un sistema final. El desarrollo empieza con las partes del sistema que se comprenden mejor. El sistema evoluciona agregando nuevos atributos propuestos por el cliente. prototipos desechables: donde el objetivo del proceso de desarrollo evolutivo es comprender los requerimientos del cliente y entonces desarrollar una definición mejorada de los requerimientos para el sistema. El prototipo se centra en experimentar con los requerimientos del cliente que no se comprenden del todo. 1 2 EVOLUTIVO "Desde el punto de vista de desarrollo de sistema el enfoque evolutivo suele traer más ventajas en comparación con un enfoque en cascada ya que el sistema se va ajustando a las necesidades del cliente, a la vez que él mismo entiende mejor sus propios requerimientos. Sin embargo el enfoque evolutivo desde una perspectiva de ingeniería y gestión suele tener dos grandes problemas". Ventajas EVOLUTIVO 1.proceso no visible : Los administradores tienen que hacer entregas regulares para medir el progreso. Si los sistemas se desarrollan rápidamente, no es rentable producir documentos que reflejen cada versión del sistema. 2.Sistemas pobremente estructurados: Los cambios continuos pueden ser perjudiciales para la estructura del software haciendo costoso el mantenimiento. 3. Se requieren técnicas y herramientas: Para el rápido desarrollo se necesitan herramientas que pueden ser incompatibles con otras o que poca gente sabe utilizar. Desventajas EVOLUTIVO A C T I V I D A D E S C O N C U R R E N T E S D E S C R I P C I O N D E L S I S T E M A E S P E S I F I C A C I O N D E S A R R O L L O V A L I D A C I O N V E R S I O N I N I C I A L V E R S I O N E S I N T E R M E D I A S V E R S I O N F I N A L ESPIRAL Es uno de los modelos de ciclo de vida de desarrollo de software más importantes, que proporciona soporte para la gestión de riesgos ¿QUÉ ES EL MODELO ESPIRAL? Las cuatro fases principales son: 1:Determinar objetivos 2:Alternativas 3:Restricciones 4:Fase de planificación SU NOMBRE ES DADO DEBIDO A QUE EN SU REPRESENTACIÓN ESQUEMÁTICA PARECE UN ESPIRAL CON MUCHOS BUCLES. Desventajas 1:El éxito del proyecto depende en gran medida del análisis de riesgo 2: El monitoreo de riesgos requiere recursos adicionales, por eso es un modelo que se considera costoso. Ventajas 1:Este modelo permite el manejo de riesgo 2:Es un modelo especialmente ventajoso en proyectos grandes y complejos SE RECOMENDAMOS QUE EL MODELO DE ESPIRAL SEA USADO EN EL TIPO DE PROYECTOS PARA LOS QUE FUE DISEÑADO TAMBIÉN PARA TODOS LOS PROYECTOS QUE ESPERAN CAMBIOS SIGNIFICATIVOS EN EL PROCESO. PROTOTIPO Los prototipos de Software son implementaciones realizadas con técnicas de programación del sistema interactivo propuesto que reproducen el funcionamiento de una parte importante de las funcionalidades con el objetivo de probar determinados aspectos del sistema final. ¿QUE ES? 1. 2. 3. 4. 5. CARCTERISTICAS Tiempo Coste Evolutivo Conciso Funcional Requisitos de desarrollo Modelaje y desarrollo del código Evaluación Modificación Documentación Pruebas ETAPAS PROTOTIPOS DESECHABLES RAPIDOS PROTOTIPO EVOLUTIVO PROTOTIPO INCREMENTAL EXTREMOS TIPOS PROTOTIPO DESECHABLE RÁPIDO Se desarrolla rápidamente para mostrar como se vera la necesidad visualmente. Es un prototipo de desarrollo debe eliminarse y no formará parte del prototipo finalmente aceptado. Esta técnica es util para explorar ideas. PROTOTIPOS EVOLUTIVOS Se filtra gradualmente en función de los comentarios de los clientes hasta que finalmente se acepta. Le ayuda a ahorrar tiempo y esfuerzo. Esto se debe a que a veces es muy frustrante desarrollar un prototipo desde cero para cada interacción en el proceso. PROTOTIPOS INCREMENTALES En la creación de prototipos incrementales, el producto final se desmonta en varios prototipos pequeños y se desarrolla individualmente. Finalmente, los distintos prototipos se fusionan en un solo producto. PROTOTIPOS EXTREMOS Todas las páginas existentes en formato HTML tienen un prototipo básico. Puede simular un proceso de datos utilizando una capa de servicios de prototipo. Los servicios se implementan e integran en el prototipo final. El método de creación de prototipos extremos se utiliza principalmente para el desarrollo web. Los usuarios participan activamente en el desarrollo. Se puede identificar la funcionalidad faltante, lo que ayuda a reducir el riesgo de fallas. Ayuda a un miembro del personal a comunicarse de manera efectiva VENTAJAS La creación de prototipos es un proceso lento y que requiere mucho tiempo. El costo de desarrollar un prototipo es un desperdicio total porque el prototipo finalmente se descarta. La creación de prototipos de aplicaciones puede fomentar cambios excesivos. DESVENTAJAS DESARROLLO BASADO EN COMPONENTES El modelo de desarrollo basado en componentes incorpora muchas de las características del modelo espiral. Es evolutivo por naturaleza y exige un enfoque interactivo para la creación de software. Sin embargo, este modelo configura aplicaciones desde componentes preparados de software (clases). El modelo basado en componentes conduce a la reutilización del software, y la reutilización proporciona beneficios a los ingenieros de software. Según estudios de reutilización, QSM Associates, Inc. Informa que el ensamblaje de componentes lleva una reducción del 70% del ciclo de desarrollo, un 84% del coste del proyecto y un índice de productividad del 26.2. Reutilización de software. Nos lleva a alcanzar un mayor nivel de reutilización de software. Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada uno de los componentes antes de probar el conjunto completo de componentes ensamblados. Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento entre componentes, el desarrollador es libre de actualizar y/o agregar componentes según sea necesario, sin afectar otras partes del sistema. Mayor calidad. Dado que un componente puede ser construido y luego mejorado continuamente por un experto u organización, la calidad de una aplicación basada en componentes mejorará con el paso del tiempo. Notación de Componentes Un componente puede ser algo como un control Actives; tanto un componente de la interfaz de usuario como un servidor de reglas de negocio. Diagrama de componentes El diagrama de componentes muestra la relación entre componentes de software, sus dependencias, su comunicación, su ubicación y otras condiciones Los componentes también pueden exponer las interfaces. Estas son los puntos visibles de entrada o los servicios que un componente está ofreciendo y dejando disponibles a otros componentes de software y clases. Típicamente, un componente está compuesto por numerosas clases y paquetes de clases internos. También se puede crear a partir de una colección de componentes. Los componentes ponen restricciones asignadas que indican el entorno en el que operan. Las pre-condiciones especifican lo que debe ser verdadero antes de que un componente pueda realizar alguna función;las post-condiciones indican lo que debe ser verdadero después de que un componente haya realizado algún trabajo y los invariantes especifican lo que debe permanecer verdadero durante la vida del componente. Analisis del riesgo Se estudian todos los riesgos potenciales y se seleccionan una o varias alternativas propuestas para reducir o eliminar los riesgos. Planificar todo lo hecho, evaluándolo, y con ello se decide si se continua con las siguientes fases siguientes y planificar la proxima actividad Ventajas El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Reduce riesgos del proyecto. Incorpora objetivos de calidad. Integra el desarrollo con el mantenimiento. Desventajas Genera mucho tiempo en el desarrollo del sistema. Inconvenientes. Genera mucho trabajo adicional. Cuando un sistema falla se pierde tiempo y coste dentro de la empresa. Exige una cierta habilidad en los análisis. CONCUSIÓN PODEMOS RESUMIR QUE LA METODOLOGIA ESTA BASADA EN CIERTOS MODELOS QUE AYUDAN AL DESARROLLO DE LOS PROGRAMAS DE SOFTWARE SE DIO A CONOCER CUALES SON, LAS FASES DEL DESARROLLO VENTAJAS Y DESVENTAJAS COMO Y CUANDO SURGEN MUCHAS GRACIAS METODOLOGÍAS ÁGILES Y OTRAS FILOSOFÍAS DE DESARROLLO DE SOFTWARE Actualmente las metodologías de ingeniería de software pueden considerarse como una base necesaria para la ejecución de cualquier proyecto de desarrollo de software que se considere serio, y que necesite sustentarse en algo más que la experiencia y capacidades de sus programadores y equipo. Un amplio y buen conocimiento de estas metodologías servirá de base teórica y permitirá comprender completamente todo lo que requiere el análisis, diseño, desarrollo e implantación de un sistema. Lo más importante en una primera etapa es poder identificar qué metodología de ingeniería de software se adecúa de la mejor manera a nuestro proyecto, para así lograr el mejor resultado en tiempo y forma. INTRODUCCIÓN METODOLOGIAS DE DESARROLLO DE SOFTWARE ÁGILES La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto para llevarlo a cabo con altas posibilidades de éxito. Una metodología para el desarrollo de software comprende los procesos a seguir sistemáticamente para idear, implementar y mantener un producto software desde que surge la necesidad del producto hasta que cumplimos el objetivo por el cual fue creado. DEFINICIÓN: Se caracterizan por hacer énfasis en la comunicación cara a cara, es decir, se basan en una fuerte y constante interacción, donde clientes desarrolladores y desarrolladores trabajan constantemente juntos estableciéndose así una estrecha comunicación. Estas metodologías están orientadas al resultado del producto y no a la documentación; exige que el proceso sea adaptable, permitiendo realizar cambios de último momento. METODOLOGIAS DE DESARROLLO DE SOFTWARE ÁGILES CARACTERISTICAS: LAS PRINCIPALES METODOLOGIAS ÁGILES SON: Kanban Scrum Lean Programación extrema (XP) KANBAN Lo creó David J. Anderson en Japón en los 40´s. Se basa en los sistemas Lean Manufacturing, esta diseñada para soportar un control productivo y desesntralizado por demanda. En el desarrollo de software ágil es usado para visualizar los proyectos, al colocar una seria de tarjetas en un panel o soporte, denominado tareas kanban https://profile.es/blog/lean-valores-y-herramientas/ KANBAN Se basa en un sistema de señalización en el que se visualizan las tareas de producción por demanda con el objetivo de minimizar el trabajo en progreso y el stock entre procesos. El metodo kanban organiza las tareas en columnas depedendiendo de la complejidad o fases de desarrollo del procesos. KANBAN Algunas de las divisiones mas comunes para el desarrollo de software son: Lista de tareas (to do), engloba las tareas pendientes que se pueden hacer inmediatamente, en orden de mayor a menor prioridad. En desarrollo (doing) las tareas serán movidas hasta ser completadas, si algo falla mover la tarea a la columna anterior. Pruebas se realizan pruebas a las tareas para determinar si se ha finalizado correctamente, si es así pasa a la siguiente, en caso contrario regresa a desarrollo. Despliegue validado el código se añaden a esta columna para su producción en el sistema Terminado tareas terminadas por completo. Utilizar Kanban en el desarrollo de software. A grandes rasgos el objetivo principal de este sistema es reducir el trabajo en proceso analizando las tareas que está realizando el equipo y limitando el numero máximo de estas mismas, identificando los cuellos de botella e incidiendo en ellos. La finalidad es enfocar esfuerzos en cerrar tareas, no en abrirlas. KANBAN SCRUM Es un marco que permite el trabajo colaborativo entre equipos. Al igual que un equipo de rugby (de donde proviene su nombre) cuando entrena para un gran partido, scrum anima a los equipos a aprender a través de las experiencias, a autoorganizarse mientras aborda un problema y a reflexionar sobre sus victorias y derrotas para mejorar continuamente. SCRUM Aunque son los equipos de desarrollo de software los que utilizan con mayor frecuencia este tipo de scrum, sus principios y lecciones se pueden aplicar a todo tipo de trabajo en equipo. Esta es una de las razones por las que es tan popular. Aunque se considera a menudo un marco de gestión de proyectos ágil, scrum incluye un conjunto de reuniones, herramientas y funciones que, de forma coordinada, ayudan a los equipos a estructurar y gestionar su trabajo.. SCRUM Es también una metodología incremental que divide los requisitos y tareas de forma similar a Kanban. Se itera sobre bloques de tiempos cortos y fijos (entre dos y cuatro semanas) para conseguir un resultado completo en cada iteración. Las etapas son: planificación de la iteración (planning sprint), ejecución (sprint), reunión diaria (daily meeting) y demostración de resultados (sprint review). Cada iteración por estas etapas se denomina también sprint. LEAN Busca optimizar los procesos de gestión y productivos. Tiene como objetivo limpiar las actividades que no aportan nada . Su máxima está en reducir la inversión, el tiempo y el esfuerzo. PRINCIPIOS LEAN VENTAJAS AL APLICAR LA METODOLOGIA Reduce costes Satisfacción de los clientes Menos riesgos Reducción del plazo de ejecución y de las actividades sin valor Trabajo en equipo Caso de éxito En el año 2011, Nike decidió cambiar susistema de producción y adaptarlo a la filosofía Lean: Garantizar la calidad del producto El cambio vino de la mano de un importante proceso de formación de sus trabajadores: reducir el tiempo de producción, en este caso, gracias a la mejora de las capacidades del equipo. PROGRAMACIÓN EXTREMA (XP) Es una metodología de desarrollo de software basada en las relaciones interpersonales, que se consideran la clave del éxito. Su principal objetivo es crear un buen ambiente de trabajo en equipo y que haya un feedback constante del cliente. El trabajo se basa en 12 conceptos: diseño sencillo, testing, refactorización y codificación con estándares, propiedad colectiva del código, programación en parejas, integración continua, entregas semanales e integridad con el cliente, cliente in situ, entregas frecuentes y planificación.. La metodología XP es un conjunto de técnicas que dan agilidad y flexibilidad en la gestión de proyectos. También es conocida como Programación Extrema (Extreme Programming) y se centra crear un producto según los requisitos exactos del cliente. De ahí, que le involucre al máximo durante el método de gestión del desarrollo del producto. ¿QUÉ ES LA METODOLOGÍA XP? CARACTERÍSTICAS DE LA METODOLOGÍA XP Comunicación constante entre el cliente y el equipo de desarrollo. Respuesta rápida a los cambios constantes. La planificación es abierta con un cronograma de actividades flexible. El software que funciona está por encima de cualquier otra documentación.Los requisitos del cliente y el trabajo del equipo del proyecto son los principales factores de éxito del mismo. https://www.sinnaps.com/blog-gestion-proyectos/cronograma-online PROGRAMACIÓN EXTREMA (XP) VALORES Comunicación: el código comunica mejor cuanto más simple sea. Simplicidad: Es la base de XP, se simplifica el diseño para agilizar el desarrollo y facilitar el mantenimiento. Retroalimentación (feedback): Al estar el cliente integrado en el proyecto, su opinión sobre el estado del proyecto se conoce en tiempo real. Valentía o coraje: La valentía le permite a los desarrolladores que se sientan cómodos con reconstruir su código cuando sea necesario, otro ejemplo es saber cuándo desechar un código: para quitar código fuente obsoleto, sin importar cuánto tiempo invirtió. PROGRAMACIÓN EXTREMA (XP) Esta metodología constituye un modelo de trabajo compartido, además existe la conexión entre el cliente y el desarrollador, lo que permitirá la construcción del sistema de acuerdo a los requerimientos establecidos por el cliente en un principio. METODOLOGIAS DE DESARROLLO DE SOFTWARE OTRAS FILOSOFIAS Para la metodología del desarrollo del proyecto GA3 se utilizó principalmente el modelo reciente Ganar-ganar ya que con este existen ganancias para todas las partes implicadas. GANAR - GANAR El Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. PROCESO UNIFICADO (UP) La ingeniería web es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de lata calidad en la World Wide Web. INGENIERIA WEB Es visto como una variacion del modelo en espiral que utiliza una aplicación cíclica para el desarrollo incremental de sistemas de software Busca que ambas partes ganen, compartiendo el beneficio 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. METODOLOGIAS DE DESARROLLO DE SOFTWARE OTRAS FILOSOFIAS Ganar - Ganar METODOLOGIAS DE DESARROLLO DE SOFTWARE OTRAS FILOSOFIAS Proceso unificado (UP) Lo Mejor de Cada Metodología: Se comporta básicamente como una recopilación de las mejores partes de cada una de las metodologías Ideal para Proyectos Grandes: Este proceso es óptimo para la realización de grandes proyectos, los cuales necesitan una metodología detallada no tan estresante Orientado a Objetos: Si estás en busca de una metodología que se adapte a un lenguaje de programación orientada a objetos, entonces el Proceso Unificado UML es su Aliado: Si en un determinado momento necesitas de representación visual para lo que estas proyectando. Entonces tienes la fortuna de contar con UML METODOLOGIAS DE DESARROLLO DE SOFTWARE OTRAS FILOSOFIAS Ingeniería o modelado del negocio: Analizar y entender las necesidades del negocio para el cual se está desarrollando el software. Requisitos: proveer una base para estimar los costos y tiempo de desarrollo del sistema. Análisis y diseño: trasladar los requisitos analizados anteriormente a un sistema automatizado y desarrollar una arquitectura para el sistema. Implementación: crear software que se ajuste a la arquitectura diseñada y que tenga el comportamiento deseado. Pruebas: asegurarse de que el comportamiento requerido es correcto y que todo lo solicitado está presente. Despliegue: producir distribuciones del producto y distribuirlo a los usuarios. Proceso unificado (UP) METODOLOGIAS DE DESARROLLO DE SOFTWARE OTRAS FILOSOFIAS Ingenieria web Consiste en la disposición y empleo de fundamentos científicos, de ingeniería y gestión y con orientaciones metódicas y disciplinadas del boom y desarrollo, utilización y mantenimiento de sistemas y aplicaciones basados en el Web de alta calidad En esta nueva generación, las metodologías tradicionales de desarrollo de software fueron quedando obsoletas en determinados sectores, en los que la propia demanda de los usuarios es más rápida que la capacidad de producción de las empresas ancladas a las viejas metodologías de gestión de proyectos de sistemas informáticos. Este gran impacto en las tecnologías, ha generado la necesidad de encontrar y crear nuevas metodologías de trabajo y gestión, que aseguren la entrega en tiempo y forma del producto. CONCLUSIÓN Esta necesidad de calidad, eficiencia, flexibilidad y rapidez en la entrega de un producto informático se volvió prioridad y en conjunto con su necesidad se crearon las nombradas Metodologías Agiles. Ambas metodologías, pueden fracasar si son mal implementadas, gestionadas y administradas. Sin embargo, la tendencia natural actual indica que las metodologías ágiles están ganando terreno muy rápidamente lo que en algunos años podrían generar la extinción definitiva de las metodologías tradicionales. CONCLUSIÓN
Compartir