You are on page 1of 12

UNIVERSIDAD NACIONAL DE CHIMBORAZO

Facultad de Ingeniera Carrera de Ingeniera Industrial Trabajo de Investigacin de Informtica 1 Tema: Software libre aplicadas a la ingenieria Docente: Patricio Villacres Autor: Wilmer Pallo

HERRAMIENTAS DE SOFTWARE LIBRE APLICADAS A LA INGENIERIA Alrespectodelaingenieradesoftwareysuaplicacinenentornosdesoftwarelibre,sehan escritociertacantidaddepublicaciones.Dosdeellasllamaronmiatencin,porloquelespresento unextractodecadaunadeellas. LaIngenieradeSoftwareLibreysusHerramientasAplicadasaProyectosInformticosporMauro CallejasCuervo LaIngenieradeSoftwareLibre(ISL)permitequelametodologaparaeldesarrollodeaplicaciones selleveacabodemaneraamplia,yaseautilizandounenfoqueestructuradodeanlisisydiseo [Wittenetal,1996],[Yourdon,1990],[Kendall&Kendall,1998],unenfoqueorientadoporobjetos [Meyer,1998]oalgnotrotipodeparadigma;ademsnolimitaalosanalistasydiseadoresa utilizarunatcnicademodeladoydiagramacin,comoUML[Jacobsonetal,1999]oelmodelado estructurado,niofrecerecomendacionesquepermitanevaluarelniveldecalidaddeuna organizacin,comolopromueveTheCapabilityMaturityModel,CMM[Paulketal,1993].Ms biensefundamentaenquesedebetrabajarenequipo,conelfindefomentarunamayor participacindeelementosparaeldesarrolloptimodeaplicaciones,sindejardeladolautilizacin detcnicasyherramientasqueaqusemencionan.Adems,sedebetenerencuentaeltiempoylos recursosasignadosparacumplirconlastareasinvolucradas,evitandolaprdidadetiempoo abandonodelosproyectos. ConlaISLsepretendepromoverelusodesistemasoperativos,lenguajesdeprogramacin,bases dedatosydemsherramientasdesoftwaredecarcterlibreparalacreacindeaplicaciones. IngenieradelSoftwareLibre.AbriendounanuevaramadelaIngenieradelsoftwareporGregorio Robles Enciertamedida,laingenieradelsoftwarelibrepretendedesposeerdeesa"magia"quepareceque esintrnsecaalosdesarrollosdesoftwarelibreycuantificarunosparmetrosquenospermitan predecirconexactitudcostes,plazosyrecursoshumanos.Comoconsecuencia,aunquepodemos considerarqueenlaactualidadelsoftwarelibreadolecedeestosmtodosencontraposicinalas formasdedesarrollotradicionales,tambinesciertoque,porlosmotivosqueseestndesarrollando

enesteartculo,nolefaltaprecisamentepotencialparaqueestasituacincambieenelfuturo. Igualmentepretendeserunaformadeintroducirlasvirtudesdelaingenieradelsoftwareenel desarrolloavecesdemasiadoanrquicodesoftwarelibre.Sertareadelaingenieradelsoftware encontrarformasparaquelosdesarrolladoresdesoftwarelibreproduzcansoftwaredegrancalidad siguiendoparadigmasdecreacin,produccinymantenimientoqueaslocertifiquen.

Laingenieradelsoftwarelibrecuentacomoobjetivoacortoplazopoderrealizarunanlisis completoaldesarrollodesoftwarelibrequepermitaindagarprofundamenteenlosprocesosque estninvolucrados,ascomoenlasconsecuenciasqueciertasaccionestienensobreelconjuntodel desarrollo.

...Utilizandosmileshistricos,lasituacinqueseviveenlaactualidadenlageneracinde softwarelibreconcuerdaconlaquedescribidelaeconomaAdamSmithhacecasitressiglos. Smithconstatqueexistanunosparmetroseconmicosclaros(ofertaydemanda),unasformasde interaccionar(transacciones)yconsecuenciaseconmicaspalpables.Sinembargo,noentendael modelogeneralquehacaquetodotuvierasentidoyfuncionaraconjuntamente.Loquehacaque ofertaydemandacuadraseneraparalliteralmenteuna"manonegra",quemstardesedioa llamarmercado.Hoyendatodoslosciudadanos,ansincomprenderlocompletamente,tenemos msomenosunaideaintuitivadeloqueesunmercado. Graciasaladefinicindemercadoyalainvestigacindeloselementosquelocomponen,las cienciaseconmicashandadounpasodegigantequejuntoconlarevolucinindustrialhallevadoa unbienestarenlospasesindustrializadosnuncaimaginado. Enciertosentido,estasituacinsevivehoyendaenelsoftwarelibre,dondenosencontramoscon queexisteunaespeciede"manonegra"quehacequemgicamentesegeneresoftwarelibre.Sin embargo,esnecesariollegaraconocerconmayorprofundidadlascomplejasinteraccionespara podercomprenderloqueestsucediendoyllegarapredecirelfuturo.Tambindebeservircomo puntodepartidadeacumulacindeexperiencia,yaquelaingenieraenrealidadnoesotracosaque unconjuntodeexperienciasexitosasdebidamenteempaquetadasparapoderserreproducidasunay otravez.

HERRAMIENTASDELAINGENIERADELAINFORMACIN. Estas herramientas CASE modelan la informacin de negocios cuando sta se transfiere entre distintas entidades organizativas en el seno de una compaa. El objetivo primordial de las herramientas de esta categora consiste en representar objetos de datos de negocios, sus relaciones, y ayuda a comprender mejor la forma en que fluyen estos objetos de datos entre distintas zonas de negocio en el seno de la compaa. Estas herramientas proporcionan una ayuda importante cuando se disean nuevas estrategias para los sistemas de informacin y cuando los mtodos y sistemas no satisfacen las necesidades de la organizacin. MODELADO DE PROCESOS Y HERRAMIENTAS DE ADMINISTRACIN. Se utilizan para representar los elementos clave del proceso de modo que sea posible entenderlo mejor. Estas herramientas tambin pueden proporcionar vnculos con descripciones de procesos que ayuden a quienes estn implicados en el proceso de comprender las tareas que se requieren para llevar a cabo ese proceso. Las herramientas de administracin de procesos pueden proporcionar vnculos con otras herramientas que proporcionen un apoyo para actividades de proceso ya definidas. HERRAMIENTAS DE PLANIFICACIN DE PROYECTOS. Las herramientas de esta categora se concentran en dos reas primordiales: Estimacin de esfuerzos de proyecto y de costes de software. Calculan el esfuerzo estimado, la duracin del proyecto y el numero recomendado de personas. Planificacin de proyectos. Capacitan al administrador para definir todas las reas del proyecto (la estructura de desglose de tareas), para crear una red de tareas (normalmente empleando una entrada grfica), para representar las interdependencias entre tareas y para modelar la cantidad de paralelismo que sea posible para ese proyecto. HERRAMIENTAS DE ANLISIS DE RIESGOS Las herramientas de anlisis de riesgos capacitan al administrador el proyecto para construir una tabla de riesgos proporcionando una gua detallada en la identificacin y

anlisis de riesgos. HERRAMIENTAS DE ADMINISTRACIN DE PROYECTOS. La planificacin del proyecto y el plan del proyecto deben seguirse y de monitorizarse de forma continua. Adems, el gestor deber de utilizar las herramientas que recojan mtricas que en la ultima instancia proporcionen una indicacin de la calidad el producto del software. Las herramientas de esta categora suelen ser extensiones de herramientas de planificacin de proyectos. HERRAMIENTAS DE SEGUIMIENTO DE REQUISISTOS Cuando se desarrollan grandes sistemas, el sistema proporcionado suele no satisfacer los requisitos especificados por el cliente. El objetivo de las herramientas de seguimiento de requisitos es proporcionar un enfoque sistemtico para el aislamiento de requisitos, comenzando por las especificaciones del cliente. Las herramientas de trazado de requisitos tpicos combinan una evaluacin de textos por interaccin humana, con un sistema de gestin de bases de datos que almacena y categora todos y cada uno de los requisitos del sistema que se "analizan" a partir de las especificaciones originales. HERRAMIENTAS DE MTRICAS Y GESTIN. Las mtricas del software mejoran la capacidad del administrador para controlar y coordinar el proceso del software y la capacidad del ingeniero para mejorar la calidad del software que se produce. Las herramientas mtricas actuales se centran en procesos, proyectos y caractersticas del producto. Las herramientas orientadas a la gestin capturan mtricas especificas del proyecto (por ejemplo: LDC/personamos, defectos por punto de funcin) que proporcionan una indicacin global de productividad o de calidad. Las herramientas orientadas tcnicamente determinan mtricas tcnicas que proporcionan una mejor visin de la calidad del diseo o del cdigo. Muchas de las herramientas mtricas avanzadas mantiene una base de datos de medidas de medias de la industria. Basndose en caractersticas de proyectos y de productos proporcionados por el usuario, estas herramientas califican los nmeros locales frente a los valore medios de la

industria (y frente al rendimiento local anterior) y sugieren estrategias para llegar a mejoras. Estas herramientas utilizan un sistema experto para sugerir el orden en el que se debe llevar a cabo un proyecto. HERRAMIENTAS DE DOCUMENTACIN Las herramientas de produccin de documentos y autoedicin prestan su apoyo a casi todos los aspectos de la ingeniera del software, y representan una importante oportunidad de aprovechamiento para todos los desarrolladores del software. La mayor parte de las organizaciones dedicadas al desarrollo de software invierte una cantidad de tiempo considerable en el desarrollo de documentos, y en muchos casos el proceso de documentacin en si resulta bastante deficiente. No es raro que una organizacin de desarrollo de software invierta hasta en un 20 o 30 pro ciento de su esfuerzo global de desarrollo de software en la documentacin. Por esta razn, las herramientas de documentacin suponen una oportunidad importante para mejorar la productividad. HERRAMIENTAS DE SOFTWARE DE SISTEMA. CASE es una tecnologa de estaciones de trabajo. Por tanto, el entorno CASE debe adaptase a un software de sistema en redes de alta calidad, al correo electrnico, a los boletines electrnicos y a otras capacidades de comunicaciones. HERRAMIENTAS DE CONTROL DE CALIDAD. La mayor parte de las herramientas CASE que afirman que tiene como principal inters el control de calidad son en realidad herramientas mtricas que hace una auditoria del cdigo fuente para determinar si es justa o no a ciertos estndares del lenguaje. Otras herramientas extraen mtricas tcnicas como base para medir la calidad del software que se esta construyendo.
HERRAMIENTAS DE GESTIN COMO BASE DE DATOS.

El software de gestin de bases de datos sirve como fundamentos para establecer una base de datos CASE. Dado el nfasis acerca de los objetos de configuracin, las herramientas de gestin de bases de datos para CASE pueden evolucionar a partir de los sistemas de gestin de bases de datos relacionales (SGBDR) para transformarse en sistemas de gestin de bases de datos orientadas a objetos(SGBDOO).

HERRAMIENTAS DE CODIFICACIN DE CUARTA GENERACIN. Los sistemas de consulta de bases de datos, los generadores de cdigo y los lenguajes de cuarta generacin han cambiado la forma en que se desarrollan los sistemas. Idealmente, estas herramientas de generacin de cdigo no solo traducen la descripcin de un sistema operativo, sino que tambin ayudan a verificar la correccin de la especificacin del sistemas de tal forma que la salida resultante satisfaga los requisitos del usuario. Los lenguajes de cuarta generacin se usan ampliamente en aplicaciones de sistemas de informacin. Aunque los lenguajes de cuarta generacin, los generadores de cdigo y los generadores de aplicaciones, permiten que un ingeniero de software especifique un sistema a un nivel muy alto de abstraccin; cada una de estas herramientas difiere en aspectos importantes. HERRAMIENTAS DE MANTENIMIENTO Las herramientas CASE para el mantenimiento de software abarcan una actividad que actualmente ocupa, aproximadamente, el 70% del esfuerzo total dedicado al software. La categora de herramientas de mantenimiento puede subdividirse de la siguiente forma: Herramientas de ingeniera inversa a especificaciones. Toman el cdigo fuente como entrada y generan modelos de diseo y anlisis estructurado, listas de utilizacin y otra informacin con el diseo. Herramientas de reestructuracin y anlisis de cdigo. Analizan la sintaxis del programa, generan un grafo de flujo de control y un programa estructurado. Herramientas interactivas de reingeniera de sistema. Se utilizan para modificar sistemas de base de datos. Estas herramientas estn limitadas a lenguajes de programacin especficos y requieren cierto grado de interaccin con el ingeniero de software. HERRAMIENTAS DE GESTIN DE CONFIGURACIN DE SOFTWARE. La gestin de configuracin de software (GCS) se encuentra en el ncleo de todos los entornos CASE. Las herramientas pueden ofrecer su asistencia en las cinco tareas

principales de GCS: identificacin, control de versiones control de cambios, auditoria y contabilidad de estados. La base de datos CASE proporciona un mecanismo para identificar todos los elementos de configuracin y relacionarlo con otros elementos; un acceso sencillo a los elementos de configuracin individuales facilita el proceso de auditoria; las herramientas de comunicacin CASE pueden mejorar enormemente la contabilidad de estados (ofreciendo informacin acerca de los cambios a todos aquellos que necesiten conocerlos). HERRAMIENTAS DE ANLISIS Y DISEO. Las herramientas de anlisis y diseo capacitan al ingeniero del software para crear modelos del sistema que haya que construir. Los modelos contienen una representacin de los datos, de la funcin y del comportamiento (en el nivel de anlisis), as como caracterizaciones del diseo de datos, arquitectura, procedimientos e interfaz. Al efectuar una comprobacin de la consistencia y validez del modelo, las herramientas de anlisis y diseo proporcionan al ingeniero del software un cierto grado de visin en lo tocante a la representacin del anlisis, y le ayudan a eliminar errores antes de que se propaguen al diseo, o lo que es peor, a la propia implementacin. HERRAMIENTAS PRO/SIM. Las herramientas PRO/SIM (de prototipos y simulacin) proporcionan al ingeniero del software la capacidad de predecir el comportamiento de un sistema en tiempo real antes de llegar a construirlo. Adems, capacitan al ingeniero del software para desarrollar simulaciones del sistema de tiempo real que permitirn al cliente obtener ideas acerca de su funcionamiento, comportamiento y respuesta antes de la verdadera implementacin. HERRAMIENTAS DE DESARROLLO Y DISEO DE INTERFAZ. Las herramientas de desarrollo y diseo de interfaz son en realidad un conjunto de primitivas de componente de programas tales como mens, botones, estructuras de ventanas, iconos, mecanismos de desplazamiento, controladores de dispositivos, etc., Sin embargo, estos conjuntos de herramientas se estn viendo sustituidos por herramientas de generacin de prototipos de interfaz que permiten una rpida creacin en pantalla de sofisticadas interfaces de usuario, que se ajustan al estndar de interfaz que se haya adoptado para el software.

HERRAMIENTAS DE GENERACIN DE PROTOTIPOS. Se puede utilizar toda una gama de herramientas de generacin de prototipos. Los generadores de pantallas permiten al ingeniero de software definir rpidamente la disposicin de pantalla para aplicaciones interactivas. Otras herramientas de prototipos CASE mas sofisticadas permiten la creacin de un diseo de datos, acoplado con las disposiciones de la pantalla y de los informes simultneamente. Muchas herramientas de anlisis y diseo proporcionan extensiones que ofrecen alguna opcin de generacin de prototipos. Las herramientas PRO/SIM generan un esqueleto de cdigo fuente en Ada y C para las aplicaciones de ingeniera (en tiempo real). Por ultimo, una gama de herramientas de cuarta generacin poseen tambin caractersticas de generacin de prototipos. HERRAMIENTAS DE PROGRAMACIN. La categora de herramientas de programacin abarca los compiladores, editores y depuradores que estn disponibles para prestar su apoyo en la mayora de los lenguajes de programacin convencionales. Adems, los entornos de programacin orientados a objetos (OO), los lenguajes de cuarta generacin, los entornos de programacin grfica, los generadores de aplicaciones y los lenguajes de consulta de bases de datos residen tambin en esta categora. HERRAMIENTAS DE INTEGRACIN Y COMPROBACIN. En su directorio de herramientas de comprobacin de software, software Quality Engineering define las siguientes categoras de herramientas de comprobacin: Adquisicin de datos: herramientas que adquieren datos que se utilizaran durante la comprobacin. Medida esttica: herramientas que analizan el cdigo fuente sin ejecutar casos de prueba. Medida dinmica: herramientas que analizan el cdigo fuente durante la ejecucin. Simulacin: herramientas que simulan las funciones del hardware o de otros elementos externos. Administracin de comprobaciones: herramientas que prestan su asistencia en la planificacin, desarrollo y control de las comprobaciones.

Herramientas de funcionalidad cruzada: se trata de herramientas que cruzan los limites de las categoras anteriores. Debera tenerse en cuenta que muchas de las herramientas de comprobacin poseen caractersticas que abarcan dos o ms de las categoras anteriores. HERRAMIENTAS DE ANLISIS ESTTICO. Las herramientas de anlisis esttico prestan su asistencia al ingeniero del software a efectos de derivar casos prcticos. Se utilizan tres tipos distintos de herramientas estticas de comprobacin en la industria: herramientas de comprobacin basadas en cdigo, lenguajes de comprobacin especializados, y herramientas de comprobacin basadas en requisitos. Las herramientas de comprobacin basadas en cdigo admiten un cdigo fuente (o PDL) como entrada y efectan un cierto numero de anlisis que can lugar a la generacin de casos de prueba. Los lenguajes de comprobacin especializados (por ejemplo: ATLAS) capacitan al ingeniero del software para escribir detalladas especificaciones de comprobacin que describirn todos los casos de prueba y la logstica de su ejecucin. Las herramientas de comprobacin basadas en requisitos aslan requisitos especficos del usuario y sugieren casos de prueba (o clases de comprobaciones) que ejerciten estos requisitos. HERRAMIENTAS DE ANLISIS DINMICO. Las herramientas de anlisis dinmico interactan con un programa que se est ejecutando, comprueban la cobertura de rutas, comprueban las afirmaciones acerca del valor de variables especificas y en general instrumentan el flujo de ejecucin del programa. Las herramientas dinmicas pueden ser bien intrusivas, bien no intrusivas. Las herramientas intrusivas modifican el software que hay que comprobar mediante sondas que se insertan (instrucciones adicionales) y que efectan las actividades mencionadas anteriormente. Las herramientas de comprobacin no intrusivas utilizan un procesador hardware por separado que funciona en paralelo con el procesador que contenga el programa que se est comprobando. HERRAMIENTAS DE GESTIN DE COMPROBACIN. Las herramientas de gestin de comprobacin se utilizan para comprobar y coordinar la comprobacin de software para cada uno de los pasos principales de comprobacin.

Las herramientas de esta categora administran y coordinan la comprobacin de regresiones, efectan comparaciones que determinan las diferencia s entre la salida real y la esperada, y efectan comprobaciones por lotes de programas con interfaces interactivas entre hombre y maquina. Adems de las funciones indicadas anteriormente, muchas herramientas de gestin de comprobaciones sirven tambin como controladores de comprobacin genricos. Un controlador de comprobacin lee uno o mas casos de prueba de algn archivo de pruebas, da formato a los datos de prueba para que se ajusten a las necesidades del software que se esta probando, e invoca entonces al software que sea preciso comprobar. HERRAMIENTAS DE COMPROBACIN CLIENTES/SERVIDOR. El entorno C/S existe unas herramientas de comprobacin especializadas que ejerciten la interfaz grfica de usuario y los requisitos de comunicaciones en red par el cliente y el servidor.

SistemadeOperativos Ubuntu Fedora OpenBsd

UsoenEcuador 6000 7400 2890

UsoenChina 15000 5700 4500

UsoTotal 21000 13100 7390

Tabla 1: Herramientas del software libre en la ingeniria

25000

20000

15000 Uso en Ecuador Uso en China Uso Total

10000

5000

0 Ubuntu Fedora Open Bsd

Dibujo 1: Herramientas del software libre en la ingeniria

You might also like