Articulo Cientifico

Embed Size (px)

Citation preview

  • 5/26/2018 Articulo Cientifico

    1/6

    Universidad Nacional Autnoma de NicaraguaUNAN-MANAGUA

    Recinto universitario Rubn Daro

    Facultad de Ciencias e IngenieraDepartamento de Computacin

    Ingeniera del Software

    Ingeniera en Sistemas de Informacin

    III AoVespertino

    Nombre:

    Jorling Stephanie Muoz Ramos.

    Profesor:

    Lic. Lawdee Narvez B.

    Fecha de Entrega:

    Mircoles 14 de Agosto del 2012

  • 5/26/2018 Articulo Cientifico

    2/6

    Ciclos de vida y utilizacin de la Ingeniera del Software

    Jorling Stephanie Muoz Ramos. Estudiante de 3er ao de la Carrera de Ingeniera en Sistemas,

    Universidad Nacional Autnoma de Nicaragua, Managua, Nora Astorga

    Nicaragua. Email:[email protected]

    1. Resumen

    Este artculo nos centraremos en la definicin del concepto de ciclo de vida, en la explicacin y anlisis comparativo de distintos

    modelos de ciclo de vida existentes.

    Tambin abarcaremos bajo qu circunstancias podremos utilizar la ingeniera del software, de tal forma que el lector pueda

    comprender la importancia del software en un caso particular de la vida real.

    2. Introduccin

    En el mundo empresarial el Ingeniero del software ha sustituido al programador como modelo de trabajo predominante. Los

    administradores y usuarios reconocen la necesidad de un enfoque ms disciplinado del software.

    Para ello se hace la utilizacin de todos los modelos de procesos de software, mtodos de ingeniera de software y

    herramientas como tcnicas que permiten reducir los costos de las soluciones basadas en computadoras que ha sido uno de los

    objetivos ms perseguidos desde los inicios de la informtica y que ha mejorado significativamente el trabajo arduo que los

    seres humanos realizamos da a da.

    2.1. Ciclo de vida de un Software

    El ciclo de vida es el conjunto de fases por las que pasa el sistema que se est desarrollando desde que nace la idea inicial hasta

    que el software es retirado o remplazado (muere). Tambin se denomina a veces paradigma.

    Entre las funciones que debe tener un ciclo de vida se pueden destacar:

    Determinar el orden de las fases del proceso de software

    Establecer los criterios de transicin para pasar de una fase a la siguiente

    Definir las entradas y salidas de cada fase

    Describir los estados por los que pasa el producto Describir las actividades a realizar para transformar el producto

    Definir un esquema que sirve como base para planificar, organizar, coordinar, desarrollar.

    2.1.1. Modelos de ciclo de vida

    La ingeniera del software establece y se vale de una serie de modelos que establecen y muestran las distintas etapas y estados

    por los que pasa un producto software, desde su concepcin inicial, pasando por su desarrollo, puesta en marcha y posterior

    mantenimiento, hasta la retirada del producto.

    Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta

    determinar el orden de las etapas involucradas y los criterios de transicin asociados entre estas etapas.

    Un modelo de ciclo de vida del software :

    Describe las fases principales de desarrollo de software Define las fases primarias esperadas de ser ejecutadas durante esas fases

    Ayuda a administrar el progreso del desarrollo

    Provee un espacio de trabajo para la definicin de un proceso detallado de desarrollo de software.

    En cada una de las etapas de un modelo de ciclo de vida, se pueden establecer una serie de objetivos, tareas y actividades que

    lo caracterizan. Existen distintos modelos de ciclo de vida, y la eleccin de un modelo para un determinado tipo de proyecto es

    realmente importante; el orden es uno de estos puntos importantes.

    Existen varias alternativas de modelos de ciclo de vida. A continuacin se muestra un cuadro comparativo de algunos modelos

    tradicionales y ms utilizados:

    mailto:[email protected]:[email protected]
  • 5/26/2018 Articulo Cientifico

    3/6

    2.1.2. Modelo de los ciclos de vida de un software (Cuadro comparativo).

    MODELO ENCASCADAFig.1

    1

    MODELO ESPIRALFig.2

    MODELO EN VFig. 3

    MODELOINCREMENTALFig.4

    MODELO DRA(desarrollo rpido deaplicaciones)Fig.5

    METODOLOGI

    (extreming progra

    Fig.6

    QUE ES

    Es el enfoque

    metodolgico que ordena

    rigurosamente las etapas

    del ciclo de vida del

    software, de tal forma que

    el inicio de cada etapa

    debe esperar a la

    finalizacin de la

    inmediatamente anterior.

    Consiste en una serie de

    ciclos que se repiten en

    forma de espiral,

    comenzando desde el

    centro. El Espiral puede

    verse como un modelo

    evolutivo que conjuga la

    naturaleza iterativa del

    modelo MCP. Con los

    aspectos controlados y

    sistemticos del modelo

    cascada.

    El modelo en v es un modelo

    que ilustra cmo las

    actividades de prueba

    (verificacin y validacin) se

    pueden integrar en cada fase

    del ciclo de vida.

    El incremental es un modelo

    de tipo evolutivo que est

    basado en varios ciclos

    Cascada realimentados

    aplicados repetidamente,

    con una filosofa iterativa

    Es un modelo de proceso de

    desarrollo de software lineal

    secuencial que enfatiza un

    ciclo de desarrollo

    extremadamente corto.

    Es una metodologa li

    desarrollo de softwar

    basa en la simplicidad

    comunicacin, y reali

    del cdigo desarrollad

    desarrollado por kent

    FASES DEL

    MODELO

    1. Anlisis de

    requerimientos:

    Contiene la especificacin

    completa de lo que debe

    hacer el sistema sin entrar

    en detalles internos.

    2. Diseo del Sistema

    Contiene la descripcin de

    la estructura relacional

    global del sistema y laespecificacin de lo que

    debe hacer cada una de

    sus partes, as como la

    manera en que se

    combinan unas con otras.

    3. Diseo del Programa

    Es la fase en donde se

    realizan los algoritmos

    necesarios para el

    cumplimiento de los

    requerimientos del

    usuario.

    4. Codificacin

    5. Pruebas

    6. Implantacin

    1. Establecer la

    comunicacin entre el

    cliente y el desarrollador.

    2. definicin de los recursos,

    tiempo y otra informacin

    relacionada con el proyecto.

    3. evaluar los riesgos

    tcnicos y de gestin del

    proyecto.

    4. construir una o msrepresentacin es de la

    aplicacin software.

    5. construir la aplicacin,

    instalarla, probarla y

    proporcionar soporte al

    usuario o cliente

    6. Obtener la reaccin del

    cliente, segn la evaluacin

    de lo creado e instalado en

    los ciclos anteriores.

    Nivel 1: est orientado al

    cliente. El inicio del

    proyecto y el fin del proyecto

    constituyen los dos extremos

    del ciclo. Se compone

    del anlisis de requisitos y

    especificaciones, se traduce

    en un documento de

    requisitos y especificaciones.

    Nivel 2: se dedica a lascaractersticas funcionales

    del sistema propuesto.

    Puede considerarse el

    sistema como una caja

    negra, y caracterizarla

    nicamente con aquellas

    funciones que son directa o

    indirectamente visibles por

    el usuario final, se traduce

    en un documento de anlisis

    funcional.

    ElNivel 3: define los

    componentes hardware y

    software del sistema final, a

    cuyo conjunto se

    denomina arquitectura del

    sistema.

    Nivel 4: es la fasede implementacin, en la

    que se desarrollan los

    elementos unitarios o

    mdulos del programa.

    Incremento 1:

    Anlisis-Diseo-Cdigo-

    Pruebas Entrega de 1er

    incremento.

    Incremento 2: Anlisis-

    Diseo-Cdigo-Pruebas

    Entrega de 2do incremento.

    Incremento 3: Anlisis-

    Diseo-Cdigo-Pruebas

    Entrega de

    3er incremento

    Incremento 4: Anlisis-

    Diseo-Cdigo-Pruebas

    Entrega de

    4to incremento.

    1. Modelado de

    gestin: Flujo de informacin

    entre las funciones de

    gestin responde las

    siguientes preguntas: qu

    informacin conduce al

    proceso de gestin?, A

    dnde va la informacin?,

    Quin la procesa?

    2. Modelado de datos: flujode informacin definido

    como parte de la fase del

    modelado de gestin se

    refina como un conjunto de

    objetos y datos necesarios

    para apoyar la empresa.

    3. Modelado de

    procesos: los objetos de

    datos definidos en la fase de

    modelado quedan

    transformados para lograr el

    fin deseado.

    1. Planificacin del p

    Definir las historias de

    con el cliente, las hist

    usuario tienen la mism

    finalidad que los caso

    pero con algunas dife

    constan de 3 o 4 lnea

    por el cliente en un le

    tcnico, sin profundiz

    en los detalles2. Diseo.

    3. Codificacin. Debe

    atendiendo estndare

    codificacin ya creado

    facilitar su comprensi

    escalabilidad.

    4. Pruebas. Uso de te

    comprobar el funcion

    de los cdigos que se

    implementando.

    VENTAJAS

    Se tiene todo bien

    organizado y no se

    mezclan las fases.

    Es perfecto para

    proyectos que son

    rgidos, y adems

    donde se especifiquen

    muy bien los

    requerimientos y se

    conozca muy bien la

    herramienta a utilizar.

    Reduce riesgos del

    proyecto

    Incorpora objetivos de

    calidad.

    Integra el desarrollo con

    el mantenimiento, etc.

    Adems es posible

    tener en cuenta mejoras

    y nuevos requerimientos

    sin romper con la

    metodologa, ya que

    este ciclo de vida no es

    rgido ni esttico.

    Es un modelo simple y

    fcil de utilizar.

    En cada una de las fases

    hay entregables

    especficos.

    Tiene una alta

    oportunidad de xito

    sobre el modelo en

    cascada debido al

    desarrollo de planes de

    prueba en etapas

    tempranas del ciclo de

    vida.

    Es un modelo que suele

    funcionar bien para

    proyectos pequeos

    donde los requisitos son

    entendidos fcilmente.

    Se reduce el tiempo de

    desarrollo inicial, ya que

    se implementa la

    funcionalidad parcial.

    proporciona todas las

    ventajas del modelo en

    cascada realimentado,

    reduciendo sus

    desventajas slo al

    mbito de cada

    incremento.

    ms rpido en

    comparacin del

    modelo de cascada. Resulta ms sencillo

    acomodar cambios al

    acotar el tamao de los

    incrementos.

    Permiten que los

    ingenieros de software

    desarrollen versiones

    cada vez ms

    completas del

    software.

    Producen una versin

    completa en forma

    incremental con cada

    iteracin

    Programacin o

    menor taza de

    Satisfaccin de

    programador

    DESVENTAJAS

    Un proyecto rara vez

    sigue una secuencia

    lineal, esto crea una

    mala implementacin

    del modelo, lo cual

    hace que lo lleve al

    fracaso.

    Genera mucho tiempo

    en el desarrollo del

    sistema

    Modelo costoso

    Requiere experiencia

    en la identificacin de

    riesgos.

    Es un modelo muy rgido,

    como el modelo en

    cascada.

    Tiene poca flexibilidad y

    ajustar el alcance es

    difcil y caro.

    El software se desarrolla

    El modelo Incremental

    no es recomendable

    para casos de sistemas

    de tiempo real, de alto

    nivel de seguridad, de

    procesamiento

    distribuido, y/o de alto

    Para proyectos grandes,

    necesita suficientes

    recursos humanos para

    crear el nmero

    correcto de equipos

    DRA

    Si los desarrolladores y

    Es recomendable

    emplearlo solo e

    proyectos a corto

    Altas comisiones

    de fallar.

    1Vase las figuras de los modelos en el apndice.

  • 5/26/2018 Articulo Cientifico

    4/6

    El proceso de creacin

    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.

    durante la fase de

    implementacin, por lo

    que no se producen

    prototipos del software.

    ndice de riesgos.

    Requiere de mucha

    planeacin, tanto

    administrativa como

    tcnica.

    Requiere de metas

    claras para conocer el

    estado del proyecto.

    clientes no se

    comprometen con las

    actividades rpidas

    necesarias para

    completar un sistema en

    un marco de tiempo

    muy breve, los

    proyectos fallarn.

    Si un sistema no se

    puede modular en

    forma apropiada, la

    construccin de los

    componentes

    necesarios serproblemtica

    inapropiado cuando los

    riesgos tcnicos son

    altos cuando se

    aplican muchas nuevas

    tecnologas.

    USOS El modelo en cascada sedespea bien en

    proyectos con requisitos

    claros o cuando se trabaja

    con herramientas tcnicas

    y es des aconsejable

    cuando se necesita un

    rpido desarrollo.

    El modelo en espiral es

    beneficioso en proyectos

    que necesitan reduccin de

    riesgos.

    Se trata de un proceso

    idneo, por su robustez, para

    proyectos pequeos, con

    equipos de una a cinco

    personas, por lo que es ideal

    por su claridad, para toda

    esa gente que nunca ha

    programado siguiendo una

    metodologa.

    El modelo incremental es til

    sobre todo cuando el

    personal necesario para una

    implementacin completa

    no esta disponible.

    El modelo DRA es utilizado

    para ciclos de vida del

    software cortos.

    Es utilizado para la cre

    desarrollo prctico de

    software, es utilizado

    ltimamente ya que e

    metodologa gil para

    desarrollo.

    Nota: En la actualidad el modelo en espiral y el incremental son los que ms se utilizan en los proyectos de software en el

    entorno de la vida diaria.

    3. Importancia del software en un caso particular de la vida real.

    Ejemplo de la importancia del software: Dos consultorios dentales, ambos cuentan con los ltimos modelos de computadora

    personal y destinada a apoyar las tareas y actividades relacionadas con el consultorio. Pero uno de ellos cuenta con un

    dispositivo especial conectado a la computadora y un SOFTWARE para obtener radiografas de piezas dentales por

    computadora, en un par de minutos la muestra radiogrfica esta en pantalla y el mdico puede obtener diferentes vistas de la

    placa usando el software. Adems puede establecer una conexin a travs de internet o va modem para enviar el archivo de la

    radiografa a otro colega experto con el fin de consultar y apoyar el diagnostico, todo esto en la misma cita. En la forma

    tradicional la placa radiogrfica esta lista en un par de das.

    4. Material y Mtodo

    El mtodo a emplear es de carcter investigativo con el fin de documentarnos de cmo se diferencia cada una de las fases de

    los ciclos de vida del software. Se demuestran ejemplos sobre la efectividad que tiene la ingeniera del software en la mayora

    de los sistemas del mundo real.

    5. Resultados

    Comprender la gran importancia del ciclo de vida de un software, as como la gran efectividad que tiene cada uno de los

    modelos para el desarrollo de un proyecto de carcter analtico, cientfico y tecnolgico a nivel de ingeniera.

    6. Conclusiones

    La creacin de un software de calidad es primordial hoy en da para el ingeniero del software, para ello el mismo debe de ser

    robusto, amigable, fcil de modificar, y para que dure un gran periodo estar en constante actualizacin.

    Por consiguiente no todo software es 100% seguro, y ninguno garantiza el xito de ciertas tareas que el usuario desee que el

    mismo haga, el xito solo lo adquirir si le da el uso adecuado y cuenta con todos los mecanismos y mquinas apropiadas para

    lograr sus objetivos propuestos.

    Para que un software alcance un gran nivel de vida el ingeniero debe de tomar en cuenta lo

    Siguiente:

  • 5/26/2018 Articulo Cientifico

    5/6

    Una buena definicin de los requerimientos que garantizarn el xito del proyecto y la satisfaccin del cliente.

    El modelo de proceso utilizado deber corresponder al mbito y necesidades del proyecto.

    Es necesario identificar cules son los roles, artefactos y/o entregables del proyecto.

    Tanto un elemento como un paquete de trabajo son productos tangibles y cuantificables.

    Los Proyectos reales no siguen por lo general un flujo secuencial de actividades.

    El modelado en espiral y el incremental son los que ms se puedan utilizar en los proyectos de software de la

    actualidad.

    7. Apndices:

    Fig.1

    Fig.2

    Fig.3

  • 5/26/2018 Articulo Cientifico

    6/6

    Fig.4

    Modelo Incremental

    Fig.5

    Modelo DRA

    Fig.6

    METODOLOGIA XP (extreming programming)

    8. Bibliografa

    Ian Somerville: Ingeniera de Software. Editorial Pearson Addison Wesley.Sptima Edicin.Madrid, 2005.

    Mitchel H. Levine, Analyzing the Deliverables Produced in the Software Development Life Cycle (2000)