Alanew

download Alanew

of 5

Transcript of Alanew

  • 7/24/2019 Alanew

    1/5

    EL SOFTWARE Y LA INGENIERA DE SOFTWARE

    El software es un elemento clave en la evolucin de sistemas y productosbasados en computadoras, y una de las tecnologas ms importantes en todoel mundo. En los ltimos 50 aos, el software a pasado de ser la solucin deun problema especiali!ado y erramienta de anlisis de la informacin a unaindustria en s misma. "o obstante, an ay problemas para desarrollarsoftware de alta calidad a tiempo y dentro del presupuesto asignado.El software #programas, datos e informacin descriptiva# se dirige a unagama amplia de tecnologa y campos de aplicacin. El software eredado sigueplanteando retos especiales a $uienes deben darle mantenimiento.%os sistemas y aplicaciones basados en web an evolucionado de simples

    con&untos de contenido de informacin a sistemas sofisticados $ue presentanuna funcionalidad comple&a y contenido en multimedios. 'un$ue dicaswebapps tienen caractersticas y re$uerimientos nicos, son software.%a ingeniera de software incluye procesos, m(todos y erramientas $uepermiten elaborar a tiempo y con calidad sistemas comple&os basados encomputadoras. El proceso de software incorpora cinco actividadesestructurales) comunicacin, planeacin, modelado, construcciny despliegue $ue son aplicables a todos los proyectos de software. %a prcticade la ingeniera de software es una actividad para resolver problemas, $uesigue un con&unto de principios fundamentales.*ucos mitos del software todava acen $ue administradores y traba&adoresse e$uivo$uen, aun cuando a aumentado nuestro conocimiento colectivo delsoftware y las tecnologas re$ueridas para elaborarlo. +onforme el lectoraprenda ms sobre ingeniera de software, comen!ar a entender por $u(deben rebatirse estos mitos cada ve! $ue sur&an.

    MODELOS DEL PROCESO

    n modelo general del proceso para la ingeniera de software incluye uncon&unto de actividades estructurales y sombrilla, acciones y tareas de traba&o.+ada uno de los modelos de proceso puede describirse por un flu&o distinto del

    proceso) descripcin de cmo se organi!an secuencial y cronolgicamente lasactividades estructurales, acciones y tareas. %os patrones del proceso-ueden utili!arse para resolver los problemas comunes $ue surgen como partedel proceso del software.%os modelos de proceso prescriptivo se an aplicado durante mucos aos enun esfuer!o por introducir orden y estructura al desarrollo de software. +adauno de dicos modelos sugiere un flu&o de proceso algo distinto, pero todosllevan a cabo el mismo con&unto de actividades estructurales generales)comunicacin, planeacin, modelado, construccin y desarrollo.%os modelos de proceso secuencial, como el de la cascada y en , son losparadigmas ms antiguos del software. /ugieren un flu&o lineal del proceso $uecon frecuencia no es congruente con las realidades modernas cambiocontinuo, sistemas en evolucin, pla!os a&ustados, etc.1 del mundo del

  • 7/24/2019 Alanew

    2/5

    software. /in embargo, tienen aplicacin en situaciones en las $ue losre$uerimientos estn bien definidos y son estables.%os modelos de proceso incremental son de naturale!a iterativa y producencon muca rapide! versiones funcionales del software. %os modelos deproceso evolutivo reconocen la naturale!a iterativa e incremental de la mayora

    de proyectos de ingeniera de software y estn diseados para aceptar loscambios. %os modelos evolutivos, tales como el de acer prototipos yel espiral, generan rpido productos de traba&o incremental o versionesfuncionales del software1.Estos modelos se adoptan para aplicarse a lo largo de todas las actividades dela ingeniera de software, desde el desarrollo del concepto asta elmantenimiento del sistema a largo pla!o.El modelo de proceso concurrente permite $ue un e$uipo de softwarerepresente los elementos iterativos y concurrentes de cual$uier modelo deproceso. %os modelos especiali!ados incluyen el basado en componentes, $uepone el (nfasis en la reutili!acin y ensamble de los componentes2 el modelo

    de m(todos formales consiste en un enfo$ue basado en matemticas paradesarrollar y verificar el software2 y el modelo orientado a aspectos implicapreocupaciones globales $ue afectan toda la ar$uitectura del sistema. Elproceso unificado es un proceso del software diseado como estructura paralos m(todos y erramientas del *%, y est 3impulsado por el caso de uso,centrado en la ar$uitectura, y es iterativo e incremental4./e an propuesto modelos personal y del e$uipo para el proceso del software.'mbos enfati!an la medicin, planeacin y autodireccin como los ingredientesclave para un proceso eitoso del software.

    DESARROLLO GILEn una economa moderna, las condiciones del mercado cambian con rapide!,los clientes y usuarios finales necesitan evolucionar y surgen nuevas amena!ascompetitivas sin aviso previo.%os profesionales deben enfocar la ingeniera de software en forma $ue lespermita mantenerse giles para definir procesos maniobrables, adaptativos yesbeltos $ue satisfagan las necesidades de los negocios modernos.na filosofa gil para la ingeniera de software pone el (nfasis en cuatroaspectos clave) la importancia de los e$uipos con organi!acin propia $uetienen el control sobre el traba&o $ue reali!an, la comunicacin y colaboracin

    entre los miembros del e$uipo y entre los profesionales y sus clientes, elreconocimiento de $ue el cambio representa una oportunidad y la insistenciaen la entrega rpida de software $ue satisfaga al consumidor. %os modelos deproceso gil an sido diseados para abordar cada uno de estos aspectos.%a programacin etrema 6-1 es el proceso gil de ms uso. 7rgani!ada concuatro actividades estructurales) planeacin, diseo, codificacin y pruebas, la6- sugiere cierto nmero de t(cnicas innovadoras y poderosas $ue permiten aun e$uipo gil generar entregas frecuentes de software $ue poseecaractersticas y funcionalidad $ue an sido descritas y clasificadas segnsu prioridad por los participantes. 7tros modelos de proceso gil tambi(ninsisten en la colaboracin umana y en la organi!acin propia del e$uipo, pero

    definen sus actividades estructurales y seleccionan diferentes puntos

  • 7/24/2019 Alanew

    3/5

    de importancia. -or e&emplo, el 8'/ utili!a un proceso iterativo $ue incluye unciclo de planeacin adaptativa, m(todos relativamente rigurosos para recabarre$uerimientos, y un ciclo de desarrollo iterativo $ue incorpora grupos deconsumidores y revisiones t(cnicas formales como mecanismos deretroalimentacin en tiempo real. El /crum pone el (nfasis en el uso de

    un con&unto de patrones de software $ue an demostrado ser eficaces paraproyectos $ue tienen pla!os de entrega apretados, re$uerimientos cambianteso $ue se emplean en negocios crticos.+ada patrn de proceso define un con&unto de tareas de desarrollo y permite ale$uipo /crum construir un proceso $ue se adapte a las necesidades delproyecto. El m(todo de desarrollo de sistemas dinmicos *8/81 resalta eluso de la programacin con ca&a de tiempo y sugiere $ue en cada incrementode software slo se re$uiere el traba&o suficiente $ue facilite el paso alincremento $ue sigue. +ristal es una familia de modelos de proceso gil $ue seadaptan a las caractersticas especficas del proyecto.El desarrollo impulsado por las caractersticas 89+1 es algo ms 3formal4 $ue

    otros m(todos giles, pero conserva su agilidad al centrar al e$uipo delproyecto en el desarrollo de caractersticas, funciones valiosas para el cliente$ue pueden implementarse en dos semanas o menos. El desarrollo esbelto desoftware 8E/1 a adaptado los principios de la manufactura esbelta al mundode la ingeniera de software. El modelado gil *'1 sugiere $ue el modelado esesencial para todos los sistemas, pero $ue la comple&idad, tipo y tamao delmodelo deben a&ustarse al software $ue se va a elaborar. El proceso unificadogil -'1 adopta una filosofa 3serial en lo grande4 e 3iterativo en lo pe$ueo4para la elaboracin de software.

    MODELADO%a prctica de la ingeniera de software incluye principios, conceptos, m(todosy erramientas $ue los ingenieros de software aplican en todo el proceso dedesarrollo. :odo proyecto de ingeniera de software es diferente. "o obstante,eiste un con&unto de principios generales $ue se aplican al proceso como untodo y a cada actividad estructural, sin importar cul sea el proyectoo el producto.Eiste un con&unto de principios fundamentales $ue ayudan en la aplicacin deun proceso de software significativo y en la e&ecucin de m(todos de ingenierade software efica!. En el nivel del proceso, los principios fundamentales

    establecen un fundamento filosfico $ue gua al e$uipo de software cuandoavan!a por el proceso del software. En el nivel de la prctica, los principiosfundamentales establecen un con&unto de valores y reglas $ue sirven comogua al anali!ar el diseo de un problema y su solucin, al implementar (sta yal someterla a prueba para, finalmente, desplegar el software en la comunidaddel usuario.%os principios de comunicacin se centran en la necesidad de reducir el ruido yme&orar el anco de banda durante la conversacin entre el desarrollador y elcliente.'mbas partes deben colaborar a fin de lograr la me&or comunicacin.%os principios de planeacin establecen lineamientos para elaborar el me&ormapa del proceso acia un sistema o producto terminado. El plan puededisearse slo para un incremento del software, o para todo el proyecto. /in

  • 7/24/2019 Alanew

    4/5

    $ue esto importe, debe definir lo $ue se ar, $ui(n lo ar y cundo seterminar el traba&o.El modelado incluye tanto el anlisis como el diseo, y describerepresentaciones cada ve! ms detalladas del software. El ob&etivo de losmodelos es afirmar el entendimiento del traba&o $ue se va a acer y dar una

    gua t(cnica a $uienes implementarn el software. %os principios de modeladodan fundamento a los m(todos y notacin $ue se utili!an para crearrepresentaciones del software.%a construccin incorpora un ciclo de codificacin y pruebas en el $ue segenera cdigo fuente para cierto componente y es sometido a pruebas. %osprincipios de codificacin definen las acciones generales $ue deben tener lugarantes de $ue se escriba el cdigo, mientras se escribe y una ve! terminado.'un$ue ay mucos principios para las pruebas, slo uno predomina)la prueba es el proceso $ue lleva a e&ecutar un programa con ob&eto deencontrar un error.El despliegue ocurre cuando se presenta al cliente un incremento de software,

    e incluye la entrega, apoyo y retroalimentacin. %os principios clave para laentrega consideran la administracin de las epectativas del cliente y darleinformacin de apoyo adecuada sobre el software.El apoyo demanda preparacin anticipada. %a retroalimentacin permite alcliente sugerir cambios $ue tengan valor para el negocio y $ue brinden aldesarrollador informacin para el ciclo iterativo siguiente de ingeniera desoftware.

    COMPRENSIN DE LOS REQUERIMIENTOS

    %as tareas de la ingeniera de re$uerimientos se reali!an para establecer unfundamento slido para el diseo y la construccin. %a ingeniera dere$uerimientos ocurre durante las actividades de comunicacin y modelado $uese ayan definido para el proceso general del software.%os miembros del e$uipo de software llevan a cabo siete funciones deingeniera de re$uerimientos)+oncepcin, indagacin, elaboracin, negociacin, especificacin, validacin yadministracin.En la concepcin del proyecto, los participantes establecen los re$uerimientosbsicos del problema, definen las restricciones generales del proyecto, ascomo las caractersticas y funciones principales $ue debe presentar el sistema

    para cumplir sus ob&etivos. Esta informacin se me&ora y ampla durante laindagacin, actividad en la $ue se recaban los re$uerimientos y $ue ace usode reuniones $ue lo facilitan, 8;+ y el desarrollo de escenarios de uso.%a elaboracin ampla an ms los re$uerimientos en un modelo) una coleccinde elementos basados en escenarios, clases y comportamiento, y orientados alflu&o. El modelo ace referencia a patrones de anlisis) soluciones paraproblemas de anlisis $ue se a observado $ue son recurrentes en diferentesaplicaciones.+onforme se identifican los re$uerimientos y se crea su modelo, el e$uipo desoftware y otros participantes negocian la prioridad, la disponibilidad y el costorelativo de cada re$uerimiento.

  • 7/24/2019 Alanew

    5/5

    'dems, se valida cada re$uerimiento y su modelo como un todo comparadocon las necesidades del cliente a fin de garanti!ar $ue va a construirse elsistema correcto.