Is U1 Pin Tarea2 Articulo2 Semana2 Jose Luis Perez O.

download Is U1 Pin Tarea2 Articulo2 Semana2 Jose Luis Perez O.

of 15

description

Metodologias Para el Desarrollo de Software

Transcript of Is U1 Pin Tarea2 Articulo2 Semana2 Jose Luis Perez O.

  • Instituto Tecnolgico de Quertaro

    Unidad Pinal de Amoles

    Divisin de Educacin Presencial a Distancia

    Materia: Ingeniera de Software

    Ingeniera en Sistemas Computacionales.

    Actividad: Tarea 2. Articulo2. Ciclos de Vida de Desarrollo de Software

    Alumno: Jos Luis Prez Ortega

    Asesor: L.I. Juan Jose Garca Alcacio

    [email protected]

    Tutor: L.I. Eucebio Martnez Olvera

    [email protected]

    Domingo 25-Octubre-2015

  • Ingeniera de Software Unidad Pinal de Amoles

    2

    J o s L u i s P r e z O r t e g a

    Pgina 2

    Ciclos de Vida de Desarrollo de Software Por: Patricia Arieta Melgarejo, Tutorials Point

    Modelos del ciclo de vida de software Los modelos de ciclo de vida de software es una lista de las actividades que ocurren durante el

    desarrollo de software, en el cual se intenta determinar el orden de las etapas involucradas y los

    criterios de transicin asociadas entre estas etapas.

    Un modelo de ciclo de vida define el estado de las fases a travs de las cuales se mueve un

    proyecto de desarrollo de software.

    Codificar y Corregir

    Este es un modelo poco til, pero bastante comn. Al no haberse seleccionado explcitamente

    otro modelo, por omisin se estar utilizando ste.

    Cuando se utiliza se empieza con una idea general de lo que se necesita construir, y se puede o no

    tener una especificacin formal; se utiliza cualquier combinacin de diseo, cdigo, depuracin y

    mtodos de prueba no formales que sirven hasta que se tiene el producto listo para entregarlo.

    Observaciones al modelo codificar y corregir

    Puede resultar til para proyectos pequeos que se intentan liquidar poco despus de ser

    construidos, es decir, para programas pequeos de demostracin de conceptos, demostraciones

    de duracin corta o prototipos desechables.

    No tiene cabida en un proyecto de desarrollo rpido, excepto para estos pequeos proyectos

    arriba sealados

    Es un modelo no formal que se utiliza normalmente porque es simple, pero no porque funcione

    bien.

    Anlisis Estructurado

    El mtodo de desarrollo del anlisis estructurado tiene como finalidad superar esta dificultad por

    medio de la divisin del sistema en componentes y la construccin de un modelo del sistema. El

    mtodo incorpora elementos tanto de anlisis como de diseo. El modelo de anlisis estructurado

    se concentra en especificar lo que se requiere que haga el sistema o la aplicacin.

    No se establece como se cumplirn los requerimientos o la forma en que se implantarn la

    aplicacin. Ms bien permiten que las personas observen los elementos lgicos (lo que har el

    sistema) separados de los componentes fsicos (computadoras, terminales, sistemas de

    almacenamiento etc.)

  • Ingeniera de Software Unidad Pinal de Amoles

    3

    J o s L u i s P r e z O r t e g a

    Pgina 3

    Cascada Pura

    Es el predecesor de todos los modelos de ciclo de vida y ha servido de base para otros modelos. En

    el modelo de cascada pura un proyecto progresa a travs de una secuencia ordenada de etapas,

    partiendo desde su concepto inicial hasta la prueba del mismo, as el proyecto realiza una revisin

    al final de cada etapa para determinar si est preparado para pasar a la siguiente.

    Observaciones al modelo cascada pura

    Es el modelo ms conocido y ofrece una velocidad de desarrollo aceptable en algunas

    circunstancias, otros modelos sin embargo, proporcionan una velocidad de desarrollo superior a

    ste.

    Los inconvenientes del modelo hacen que sea, a menudo, poco apropiado para un proyecto de

    desarrollo rpido, incluso en los casos en los que las ventajas del modelo superan los

    inconvenientes, los modelos de cascada modificada pueden funcionar mejor.

    Espiral

    Es un modelo orientado a riesgos que divide un proyecto en miniproyectos, cada miniproyecto se

    centra en uno o ms riesgos importantes hasta que todos stos estn controlados.

    El concepto riesgo puede referirse a requerimientos y arquitecturas poco comprensibles, a

    problemas de ejecucin importantes o a problemas con la tecnologa subyacente. Una vez que se

    han controlado todos los riesgos importantes, el modelo finaliza del mismo modo que el modelo

    de ciclo de vida en cascada.

    Observaciones al modelo espiral

    El modelo de espiral es un modelo de ciclo de vida orientado a riesgos, el cual se puede combinar

    con otros modelos de ciclo de vida.

    La principal ventaja de este modelo es que mientras los costos suben, los riesgos disminuyen.

    Cascadas Modificadas

    El mayor problema del modelo de cascada pura es que trata las fases del ciclo de vida como etapas

    secuenciales disjuntas, pero, en contraste, permite corregir los inconvenientes ms importantes

    en el modelo de cascada pura con pequeas modificaciones:

    Puede modificarse de forma tal que las etapas se solapen.

    Se puede reducir el nfasis sobre la documentacin.

    Se puede permitir ms regresin.

    Variantes del modelo de cascadas modificadas

    Cascada con fases solapadas

  • Ingeniera de Software Unidad Pinal de Amoles

    4

    J o s L u i s P r e z O r t e g a

    Pgina 4

    Puede evitar algunos inconvenientes del modelo de cascada pura al solapar sus etapas, por

    ejemplo, sugiere que se debera tener bien hecho el diseo global y quizs a medio hacer el diseo

    detallado antes de considerar completo el anlisis de requerimientos, no obstante, puede reducir

    sustancialmente la documentacin necesaria entre etapas.

    Cascada con subproyectos

    Puede permitir la ejecucin de algunas de las tareas de la cascada en paralelo (subproyectos),

    siempre que se haya realizado una cuidadosa planificacin.

    Cascada con reduccin de riesgos Incorpora una espiral en lo alto de la cascada para controlar el riesgo de los requerimientos, y una

    espiral para las dems etapas de desarrollo. A este nivel es posible desarrollar un prototipo de

    interfaz de usuario, tener entrevistas con los usuarios, observar cmo los usuarios interactan con

    algn sistema previo, y utilizar otros mtodos que se consideren apropiados para la identificacin

    de los requerimientos.

    Desventajas de las variantes

    Modelo de cascada con fases solapadas

    Debido al solapamiento entre las etapas, los hitos son ms ambiguos, y esto hace ms difcil trazar

    el progreso correctamente, adems la realizacin de actividades en paralelo puede suponer una

    mala comunicacin, suposiciones incorrectas e ineficacia.

    Modelo de cascada con subproyectos

    Existe presencia de interdependencias imprevistas.

    Modelo de cascada con reduccin de riesgos

    Ninguno.

    Prototipos de Sistemas Este mtodo hace que el usuario participe de manera ms directa en la experiencia de anlisis y

    diseo.

    La construccin de prototipos es ms eficaz bajo las circunstancias correctas sin embargo, al igual

    que los otros mtodos, el mtodo es til slo si se emplea en el momento adecuado y en la forma

    apropiada.

    El prototipo es un sistema que funciona no solo una idea en el papel- , desarrollado con la

    finalidad de probar ideas y suposiciones relacionadas con el nuevo sistema. Al igual que cualquier

    sistema basado en computadora, est constituido por software, que acepta entradas, realiza

    clculos, produce informacin ya sea impresa o en pantalla, o que lleva a cabo otras actividades

    significativas.

  • Ingeniera de Software Unidad Pinal de Amoles

    5

    J o s L u i s P r e z O r t e g a

    Pgina 5

    Los usuarios evalan el diseo de informacin generada por el sistema y deben esperarse cambios

    a medida que el sistema es utilizado.

    Las razones por las cuales se deben utilizar los prototipos de sistemas son que los requerimientos

    de informacin no siempre estn bien definidos; los prototipos permiten evaluar situaciones

    extraordinarias, donde los encargados de disear sistemas no tienen informacin ni experiencia,

    ya que en realidad es un modelo piloto o de prueba, y es un sistema que funciona debido a que

    est diseado para ser modificado con facilidad.

    Prototipado Evolutivo

    Es un modelo de ciclo de vida en el que se desarrolla el concepto del sistema a medida que avanza

    el proyecto.

    Normalmente se comienza desarrollando los aspectos ms visibles del sistema, posteriormente se

    presenta la parte ya desarrollada del sistema al cliente y se contina el desarrollo del prototipo en

    base a la realimentacin que se recibe del cliente. Finalmente, el ciclo contina hasta que el

    prototipo se convierte en el producto final de ingeniera.

    Es conveniente utilizar el prototipado evolutivo cuando los requerimientos cambian con rapidez,

    cuando el cliente es reacio a especificar el conjunto de los requerimientos, cuando ni el analista ni

    el cliente identifican de forma apropiada el rea de aplicacin o cuando los desarrolladores no

    estn seguros de la arquitectura o los algoritmos adecuados a utilizar.

    Ciclo en V

    Uno de los inconvenientes del modelo en cascada es que las pruebas del software son dejadas al

    final del desarrollo.

    El ciclo de vida en V, es una variacin del modelo en cascada que trata este problema, toma su

    nombre de la forma en la cual se visualiza y es una evolucin del modelo en cascada en el cual se

    realizan actividades en paralelo y facilita las pruebas del sistema. As, se basa en la premisa de que

    las pruebas de calidad no se deben dejar al final, sino realizarse a lo largo del proceso.

    Entrega por Etapas o Implementacin Incremental

    El sistema se muestra al cliente en etapas refinadas sucesivamente.

    A diferencia del modelo de prototipado evolutivo, se conoce exactamente qu es lo que se va a

    construir cuando se procede a construirlo.

    Lo que hace diferente a este modelo es que el sistema no se entrega como un todo al final del

    proyecto, sino que ste se entrega por etapas sucesivas a lo largo del proyecto.

    Diseo por planificacin

    Es similar al modelo entrega por etapas, la diferencia radica en que no siempre se conoce al

    principio si se tendr el producto para la ltima entrega.

  • Ingeniera de Software Unidad Pinal de Amoles

    6

    J o s L u i s P r e z O r t e g a

    Pgina 6

    Se pueden tener cinco etapas planificadas, pero slo se llega a la tercera etapa debido a que se

    tiene una fecha lmite que no se puede cambiar.

    Uno de los elementos crticos de este modelo es priorizar los requerimientos y planificar sus

    etapas de tal forma que las primeras contengan los requerimientos de mayor prioridad, y los

    requerimientos de baja prioridad se dejan para ms tarde.

    Entrega Evolutiva

    Es un modelo que se encuentra entre el prototipado evolutivo y la entrega por etapas: se

    desarrolla una versin del producto, se muestra al cliente, se refina el producto en funcin de los

    comentarios del cliente. El parecido entre ambos modelos depende de hasta qu punto se lleva a

    cabo una planificacin para adaptarse a las solicitudes de los clientes.

    Si se planifica para adaptarse a la mayora de las solicitudes, la entrega evolutiva se parecer ms

    al prototipado evolutivo, pero si se planifica para adaptarse a pocas solicitudes de modificacin, la

    entrega evolutiva se aproximar a la entrega por etapas

    Software - Ciclo de Vida de Desarrollo El ciclo de vida del desarrollo Software (SDLC en sus siglas inglesas), es una secuencia estructurada

    y bien definida de las etapas en Ingeniera de software para desarrollar el producto sofware

    deseado.

    Actividades del SDLC El SDLC aporta una serie de pasos a seguir con la finalidad de disear y desarrollar un producto

    software de manera eficiente. El borrador del SDLC incluye los pasos que veremos a continuacin:

  • Ingeniera de Software Unidad Pinal de Amoles

    7

    J o s L u i s P r e z O r t e g a

    Pgina 7

    Comunicacin Este es el primer paso donde l usuario inicia la peticin de un producto software determinado.

    Contacta al proveedor de servicios e intenta negociar las condiciones. Presenta su solicitud al

    proveedor de servicios aportando la organizacin por escrito.

    Recoleccin de solicitudes

    A partir de este paso y en adelante el equipo de desarrollo software trabaja para tirar adelante el

    proyecto. El equipo se rene con varios depositarios de dominio del problema, e intentan

    conseguir la mxima cantidad de informacin posible sobre lo que requieren. Los requisitos se

    contemplan y agrupan en requisitos del usuario, requisitos funcionales y requisitos del sistema. La

    recoleccin de todos los requisitos se lleva a cabo como se especifica a continuacin -

    Estudiando el software y el sistema actual o obsoleto,

    Entrevistando a usuarios y a desarrolladores de Software,

    Consultando la base de datos o

  • Ingeniera de Software Unidad Pinal de Amoles

    8

    J o s L u i s P r e z O r t e g a

    Pgina 8

    Recogiendo respuestas a travs de cuestionarios.

    Estudio de viabilidad

    Despus de la recoleccin de requisitos, el equipo idea un plan para procesar el software. En esta

    fase, el equipo analiza si el software puede hacerse para cubrir todos los requisitos del usuario y si

    hay alguna posibilidad de que el software ya no sea necesario. Se investiga si el proyecto es viable

    a nivel financiero, prctico, y a nivel tecnolgico para que la organizacin acepte la oferta. Hay

    varios algoritmos disponibles, los cuales ayudan a los desarrolladores a concluir si el proyecto

    software es factible o no.

    Anlisis del sistema

    En este pas los desarrolladores trazan su plan e intentan crear el mejor y ms conveniente modelo

    de software para el proyecto. El anlisis del sistema inclye el entendimiento de las limitaciones del

    producto Software; el aprendizaje de los problemas relacionados con el sistema; los cambios que

    se requieren en sistemas ya existentes con antelacin, identificando y dirigiendo el impacto del

    proyecto a la organizacin y al personal, etc. El equipo del proyecto analiza las posibilidades del

    proyecto y planifica la temporalizacin y los recursos correspondientes.

    Diseo de Software

    El siguiente paso es disear el producto software con la ayuda de toda la informacin recogida

    sobre requisitos y anlisis. Los inputs (aportacines) de los usuarios y los resultados de la recogida

    de informacin hecha en la fase anterior seran las aportaciones base de la fase actual. El output (o

    resultado) de esta etapa toma la forma de 2 diseos; El diseo lgico y el diseo fsico. Los

    ingenieros crean meta-data (Metadatos), Diagramas dilgicos, diagramas de flujo de datos, y en

    algunos casos pseudocdigos.

    Codificacin Esta fase tambin se puede denominar 'fase de programacin'. La implementacin del diseo de

    software empieza con el lenguaje de programacin ms conveniente, y desarrollando programas

    ejecutables y sin errores de manera eficiente.

    Pruebas

    Se estima que el 50% de todos los procesos de desarrollo de software deberan ser evaluados. Los

    errores pueden arruinar el software tanto a nivel crtico y hasta el punto de ser eliminado. Las

    pruebas de Software se hacen mientras se codifica y suelen hacerlo los desarrolladores y otros

    expertos evaluadores a varios niveles. Esto incluye evaluacin de mdulos, evaluacin del

    programa, evaluacin del producto, evaluacin interna y finalmente evaluacin con el consumidor

    final. Encontrar errores y su remedio a tiempo es la llave para conseguir un software fiable.

  • Ingeniera de Software Unidad Pinal de Amoles

    9

    J o s L u i s P r e z O r t e g a

    Pgina 9

    Integracin

    El Software puede necesitar estar integrado con las bibliotecas, Bases de datos o con otro u otros

    programas. Esta fase del SDLC se focaliza en la integracin del software con las entidades del

    mundo exterior.

    Implementacin

    Aqu se instala el software en mquinas de clientes. A veces, el software necesita instalar

    configuraciones para el consumidor final con posterioridad. El Software se evala por su

    adaptabilidad y su portabilidad, en cuanto a las cuestiones relacionadas con la integracin y

    conceptos asociados, se resuelven durante la implementacin.

    Mantenimiento y Funcionamiento Esta fase confirma el funcionamiento del software en trminos de ms eficiencia y menos errores.

    Si se requiere, los usuarios se forman, o se les presta documentacin sobre como operar y como

    mantenerlo en funcionamiento. El software se mantiene de forma temprana actualizando el

    cdigo en acorde a los cambios que tienen lugar en entornos del usuario o tecnolgicos. Esta fase

    puede que tenga que encarar retos originados por virus ocultos o problemas no identificados del

    mundo real.

    Disposicin

    Con el paso del tiempo, puede que el software falle en su ejecucin. Puede que se vuelva

    totalmente obsoleto o que necesite actualizaciones. De ah surge una necesidad urgente de

    eliminar una parte importante del sistema. Esta fase incluye archivar datos y componentes

    software requeridos, cierre del sistema, planificacin de la actividad de disposicin y terminacin

    de sistema en el momento final del sistema.

    Paradigma de desarrollo de Software

    El Paradigma de desarrollo de Software ayuda al desarrollador a escoger una estrategia para

    desarrollar el software. El paradigma de desarrollo software tiene su propio set de herramientas,

    mtodos y procedimientos, los cuales son expresados de forma clara, y define el ciclo de vida del

    desarrollo del software. Algunos paradigmas de desarrollo de software o modelos de proceso se

    definen a continuacin:

    Modelo de cascada

    El modelo de cascada es el modelo de paradigma ms simple en desarrollo de software. Sigue un

    modelo en que las fases del SDLC funcionarn una detrs de la otra de forma lineal. Lo que

    significa que solamente cuando la primera fase se termina se puede empezar con la segunda, y as

    progresivamente.

  • Ingeniera de Software Unidad Pinal de Amoles

    10

    J o s L u i s P r e z O r t e g a

    Pgina 10

    Este modelo asume que todo se lleva a cabo y tiene lugar tal y como se haba planeado en la fase

    anterior, y no es necesario pensar en asuntos pasados que podran surgir en la siguiente fase. Este

    modelo no funcionar correctamente si se dejan asuntos de lado en la fase previa. La naturaleza

    secuencial del modelo no permite volver atrs y deshacer o volver a hacer acciones.

    Este modelo es recomendable cuando el desarrollador ya ha diseado y desarrollado softwares

    similares con anterioridad, y por eso est al tanto de todos sus dominios.

    Modelo repetitivo Este modelo gua el proceso de desarrollo de software en repeticiones. Proyecta el proceso de

    desarrollo de forma cclica repitiendo cada paso despus de cada ciclo en el proceso de SDLC.

    El software primero se desarrolla en menor escala y se siguen y tienen en consideracin todos los

    pasos. Entonces, por cada repeticin, ms mdulos y caractersticas son diseados, codificados,

  • Ingeniera de Software Unidad Pinal de Amoles

    11

    J o s L u i s P r e z O r t e g a

    Pgina 11

    evaluados y aadidos al software. Cada ciclo produce un sotware completo, con ms

    caractersticas y capacidad que los previos.

    Despus de cada repeticin, el equipo directivo puede concentrarse en la gestin de riesgos y

    prepararse para la siguiente repeticin. Como el ciclo incluye pequeas porciones de la totalidad

    del proceso software, es ms fcil gestionar el proceso de desarrollo, pero a la vez se consumen

    ms recursos.

    Modelo en espiral

    El modelo en espiral es una combinacin de ambos modelos, el repetitivo y uno del modelo SDLC.

    Se puede ver como si se combina un modelo de SDLC combinado con un proceso cclico (modelo

    repetitivo).

  • Ingeniera de Software Unidad Pinal de Amoles

    12

    J o s L u i s P r e z O r t e g a

    Pgina 12

    Este modelo considera el riesgo, factor que otros modelos olvidan o no prestan atencin en el

    proceso. El modelo empieza determinando los objetivos y las limitaciones del software al inicio de

    cada repeticin. En la siguiente etapa se crean los modelos de prototipo del software. Esto incluye

    el anlisis de riesgos. Luego un modelo estndar de SDLC se usa para construir el software. En la

    cuarta etapa es donde se prepara el plan de la siguiente repeticin.

    Modelo V

    El mayor inconveniente del modelo de cascada es que solo se pasa a la siguiente fase cuando se

    completa la anterior, por tanto no es posible volver atrs si se encuentra algn error en las etapas

    posteriores. El Modelo V aporta opciones de evaluacin del software en cada etapa de manera

    inversa.

  • Ingeniera de Software Unidad Pinal de Amoles

    13

    J o s L u i s P r e z O r t e g a

    Pgina 13

    En cada etapa, se crea la planificain de las pruebas y los casos de pruebas para verificar y validar

    el producto segn los requisitos de la etapa. Por ejemplo, en la etapa de recogida de requisitos, el

    equipo de evaluadores prepara las pruebas de caso correspondientes a los requisitos. Ms tarde,

    cuando el producto se desarrolla y est preparado para ser evaluado, las pruebas de caso en esta

    etapa verifican el software y su validez sugn sus requisitos.

    Esto hace que tanto la verificacin como la validacin vayan en paralelo. Este modelo tambin se

    conoce como modelo de validacin y verificacin.

    Modelo Big Bang

    Este modelo es el modelo con la forma ms simple. Requiere poca planificacin, mucha

    programacin y tambin muchos fondos. Este modelo se conceptualiza alrededor de la teora de

    creacin del universo 'Big Bang'. Tal como cuentan los cientficos, despus del big bang muchas

    galaxias, planetas y estrellas evolucionaron. De la misma manera, si reunimos muchos fondos y

    programacin, quiz podemos conseguir el mejor producto de software.

  • Ingeniera de Software Unidad Pinal de Amoles

    14

    J o s L u i s P r e z O r t e g a

    Pgina 14

    Para este modelo, se requiere poca planificacin. No sigue ningn proceso concreto, y a veces el

    cliente no est seguro de las futuras necesidades y requisitos. Por tanto la entrada o input

    respecto a los requisitos es arbitraria.

    Este modelo no es recomendable para grandes proyectos de software, pero es bueno para

    aprender y experimentar.

    Comentario Personal Yo en lo personal Ya tena una idea de lo que era el ciclo de vida de software, sin embargo nunca

    me imagin que sera de gran utilidad conocer los ciclos de vida de software. No solamente abarca

    el tiempo de vida til del software, sino que tambien lleva consigo algunas especificaciones que se

    deben cumplir para poder implementar por completo cualquier tipo de software ensamblado el

    cual debe cumplir de acuerdo con el ciclo de vida elegido para el mismo y en base a este modelo

    hacer las actualizaciones necesarias para su funcionamiento optimo.

    Referencias Arieta, Patricia (febrero de 2011). Modelos del ciclo de vida de software. Consultado el 22

    de octubre de 2015. Recuperado de: http://fsi201lsca.blogspot.mx/2011/02/modelos-del-

    ciclo-de-vida-de-software.html

    Tutorials Point (S/F). Software - Ciclo de Vida de Desarrollo. Consultado el 22 de octubre

    de 2015 recuperado de:

    http://www.tutorialspoint.com/es/software_engineering/software_development_life_cyc

    le.htm

  • Ingeniera de Software Unidad Pinal de Amoles

    15

    J o s L u i s P r e z O r t e g a

    Pgina 15