Está en la página 1de 37

Pgina 1 09/08/11 ICEL GARAY MACHUCA ROGELIO SEMINARIO DE TESIS

DEFINICION ACTUAL DE LA INGENIERIA EN SOFTWARE INTRODUCCION ABSTRACT MARCOTEORICO PLANTEAMIENTO DEL PROBLEMA INDICE Cap1.- REPRESENTACION DE UN PROCESO LOGICO, TIPODE INSTRUCCIONES Y MOVIMIENTO DE ELLAS EN UN MICROPROCESADOR Cap2.-FUNCIONALIDADES BASICAS Cap3.-PLANIFICACION ADAPTACION Y COMUNICACIN 4GL(HERRAMIENTAS CASE) Cap4.- LENGUAJES DE CUARTA GENERACION CAP5.- METODOLOGIA DE EVALUACION TERMINOLOGIA CAP6.- HERRAMIENTAS BASICAS PARA GENERAR VIDEO JUEGOS PROGRAMAS Y DISEO DE MUNDOS VIRTUALES CAP7.- REUTILIZACION CAP 8.-Evaluacin Conclusin bibliografia

INTRODUCCION El universo computacional est poblado por objetos, los mecanismos que aporta para la construccin de programas que en aprovechar un esquema alterno para el modelado de procesos computacionales La produccin y en tecnologa ingeniera en el mundo. diseo del producto y del proceso de produccin, modelado, pruebas de factibilidad, funcionalidad y conformabilidad, estudio de materias primas, evaluaciones de costos y tiempos, etctera. Es un procedimiento ineludible para la obtencin de piezas originales. Los sistemas construdos sobre la base de los microprocesadores, requieren para su puesta en marcha, el desarrollo del software, es decir, el desarrollo de programas que una vez contrudos, son almacenados en las memorias permanentes (PROM, EPROM,...) del sistema, donde son buscados por el microprocesador para desarrollar todas las funciones y tareas deseadas. -

DESARROLLO Un programa esta constituido por un conjunto ordenado de instrucciones, que constituyen el cuerpo principal del programa y uno o ms bloques de datos iniciales necesarios para una correcta ejecucin. El proceso bsico de ejecucin de un programa requiere por parte del microprocesador, la repeticin de los siguientes pasos: Leer de la memoria una instruccin del programa. Interpretar la instruccin leda. Ejecutar dicha instruccin. podemos encontrar herramientas muy bsicas de Ayuda al Desarrollo de Sistemas de Informacin, surgieron para intentar dar solucin a los problemas inherentes a los proyectos de generacin de aplicaciones informticas: plazos y presupuestos incumplidos, insatisfaccin del usuario, escasa productividad y baja calidad de los desarrollos. Algunas de estas herramientas se dirigen principalmente a mejorar la calidad, como es el caso de las herramientas CASE (Computer Aided Software Engineering-Ingeniera de Software Asistida por Ordenador). las principales herramientas de ayuda al desarrollo de Sistemas de Informacin, existentes en la actualidad: CASE, 4GL y otras herramientas de carcter especfico. Tambin se describe su funcionalidad y las caractersticas ms relevantes, con la finalidad de ayudar en la eleccin de la herramienta adecuada a cada caso. RESUMEN Los sistemas inteligentes integran, tres comportamientos bsicos que actan de forma autnoma en un ambiente tienen que ser capaces de: aprendizaje, planificacin y ejecucin. Software es un producto diseado para un usuario para lograr soluciones costoefectivas (eficaces en costo o econmicas) correctos, utilizables y costoefectivos" conjunto de conceptos, una metodologa y un lenguaje propio. A este proceso tambin se le llama el ciclo de vida del software, comprende cuatro grandes fases: concepcin, elaboracin, construccin y transicin. Abstract Intelligent systems that act autonomously in an environment have to be able to integrate three basic behaviors: learning, planning and execution. Software is a product designed for a user to achieve solutions Cost-effective ( cost- effective or economic ) correctly, usingand cost- effective "

MARCO TEORICO

los microprocesadores trabajan solamente con lenguaje de bajo nivel, es decir, trabajan con lenguaje mquina. Cada microprocesador o familia de microprocesadores, posee su propio lenguaje mquina que determina las capacidades propias de cada familia. Las instrucciones mquina son almacenadas en la memoria en forma de bytes, es decir, en forma de unos y ceros empleando por tanto el sistema binario de numeracin. Sin embargo este sistema es muy complejo para trabajar directamente en l, por lo que se emplean otros sistemas como el hexadecimal, BCD, etc. para la representacin de datos. Para construir los programas, normalmente se emplean lenguajes de alto nivel, y luego se transforman los programas as escritos a lenguaje mquina asequible para el microprocesador. manejan seales elctricas analgicas proporcioanales a medidas fsicas de tipo continuo y suelen aplicarse para controlar procesos y en determinados problemas de simulacin. Relacionar la energa con el proceso de interoperabilidad con el usuario maquina nos propone coincidir con los mtodos propicios de mantenr una activacin propia con los previstos de suguridad de software evitando la vulnerabilidad, intromisin de usuarios no autorizados, virus, u otro dao al que esta expuesta la informacin manejada por ciertos software o programas. Se pretende una clasificacin de enfoques que intencionan en el inters cognositivo, sobre la descripcin del funcionamiento del software, creacin, caractersticas, matenimiento, y la contribucin de conocimiento para asegurar la capacidad que operacin de comada y confiable que beneficie usuario, cliente, y empresa o fabrica, segn el tipo de tareas que se van a realizar, en turnos De actividad diaria. qu enfoque me puede indicar la funcin de un proceso de datos como una de aplicacin en una computadora? poder ofrecer un servicio completo en las instalaciones del cliente las los 365 dias del ao, as como asesoramiento tcnico sobre la Solucin de problemas externos.

Objetivo general: obtener la mejor manipulacin de las herramientas de ayuda al desarrollo, conocer la categora de equipo lgico, su fabricacion que se realiza no para satisfacer las necesidades particulares de un usuario u organizacin concreta, sino para ser vendidos en el mercado a un nmero de usuarios tan amplio como sea posible. Mantener el ajuste a lo indicado en la documentacin tcnica correspondiente y que por otra parte no existan errores que afecten al correcto comportamiento del sistema en cuestin. Seleccionaar la diferencia notablemente del equipo lgico desarrollado a medida. Verificar su funcionamiento que se ajuste perfectamente a las especificaciones indicadas Objetivo especifico:Contener las diferencias sobre los Analisis, Diseos y

Desarrollos en Seudo lenguajes para construccin cognositiva evitando una complejidad de idea tomando como enfoque las herramientas conceptuales. DEFINICION El proceso de analizar un sistema especfico tiene dos objetivos en mente: Identificar los componentes de un sistema y sus interrelaciones Crear representaciones de un sistema en otra forma de abstraccin ms alta PLANTEMIENTO DEL PROBLEMA.Recurrimos a la descripcin de estudio mixto para definir explicacin a las variables aleatorias que puedan dar sentido a una explicacin congruente entre la computadora y su principal opcin interactuar con el comercio oficinas o tareas dependiendo de pretensin. Se pretende una idea sencilla rpida y manejable en el estricto sentido de explicarse el detalle del funcionamiento del desarrolllo abundante en esta 4rta generacin, con sus respectivas herramientas de participacin. Esta participacin que derrepente inicializa con lo que se llama abstraccin descubrimos sus lineamentos adecuados para fines amplios en este campo. CAPITULO 1.-REPRESENTACION DEL SOFTWARE EN UN PROCESO LOGICO. TIPO DE INSTRUCCIONES Y MOVIMIENTO DE UN MICROPROCESADOR. Ya se ha comentado que es el lenguaje mquina el nico que el micrprocesador es capaz de tratar, es decir, solamente trabaja con unos y ceros. Este lenguaje resulta inapropiado para las personas, por lo que se desarrollan otros sistemas de representacin ms sencillos o ms cmodos de manejar. En primer lugar debemos fijarnos en que el microrpocesador trabaja con bloques de informacin normalizados. Podemos destacar en este terreno: EL BIT: Como unidad de informacin ms elemental que adopta dos nicos estados, el uno o el cero. EL OCTETO O BYTE: Constitudo por una cadena de ocho bits. LA PALABRA: Es el tamao de informacin que el microprocesador puede manejar en paralelo. En funcin de la potencialidad del microprocesador tendremos palabras de 8 bits, 16 bits, 32 bits, etc. Estableciendo ya el tipo de informacin con el que se va a trabajar, pasamos ahora a ver las bases numricas o de representacin que emplearemos durante la programacin. Las ms comunes son: SISTEMA DECIMAL: Es el sistema que habitualmente empleamos en nuestra vida diaria, y por tanto ser el sistema que se emplear normalmente para introducir datos y sacar datos del sistema. Lgicamente este sistema de representacin numrico dispone de diez dgitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9). SISTEMA BINARIO: Solo emplea dos unidades bsicas de representacin (0 y 1). Para encontrar la expresin decimal de cualquier nmero binario, se procede de forma similar al sistema decimal, pero empleando el 2 com base del sistema. Por ejemplo:

Para realizar el proceso contrario, es decir para transformar un nmero decimal a binario, puede emplearse un mtodo muy sencillo que consiste en dividir sucesivamente dicho nmero por la base binaria 2. El nmero binario se construye tomando el ltimo cociente y poniendo a continuacin de forma consecutiva los restos obtenidos en todas las divisiones de la ltima a la primera. SISTEMA DECIMAL CODIFICADO EN BINARIO (BCD): Se trata de un caso particular del binario que emplea cuatro bits para representar los nmeros decimales del 0 al 9. Por tanto para transformar un nmero decimal, no tendremos ms que tomar cada una de sus cifras y transformarla a binario empleando 4 bits. Por ejemplo: 279 = 0010 0111 1001 SISTEMA EXCESO A TRES: Toma como referencia el sistema BCD, sin ms que aadir a cada digito el valor 3, es decir sumar: SISTEMA HEXADECIMAL: Es uno de los ms empleados en programacin. Sus diez primeros digitos se corresponden con los del sistema decimal y los seis restantes son las seis primeras letras maysculas del alfabeto (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). La base de este sistema es el 16 y todas sus cifras pueden ser expresadas con cuatro bits. Para convertir un nmero binario a hexadecimal, agruparemos sus dgitos o bits de cuatro en cuatro y transformaremos cada uno de ellos de forma individual, obteniendo as la representacin hexadecimal. Por ejemplo: SISTEMA DE REPRESENTACION ASCII: Se trata de un sistema de representacin de datos empleado para facilitar intercambios de informacin. Es uno de los sistemas ms empleados en la actualidad (junto al sistema EBCDIC). La codificacin se lleva a cabo empleando una palabra de 8 bits, es decir, un octeto para cada carcter de informacin. Para encontrar el valor de un carcter numrico de una representacin ASCII, es suficiente con restar el valor 48 y al contrario para encontrar la representacin ASCII de un digito decimal habr que sumar 48.

LOS TIPOS DE INSTRUCCIONES: Despus de haber tratado de forma superficial los sistemas de representacin, vamos a ver los distintos tipos de instrucciones que utiliza un microprocesador. Bsicamente puede decirse que el bloque de instrucciones debe ser completo y eficaz de modo que podamos realizar todos los clculos necesarios de forma ms rpida y precisa posible. Una de las principales caractersticas de todo microprocesador es disponer de un buen conjunto de instrucciones que le den la mayor versatilidad posible. Se establecen los siguientes grupos, tipos o conjuntos de instrucciones: 1- ARITMETICAS: Son las instrucciones que realizan operaciones de tipo aritmtico como sumas, restas, incrementos, decrementos, etc. Todas las operaciones de este tipo afectan al registro de estado, es decir a los flags. 2- MOVIMIENTO DE DATOS: Este tipo de instrucciones de movimiento o transferencia de datos, permiten realizar una copia del contenido de un registro o direccin de memoria (origen), en otro registro o direccin de memoria (destino), sin alterar el contenido del origen.

3- INTRUCCIONES LOGICAS: Realizan operaciones lgicas entre los operandos. Afectan a los flags segn sea el caso y las operaciones se realizan bit a bit entre los datos. 4- INSTRUCCIONES DE COMPARACION: Son operaciones de restar o operaciones XOR entre dos operandos. Afectan a los flags pero no se almacena el resultado. 5- INSTRUCCIONES DE SALTO: Son instrucciones de modificacin de secuencia que alteran la ejecucin normal del programa, cargando el contador de programa con la nueva direccin en la que deseamos contine ejecutndose el programa. Los saltos o bifurcaciones pueden ser: - CONDICIONALES: Cuando son controlados por el estado de un indicador o flag, y basndose en dicho estado se decide si se salta o no. - INCONDICIONALES: Cuando modifican el contador de programa sin condicin previa. Dentro de cada uno de estos tipos, podemos encontrar adems la particularidad de que al efectuar los saltos se realicen con posibilidad de retorno o no. 6- INSTRUCCIONES DE ENTRADA/SALIDA: Son en realidad instrucciones de transferencia, pero no entre registros o posiciones de memoria, sino con elementos perifricos que permiten la comunicacin del microprocesador con el exterior. 7- INSTRUCCIONES DE CONTROL: Sirven para actuar internamente sobre el microprocesador, provocando detenciones en la ejecucin del programa, etc. 8- INSTRUCCIONES DE BIT: Trabajan o tratan bits independientes. 9- INSRUCCIONES DE DESPLAZAMIENTO: Desplazan o rtoan hacia la izquierda o hacia la derecha los bits de un registro (acumulador). LOS MODOS DE DIRECCIONAMIENTO: Los modos de direccionamiento son aquellos procedimientos empleados por el microprocesador para poder acceder a determinados operandos, instrucciones, posiciones de memoria, registros de entrada/salida, etc. Por tanto el objeto del direccionamiento es un valor o dato que se encuentra en un lugar de la memoria, en algn registro o en la propia instruccin. Los diferentes modos de direccionamiento que pueda emplear un microprocesador le proporcionan un determinado nivel de potencialidad, permitindole manejar datos y realizar operaciones con mayor facilidad. En general podemos diferenciar los siguientes tipos o modos de direccionamiento: 1- DIRECCIONAMIENTO INMEDIATO: En este caso el objeto (un operando) se encuentra includo en la instruccin, es decir, a continuacin del cdigo de la instruccin se aade el operando propiamente dicho. Las instrucciones que emplean este direccionamiento pueden ser de dos o tres bytes y son instrucciones de ejecucin rpida y sencilla. 2- DIRECCIONAMIENTO IMPLICITO: Las instrucciones que emplean este modo de direccionamiento tienen un solo byte y es la propia instruccin la que indica qu registro o direccin de memoria se va a utilizar en la operacin.

3- DIRECCIONAMIENTO ABSOLUTO: En este caso las instrucciones incluyen la direccin de memoria donde se encuentra el dato con el que se va a operar. En este tipo de direccionamiento pueden darse tres supuestos: a) La instruccin apunta a un registro que contiene la informacin deseada (direccionamiento tambin llamado de regsitro). b) La instruccin contiene la direccin completa en la que se encuentra el dato, empleando para ello tres bytes. c) Cuando la instruccin se refiere solo a una parte de la memoria (pgina). En este caso el byte ms alto lo suministra el contador de programa y el byte ms bajo se expresa a continuacin del cdigo de instruccin, por tanto solo se emplean dos bytes (Este direccionamiento tambin se llama de pgina base). 4- DIRECCIONAMIENTO DIRECTO RELATIVO: La instruccin en este caso contiene un valor determinado al que podemos llamar V. La direccin total se calcula sumando a V el valor que est almacenado en un registro alq ue haga referencia la instruccin. El valor de V puede ser tanto positivo como negativo. 5- DIRECCIONAMIENTO INDIRECTO: La instruccin contiene una direccin a la que llamaremos D1. El contenido de D1 no es el objeto directo de nuestra instruccin, sino que contiene otra direccin que llamaremos D2. Esta nueva direccin D2 es la que contiene el dato que s es objeto de la instruccin. Expresados ya los modos de direccionamiento con carcter general, pasamos ahora a ver los modos de direccionamiento que utiliza el microprocesador 8085 en particular, que son los cuatro siguientes: DIRECCIONAMIENTO DIRECTO ABSOLUTO: La instruccin contiene la direccin exacta y completa donde se encuentra el dato. Por ejemplo: LHLD A716H DIRECCIONAMIENTO POR REGISTRO: La instruccin lleva el registro en el que est el dato que va a ser tratado. Como por ejemplo: MOV A,B MOV B,C DIRECCIONAMIENTO POR REGISTRO INDIRECTO: En la instruccin se especifica un registro cuyo contenido apunta a una direccin de memoria en la que se encuentra el dato. Por ejemplo: MOV A,M M es una referencia simblica a una direccin apuntada o sealada por el par de registros HL. DIRECCIONAMIENTO INMEDIATO: La instruccin contiene el dato con el que se desea operar, pudiendo ser el dato de uno o dos bytes: LXI H,A0B7H ADI 3AH NOTA. AUN NO EXISTE EL DESARROLLO DEL SOFTWARE BASADO EN SU PROPORCION Y PONDERACION

CAPITULO 2.-FUNCIONALIDADES BAICAS. El presente describe los componentes esenciales y las funcionalidades de las diferentes herramientas de ayuda al desarrollo. Los principales conceptos utilizados en las herramientas de ayuda al desarrollo son los siguientes: Ayuda de la herramienta. Es una ayuda incorporada al programa, brindando informacin sobre el uso de los componentes de la propia herramienta, de fcil acceso y con utilidades de bsqueda de temas o palabras claves. Una ayuda interactiva evita el manejo de manuales. Diccionario de datos. Descripcin lgica de los datos para el usuario. Rene la informacin sobre los datos almacenados en una base de datos (descripcin, significado, estructura, consideraciones de seguridad y uso de aplicaciones, etc.). Ingeniera del software. Es el tratamiento sistemtico de todas las fases del ciclo de vida del software, abordando el desarrollo de sistemas de informacin de forma similar a los proyectos de ingeniera. Esto implica la identificacin de las tareas a realizar (establecidas segn una metodologa de desarrollo), de los productos a obtener y de las tcnicas y herramientas a utilizar. Ingeniera directa. Es el proceso de produccin del cdigo de una aplicacin a partir de sus especificaciones. Ingeniera inversa. Conjunto de tareas destinadas a obtener las especificaciones de un sistema de informacin, partiendo del propio sistema. Es una actividad tpica del mantenimiento de aplicaciones, cuando no existen las especificaciones de diseo de la aplicacin a mantener. Metodologa de planificacin y desarrollo de aplicaciones. Es el conjunto de mtodos que basados en unos principios, se integran en el marco del ciclo de vida de los sistemas. La metodologa debe recoger las tareas a realizar, los responsables de cada una de ellas y los productos a obtener en el desarrollo de un sistema de informacin. Tambin puede incluir o hacer referencia a las tcnicas a emplear en cada momento. Reingeniera de Sistemas. Es la modificacin de los componentes de una aplicacin, sin cambiar sus funcionalidades, por ejemplo: la mejora de la codificacin de un programa. A veces tambin se emplea este trmino para referirse conjuntamente a la ingeniera directa e inversa. Sistema de Informacin - SI. Conjunto de elementos fsicos, lgicos, de comunicacin, datos y personal que, interrelacionados, permiten el almacenamiento, transmisin y proceso de la informacin. Workbench. Es una interfase grfica que permite modelar procesos y datos. Est basada en el mismo principio de la programacin visual: no se emplea lenguajes procedurales sino iconos, los cuales no son dibujos del tipo flow, sino objetos que se almacenan en el repositorio. Permiten aplicar la recursividad, es decir que los modelos son vistos en diferentes niveles de detalle, lo cual permite un uso eficiente de las tcnicas de

anlisis de procesos. Permite manejar diferentes metodologas de anlisis y diseo. Sirve de ayuda metodolgica para quienes no estn habituados a usarlas. CAPITULO3.-LA PLANIFICACION ADAPTACION Y COMUNICACIN 4GL describen las principales herramientas de ayuda al desarrollo de Sistemas de Informacin, existentes en la actualidad: CASE, 4GL y otras herramientas de carcter especfico. Tambin se describe su funcionalidad y las caractersticas ms relevantes, con la finalidad de ayudar en la eleccin de la herramienta adecuada a cada caso. HERRAMIENTAS Herramientas CASE Son un conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases. El empleo de herramientas Case permiten integrar el proceso de ciclo de vida: Anlisis de datos y procesos integrados mediante un repositorio. Generacin de interfases entre el anlisis y el diseo. Generacin del cdigo a partir del diseo. Control de mantenimiento. Actualmente, la tendencia en el desarrollo de software est enfocada hacia las microcomputadoras como plataformas de ingeniera de software, que se interconectan mediante redes para que puedan comunicarse de forma efectiva. La base de datos del proyecto (tambin denominada biblioteca del proyecto o depsito de software), est disponible a travs de un servidor de archivos en red que es accesible desde todas las estaciones de trabajo. Un sistema operativo que gestiona el hardware, la red y las herramientas, mantiene todo el entorno unido. La arquitectura de entorno, compuesta por la plataforma hardware y el soporte del sistema operativo (incluida la red y la gestin de la base de datos), constituye la base del CASE. Pero el entorno CASE, en s mismo, necesita otros componentes. Un conjunto de servicios de portabilidad constituyen un puente entre las herramientas CASE y su marco de integracin y la arquitectura de entorno. El marco de integracin es un conjunto de programas especializados que permite a cada herramienta CASE comunicarse con las dems, para crear una base de datos de proyectos y mostrar una apariencia homognea al usuario final (el ingeniero de software). Los servicios de portabilidad permiten que las herramientas CASE y su marco de integracin puedan migrar a travs de diferentes plataformas hardware y sistemas operativos, sin grandes esfuerzos de adaptacin.

La mayora de las herramientas Case no han sido construidas utilizando todos los bloques componentes. Muchas de stas son soluciones puntuales, esto es, una herramienta se utiliza como ayuda en una actividad concreta de

ingeniera de software (por ejemplo: modelizacin del anlisis), pero no se comunica directamente con otras herramientas, porque no est unida a una base de datos de proyectos. Aunque esta situacin no es la ideal, una herramienta Case puede ser utilizada eficientemente, an siendo una solucin puntual. En el nivel ms bajo del espectro de integracin est la herramienta individual (solucin puntual). Cuando las herramientas proporcionan facilidades para el intercambio de datos (la mayora lo hace), el nivel de integracin aumenta ligeramente. Estas herramientas generan una salida en un formato estndar compatible con otras herramientas que puedan leer ese formato. En algunos casos, los que construyen herramientas CASE complementarias trabajan juntos para establecer un puente entre ellas (p. ej.: una herramienta de anlisis y diseo que se une a un generador de cdigo). Utilizando este enfoque, la compatibilidad entre herramientas puede generar productos finales que seran difciles de desarrollar utilizando cada herramienta por separado. La integracin por fuente nica se da cuando un constructor de herramientas CASE integra diferentes herramientas y las vende como un nico paquete. Aunque este enfoque es bastante efectivo, la mayora de los entornos provenientes de una misma fuente tienen una arquitectura cerrada que hace difcil aadir nuevas herramientas de otros vendedores. Al final del espectro de integracin est el entorno de soporte de proyectos integrado (del ingls IPSE). Se crean estndares para cada uno de los bloques componentes. Los vendedores de herramientas CASE utilizan estos estndares IPSE para construir herramientas entre s.

La principal ventaja de la utilizacin de una herramienta CASE, es la mejora de la calidad de los desarrollos realizados y, en segundo trmino, el aumento de la productividad. Para conseguir estos dos objetivos es conveniente contar con una organizacin y una metodologa de trabajo adems de la propia herramienta. La mejora de calidad se consigue reduciendo sustancialmente muchos de los problemas de anlisis y diseo, inherentes a los proyectos de mediano y gran tamao (lgica del diseo, coherencia, consolidacin, etc.). La mejora de productividad se consigue a travs de la automatizacin de determinadas tareas como la generacin de cdigo y la reutilizacin de objetos o mdulos. No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en una clase determinada. Podran clasificarse atendiendo a: Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que cubren. La arquitectura de las aplicaciones que producen. Su funcionalidad. Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente: Herramientas integradas, I-CASE (Integrated CASE, CASE

integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench. Herramienta(s) que comprende(n) alguna(s) fase(s) del ciclo de vida de desarrollo de software: Herramientas de alto nivel, U-CASE (Upper CASE - CASE sperior) o front-end, orientadas a la automatizacin y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: anlisis y diseo. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las ltimas fases del desarrollo: construccin e implantacin. Juegos de herramientas o toolkits, son el tipo ms simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas de reingeniera, orientadas a la fase de mantenimiento. Las herramientas I-CASE se basan en una metodologa. Tienen un repositorio y aportan tcnicas estructuradas para todas las fases del ciclo de vida. Estas son las caractersticas que les confieren su mayor ventaja: una mejora de la calidad de los desarrollos. Sin embargo, no todas ellas son modernas en el sentido de aprovechar la potencia de las estaciones de trabajo o la utilizacin de lenguajes de alto nivel o tcnicas de prototipeo. Una estrategia posible es utilizar una U-CASE para anlisis y diseo, combinada con otras herramientas ms modernas para las fases de construccin y pruebas. En este caso, habra que vigilar cuidadosamente la integracin entre las distintas herramientas. Requisitos de aplicacin de Case: Conocimiento y manejo de metodologas. Capacidad de trabajo en equipo. Desarrollo conjunto con los usuarios (Prototipos). Equipamiento apropiado.

Otra posible clasificacin, utilizando la funcionalidad como criterio principal, es la siguiente: Herramientas de planificacin de sistemas de gestin. Sirven para modelizar los requisitos de informacin estratgica de una organizacin. Proporcionan un "metamodelo" del cual se pueden obtener sistemas de informacin especficos. Su objetivo principal es ayudar a comprender mejor cmo se mueve la informacin entre las distintas unidades organizativas. Estas herramientas proporcionan una ayuda importante cuando se disean nuevas estrategias para los sistemas de informacin y cuando los mtodos y sistemas actuales no satisfacen las necesidades de la organizacin. Herramientas de anlisis y diseo. Permiten al desarrollador crear un modelo del sistema que se va a construir y tambin la evaluacin de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la

representacin del anlisis y ayudan a eliminar errores con anticipacin. Se tienen: Herramientas de anlisis y diseo (Modelamiento). Herramientas de creacin de prototipos y de simulacin. Herramientas para el diseo y desarrollo de interfases. Mquinas de anlisis y diseo (Modelamiento). Herramientas de programacin. Se engloban aqu los compiladores, los editores y los depuradores de los lenguajes de programacin convencionales. Ejemplos de estas herramientas son: Herramientas de codificacin convencionales. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos. Herramientas de integracin y prueba: Sirven de ayuda a la adquisicin, medicin, simulacin y prueba de los equipos lgicos desarrollados. Entre las ms utilizadas estn: Herramientas de anlisis esttico. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos. Herramientas de gestin de prototipos. Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluacin de especificaciones de un sistema de informacin, o para un mejor entendimiento de cmo los requisitos de un sistema de informacin se ajustan a los objetivos perseguidos. Herramientas de mantenimiento: La categora de herramientas de mantenimiento se puede subdividir en: Herramientas de ingeniera inversa. Herramientas de reestructuracin y anlisis de cdigo. Herramientas de reingeniera. Herramientas de gestin de proyectos. La mayora de las herramientas CASE de gestin de proyectos, se centran en un elemento especfico de la gestin del proyecto, en lugar de proporcionar un soporte global para la actividad de gestin. Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo, coste y duracin, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc. Existen tambin herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de prescripciones tcnicas inicial, hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de control de proyectos las siguientes: Herramientas de planificacin de proyectos.

Herramientas de seguimiento de requisitos. Herramientas de gestin y medida. Herramientas de soporte. Se engloban en esta categora las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuacin: Herramientas de documentacin. Herramientas para software de sistemas. Herramientas de control de calidad. Herramientas de bases de datos. Otra clasificacin, diferencia las funciones CASE en cinco grupos: Repositorio. Funcionan en torno a un repositorio central, siendo ste el ncleo fundamental que contiene todas las definiciones de objeto y sus relaciones. Los objetos pueden ser especificaciones del sistema en forma de diagramas de flujo de datos, diagramas entidad-relacin, esquemas de bases de datos, diseos de pantallas, etc. El repositorio es un concepto ms amplio que el de diccionario de datos y soporta a los dems grupos de funciones. No es fcil encontrar en el mercado productos Case con funcionalidades estrictamente a las de repositorio, ya que, a pesar de su innegable importancia, tienen un carcter auxiliar de los dems grupos de funciones. Cualquier sistema Case poseer un repositorio propio o bien, trabajar sobre un repositorio suministrado por otro fabricante o vendedor. Soporte del ciclo de vida. El ciclo de vida de una aplicacin o de un sistema informacin se compone de varias etapas, que van desde la planificacin de desarrollo hasta su implantacin, mantenimiento y actualizacin. Aunque nmero de fases puede ser variable en funcin del nivel de detalle que adopte, pueden de modo simplificado, identificarse las siguientes: Planeamiento. Anlisis y Diseo. Implantacin (programacin y pruebas). Mantenimiento y actualizacin. Los sistemas Case pueden cubrir la totalidad de estas fases o bien especializarse en alguna(s) de ellas. En este ltimo caso se pueden distinguir sistemas de "alto nivel" ("Upper Case"), orientados a la autonoma y soporte de las actividades correspondientes a las dos primeras fases y, sistemas de "bajo nivel" ("Lower Case"), dirigidos hacia las dos ltimas. Los sistemas de "alto nivel" pueden soportar un nmero ms o menos amplio de metodologas de desarrollo. Soporte de proyecto. Este tipo de funciones hace referencia al soporte de actividades que se producen durante el desarrollo, derivadas fundamentalmente del trabajo en grupos, tales como facilidades de comunicacin, soporte a la creacin, modificacin e intercambio de documentacin, herramientas personales, controles de seguridad, etc. Los sistemas Case pueden conceder a estas cuestiones una importancia variable por lo cual el soporte de proyecto de su el se

constituye un factor de diferenciacin. Mejora continua de calidad. Aunque frecuentemente se asocia a los sistemas Case con la mejora de la productividad en el desarrollo de aplicaciones, debe tenerse en cuenta que una de las principales ventajas estriba tambin, en la mejora de la calidad de los desarrollos realizados. Determinados sistemas Case enfatizan ms sobre este punto que sobre el anterior, introduciendo herramientas que permiten ejercer un control intenso de garanta de calidad del software desarrollado desde las primeras fases de su ciclo de vida. Mdulos de diagramacin y modelizacin Algunos de los diagramas y modelos utilizados con mayor frecuencia son: Diagrama de flujo de datos. Modelo entidad - interrelacin. Historia de la vida de las entidades. Diagrama Estructura de datos. Diagrama Estructura de cuadros. Tcnicas matriciales. Algunas caractersticas referentes a los diagramas son: Nmero mximo de niveles para poder soportar diseos complejos. Nmero mximo de objetos que se pueden incluir para no encontrarse limitado en el diseo de grandes aplicaciones. Nmero de diagramas distintos en pantalla o al mismo tiempo en diferentes ventanas. Dibujos en formato libre con la finalidad de aadir comentarios, dibujos, informacin adicional para aclarar algn punto concreto del diseo. Actualizacin del repositorio por cambios en los diagramas. Siempre resulta ms fcil modificar de forma grfica un diseo y que los cambios queden reflejados en el repositorio. Control sobre el tamao, fuente y emplazamiento de los textos en el diagrama. Comparaciones entre grficos de distintas versiones. De esta forma ser ms fcil identificar qu diferencias existen entre las versiones. Inclusin de pseudocdigo que servir de base a los programadores para completar el desarrollo de la aplicacin. Posibilidad de deshacer el ltimo cambio facilitando que un error no conlleve perder el trabajo realizado.

Herramienta de prototipado El objetivo principal de esta herramienta es poder mostrar al usuario,

desde los momentos iniciales del diseo, el aspecto que tendr la aplicacin una vez desarrollada. Ello facilitar la aplicacin de los cambios que se consideren necesarios, todava en la fase de diseo. La herramienta ser tanto ms til, cuanto ms rpidamente permita la construccin del prototipo y por tanto antes, se consiga la implicacin del usuario final en el diseo de la aplicacin. Asimismo, es importante poder aprovechar como base el prototipo para la construccin del resto de la aplicacin. Actualmente, es imprescindible utilizar productos que incorporen esta funcionalidad por la cambiante tecnologa y necesidades de los usuarios. Los prototipos han sido utilizados ampliamente en el desarrollo de sistemas tradicionales ya que proporcionan una realimentacin inmediata, que ayudan a determinar los requisitos del sistema. Las herramientas CASE estn bien dotadas, en general, para crear prototipos con rapidez y seguridad. Generador de cdigo Normalmente, se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el paso posterior del cdigo al host puede traer problemas, al tener que compilar en ambos entornos. Las caractersticas ms importantes de los generadores de cdigo son: Lenguaje generado. Si se trata de un lenguaje estndar o un lenguaje propietario. Portabilidad del cdigo generado. Capacidad para poder ejecutarlo en diferentes plataformas fsicas y/o lgicas. Generacin del esqueleto del programa o del programa completo. Si nicamente genera el esqueleto ser necesario completar el resto mediante programacin. Posibilidad de modificacin del cdigo generado. Suele ser necesario acceder directamente al cdigo generado para optimizarlo o completarlo. Generacin del cdigo asociado a las pantallas e informes de la aplicacin. Mediante esta caracterstica se obtendr la interfase de usuario de la aplicacin. Mdulo generador de documentacin El mdulo generador de la documentacin se alimenta del repositorio para transcribir las especificaciones all contenidas. Algunas caractersticas de los generadores de documentacin son: Generacin automtica a partir de los datos del repositorio, sin necesidad de un esfuerzo adicional. Combinacin de informacin textual y grfica, lo que hace ms fcil su comprensin. Generacin de referencias cruzadas. Con ello se podr localizar fcilmente en qu partes de la aplicacin se encuentra un determinado objeto o elemento, con el fin de analizar el impacto de un cambio o identificar los mdulos

afectados por un determinado error. Ayuda de tratamiento de textos. Facilidad para la introduccin de textos complementarios a la documentacin que se genera de forma automtica. Interfase con otras herramientas: procesadores de textos, editores grficos, etc.

Componentes y funcionalidades de un 4GL Los principales componentes de un lenguaje de cuarta generacin son: Editor Donde se escriben las sentencias del lenguaje de programacin. Puede contar con: Ayuda de tratamiento de textos. Facilidades para incorporar el nombre de variables, objetos o funciones. Chequeo preliminar de errores de sintaxis. Utilidades de seleccin, copia o movimiento de bloques. Posibilidad de deshacer el ltimo cambio. Compilador Traduce las sentencias del lenguaje fuente a cdigo binario o a un lenguaje intermedio. Las caractersticas ms importantes de un compilador son: Posibilidad de separar la interpretacin del cdigo fuente, de la generacin del cdigo. Esto permite la ejecucin inmediata de una parte del cdigo sin haber generado el fichero ejecutable. Gestin avanzada de errores. Recuperacin desde un estado errneo del cdigo, para poder continuar con el proceso de interpretacin y as detectar el mayor nmero posible de errores en una nica compilacin. Optimizacin del cdigo. La traduccin del cdigo fuente va acompaada por una optimizacin del cdigo (en tamao y/o en rendimiento), a la hora de ejecutar la aplicacin. Mdulo de acceso a base de datos Incorpora la interfase con el gestor de base de datos. Facilita toda la comunicacin con la base de datos, desde el diseo de las tablas hasta la construccin de sentencias para recuperar informacin. La mayora de los 4GL soportan el lenguaje SQL estndar como lenguaje de acceso a base de datos relacionales, lo que garantiza la portabilidad. Mdulo de ayuda a las pruebas Hay 4GL que permiten una ejecucin controlada del cdigo para poder aislar un error, con tcnicas de ejecucin paso a paso, localizando los puntos de parada y permitiendo la modificacin del contenido de las variables durante la ejecucin.

Generador de informes y pantallas Los 4GL incorporan mdulos para la construccin rpida de pantallas, ya sea en modo caracter o en modo grfico. Asimismo, algunos cuentan con un mdulo de generacin de informes a travs de consultas a la base de datos. Diccionario Algunos 4GL cuentan con un diccionario en el que almacenan la informacin referente a los objetos de la aplicacin. Esto facilita la gestin de los objetos generados especialmente para trabajos en grupo. Gestor de libreras El gestor de libreras permite: La distribucin de los objetos por las libreras siguiendo los criterios que se establezcan. La localizacin rpida de los objetos con el fin de analizar el impacto de una modificacin o corregir un error. La coordinacin de los trabajos en equipo. Mdulo de control de versiones Algunos lenguajes de cuarta generacin incorporan facilidades para el control de versiones o tienen interfase con alguna herramienta del mercado para el control de versiones. Biblioteca con funciones u objetos reutilizables en la aplicacin. La funcionalidad de este tipo de bibliotecas se describe en detalle en el apartado de otras herramientas, al hablar de bibliotecas de clases de objetos. Tendencias Tecnolgicas y del Mercado de Lenguajes de cuarta generacin La evolucin de los 4GL se est dirigiendo hacia: Independencia de plataformas hardware y software. Independencia de estructuras de datos y acceso a informacin distribuida. Interoperabilidad con herramientas ofimticas. Soporte para diferentes interfases grficas de usuario. Soporte para diferentes entornos de red. La aplicacin de forma ms extendida del modelo cliente/servidor, tanto en el funcionamiento del propio 4GL como en las aplicaciones generadas. Mayor apertura para la interfase con herramientas CASE. Incorporacin de la tecnologa de orientacin a objetos. Aplicacin de capacidades multimedia.

Otras Herramientas

Existen otras herramientas de ayuda al desarrollo, alguna de las cuales se pueden encontrar en el mercado bajo la denominacin de CASE de propsito especfico (toolkits), que se integran de forma sencilla en cualquier sistema de desarrollo. Tipos de herramientas En este apartado tienen cabida un amplio abanico de herramientas dentro de las cules se pueden citar las siguientes: Herramientas de gestin de proyectos. Facilitan la labor de planificacin y seguimiento de tareas y recursos, para conseguir que el proyecto logre sus objetivos en plazo y presupuesto. Herramientas de gestin de la configuracin. Identifican y definen los elementos de un sistema, controlan los cambios y las versiones de dichos elementos. Herramientas de ayuda en las pruebas. Facilitan la tarea de probar el equipo lgico desarrollado, para asegurar que cumple las especificaciones del diseo. Herramientas de control de calidad. Dentro de este apartado podran englobarse la gran mayora de las herramientas citadas aqu, ya que de una u otra forma todas van dirigidas a una mejora de la calidad de las aplicaciones. No obstante, se hace referencia bajo esta denominacin a las herramientas que se centran en la fase de anlisis, diseo y construccin. Herramientas de revamping. Sirven para "maquillar" una aplicacin existente en modo carcter, mediante una interfase grfica de usuario sobre PC. otras herramientas Se describen en este captulo las funcionalidades ms importantes de otras herramientas de ayuda al desarrollo. Gestin de proyectos Las principales funcionalidades de un gestor de proyectos son: Posibilidad de parametrizacin o personalizacin de las opciones de utilizacin del programa (opciones de clculo, seleccin de datos a visualizar, etc.). Presentacin de diferentes vistas del proyecto (por tareas, por recursos, por fechas...). Definicin de calendario a nivel de proyecto y de recurso. Establecimiento de diferentes relaciones entre tareas (final- inicio, finalfinal, inicio-inicio). Facilidades grficas para la planificacin (diagrama de GANTT, diagrama de PERT).

Resolucin de conflictos de los recursos. Facilidades para la impresin de programas de trabajo. Posibilidad de desarrollar macros. Conexin entre varios proyectos. Facilidades de importacin / exportacin. Facilidad de comunicacin con otras herramientas (hojas de clculo, aplicaciones grficas, correo electrnico, etc.). Gestin de la Configuracin Las principales funcionalidades de una herramienta de gestin de la configuracin son: Identificacin de cada uno de los elementos de la aplicacin: nmero de versin e informacin de carcter general. Soporte para jerarquas de elementos. Control de versiones. Utilizacin de tcnicas de bloqueo de objetos o c d i g o p a ra e vi ta r a ctu a l i za ci o n e s si mu l t n e a s p o r va ri o s desarrolladores. Definicin de las configuraciones. Criterio que se sigue para seleccionar elementos de una versin. Posibilidad de recuperacin de versiones anteriores de determinados objetos o partes del cdigo. Herramientas de ayuda en las pruebas Los principales componentes de una herramienta de ayuda a las pruebas y sus funcionalidades son: Utilidades de datos. Describen las caractersticas de los datos implicados en la prueba del software. Simuladores. Permiten representar partes del sistema no desarrollado todava o simular la interaccin del mismo con otros sistemas o con el usuario final. Trazadores. Permiten seguir paso a paso el funcionamiento de un determinado proceso e introducir paradas dentro de la ejecucin para analizar el contenido de variables. Sistemas de captura y repeticin. Permiten capturar datos para utilizarlos como entrada de un proceso, interceptar el flujo de ejecucin de un programa, retener una secuencia de acciones desde el teclado o ratn y repetirlos posteriormente. Comparadores de datos. Sirven para comparar los resultados esperados de la prueba con los obtenidos. Estos componentes o mdulos pueden formar parte de una misma herramienta de ayuda, las pruebas, o pueden ser herramientas independientes entre s.

Herramientas de control de calidad Los componentes de una herramienta de control de calidad y sus funcionalidades son las siguientes: Comprobadores de requisitos. Chequean las sentencias de los requisitos para verificar que no existe ambigedad, inconsistencia o falta de integridad. Estas herramientas slo comprueban sobre los requisitos incluidos en la documentacin, lo que no hacen es informar que falta algn requisito importante. Generadores de condiciones de prueba basados en las especificaciones del diseo. Generan las condiciones por mtodos aleatorios, algortmicos y/o heursticos. El mtodo aleatorio utiliza procedimientos de muestreo estadstico para elegir las condiciones. El mtodo algortmico se basa en tcnicas de anlisis de causa-efecto y anlisis de enlaces. El mtodo heurstico se construye sobre experiencias previas con errores de aplicaciones. Trazadores de requisitos a probar. Desarrollan una traza (log) para un requisito en particular. Generadores de resultados esperados. Ejecutan las condiciones de prueba por primera vez. Las salidas obtenidas son juzgadas por la herramienta como correctas o errneas y segn sto, son utilizadas como resultados esperados. Generadores de mtricas. Analizan el cdigo existente y obtienen mtricas sobre el flujo de datos, el control del flujo, la estructura de datos, la estructura del proceso, el nmero de lneas de cdigo, etc. Verificadores de cdigo. Son analizadores de cdigo a la bsqueda de variables no inicializadas, ndices fuera de rango, seguimiento de estndares, etc. Estos mdulos pueden formar parte de una misma herramienta de control de calidad o pueden ser herramientas independientes entre s. Bibliotecas de clases de objetos La funcin de estas bibliotecas es obtener de ellas objetos, mdulos o partes del cdigo que se puedan implantar directamente, o con leves modificaciones, en la aplicacin en desarrollo. Las bibliotecas de clases suelen ser especficas de un determinado lenguaje, sin embargo, se tiende a eliminar esta limitacin, mediante la creacin de bibliotecas siguiendo unas determinadas especificaciones (Ejemplo: System Object Model - SOM). Hay bibliotecas de clases que se han diseado para: La creacin de interfases grficas de usuario (IGU). El acceso a bases de datos. La integracin de funcionalidades multimedia. El tratamiento de documentos.

El intercambio electrnico de datos. El desarrollo de aplicaciones cientficas, matemticas o de ingeniera. Herramientas de revamping Las principales caractersticas de estas herramientas son: Soporte de un determinado estndar de comunicaciones con el ordenador central (host) a travs de terminales. Creacin, ms o menos automtica, de las interfases grficas de usuario correspondientes a las pantallas host, as como la navegacin entre las mismas. Validacin de la entrada de datos en la ventana grfica. Tendencias tecnolgicas y del mercado de otras herramientas de ayuda al desarrollo De forma general se puede observar que todas las herramientas englobadas en este apartado estn evolucionando en las siguientes lneas: Herramientas ms abiertas para poder conectarse con mayor facilidad unas con otras. Soporte para diferentes plataformas fsicas y lgicas. Mejor aprovechamiento de los recursos fsicos y los servicios de red e interconexin. Decidida aplicacin de lo que parece ser la tecnologa con mayor futuro: la orientacin a objetos. Interfase de usuario ms amigable apoyndose en tecnologas multimedia. Aspectos tcnicos en el proceso de Herramientas de ayuda al desarrollo En este captulo se pretende dar la orientacin suficiente al comprador, para la preparacin del conjunto de especificaciones que definirn los requisitos que han de cumplir las herramientas de ayuda al desarrollo, objeto de la adquisicin. Se realiza en primer lugar un anlisis de las necesidades del comprador, a continuacin se recogen los factores relevantes a tener en cuenta en el proceso de adquisicin y, finalmente, se describe cmo deben ser planteadas las especificaciones tcnico - funcionales para la elaboracin del Pliego de Prescripciones Tcnicas, qu normas, estndares y clusulas tipo pueden ser de aplicacin y cul es el cuestionario tcnico diseado para normalizar las ofertas y facilitar su evaluacin. CAPITULO 4.-LENGUAJES 4GL En los lenguajes de cuarta generacin se consideran, especficamente, factores relevantes los siguientes: Integracin con el/los gestor/es de base/s de datos. Si ya se cuenta con un/unos determinado/s gestor/es de base/s de datos puede ser un factor

relevante que el 4GL se integre con l/ellos. Rendimiento adecuado de la aplicacin generada. Las aplicaciones desarrolladas con un 4GL pueden presentar problemas de rendimiento, ya que se lleva a cabo un proceso ms laborioso de interpretacin del cdigo hasta hacerlo inteligible para la mquina en el momento de la ejecucin. Es uno de los factores crticos de estos lenguajes. El factor ms importante a la hora de decidirse por una herramienta de ayuda al desarrollo de carcter especfico, es su perfecta integracin con el entorno ya establecido en la organizacin, tanto lgico como fsico: Integracin con otras herramientas de ayuda al desarrollo. La necesidad de la integracin con una herramienta determinada, como una herramienta CASE, condiciona de forma decisiva la eleccin de otra herramienta de apoyo. Adems, es importante tener en cuenta los costes indirectos derivados de: La adaptacin de las aplicaciones ya existentes a la nueva herramienta. La formacin del personal y el efecto de la curva de aprendizaje en la nueva herramienta. La adaptacin de la herramienta a las necesidades o peculiaridades de la organizacin, tanto desde el punto de vista metodolgico como tecnolgico.

Fases de ciclo de vida soportadas: Planificacin: Anlisis de viabilidad Organizacin y planificacin del proyecto Diseo: Modelo de datos Modelo de procesos Diseo general Diseo detallado Implantacin: Programacin de mdulos Pruebas de mdulos Integracin Pruebas de integracin Pruebas de aceptacin

Mantenimiento y actualizacin: Mantenimiento ligero Mantenimiento pesado Actualizacin Gestin de la configuracin

Metodologas de diseo soportadas: Diseo por flujo de datos (Yourdon-Constantine) Diseo por estructuras de datos (Warnier-Orr, Jackson) Diseo de sistemas de informacin (SSADM, Merise) Diseo en tiempo real (Ward-Mellor) Diseo "orientado a objetos" (Buhr) Otras (se indicar cules)

Soporte a la documentacin: Edicin automtica Generacin automtica de diagramas Mantenimiento Archivo y gestin Referencias cruzadas

Generacin automtica de cdigo (programas) fuente: Desde: "scripts" formatos diagramas lenguajes de especificacin formal otros (se indicar cules) Hasta: COBOL FORTRAN

PASCAL C SQL otros (se indicar cules) o combinacin de los anteriores

Aplicaciones a desarrollar a travs del sistemas CASE: Tipo y complejidad Modalidad de desarrollo (interno/externo) Plataforma(s) de desarrollo de las aplicaciones Plataforma(s) de implantacin de las aplicaciones Naturaleza: tcnico-cientfica grfica soporte a la toma de decisiones transaccional proceso de datos otras (se indicar cules) Lenguajes de programacin

Plataforma(s) de implantacin del sistema CASE: Fabricante y modelo Sistema operativo Recursos libres utilizables Red de interconexin si son varias

Herramientas lgicas que deben integrarse en/con el entorno CASE: Compiladores e intrpretes "Debuggers" Libreras SGBD/4GL

Diccionario de datos Editores Entornos grficos Entornos multiventana Otras (se indicar cules)

Factores humanos en el entorno de operacin: Perfil de los grupos tcnicos de desarrollo Perfil del grupo tcnico de administracin y operacin Posibles discapacidades a considerar Otros factores relevantes

Coste lmite: Adquisicin Operacin y mantenimiento Costes indirectos

En el caso de lenguajes de cuarta generacin sern aspectos tales como: Soporte de tcnicas de programacin. Generador de aplicaciones. Modelos de datos soportados. Portabilidad. Facilidades de depuracin. Integracin con entornos CASE. Interfase y documentacin de usuario en espaol. Perfiles de usuarios y factores humanos en el entorno de operacin. Adems de lo expuesto anteriormente, habr que tener en cuenta en el proceso de adquisicin, lo expuesto en el punto de Anlisis de las necesidades del comprador y en el de Factores relevantes en el proceso de adquisicin. Normas y estndares aplicables Existen pocas normas y estndares, entre ellas se encuentran las siguientes:

ISO 9075-1987. Norma internacional que contiene el estndar del lenguaje de consulta y manejo de datos SQL (Structured Query Language). ISO/TR 10623. Technical product documentation - Requirements for computer-aided design and draughting - Vocabulary (ISO/TR 10623:1991). ISO 11442-1993. Technical product documentation - Handling of computer- based technical information. Part 1: Security requirements. Part 2: Original documentation. Part 3: Phases in the product design process. Part 4: Document management and retrieval systems. Algunos de los estndares ms importantes son los que se refieren al repositorio. Sobre este tema se pueden citar: CDIF (CASE Data Interchange Format) CASE Formato de Intercambio de Datos. IRDS (Information Resource Dictionary System) aprobado por el ANSI, es un estndar para diccionarios de datos. Define los tipos de objetos, relaciones y atributos que van a ser incluidos en el diccionario. PCTE (Portable Common Tool Environment) es una infraestructura que ofrece los servicios que necesitan las herramientas CASE, de forma similar a cmo un sistema operativo ofrece los servicios que necesita cualquier producto instalado sobre l. Pruebas de verificacin y control Las herramientas de ayuda al desarrollo tratadas aqu pertenecen a la categora del equipo lgico empaquetado. Su fabricacin se realiza no para satisfacer las necesidades particulares de un usuario u organizacin concreta, sino para ser vendidos en el mercado a un nmero de usuarios tan amplio como sea posible. Por esta razn, durante su desarrollo, estos productos se ven sometidos a una serie de rigurosos controles de calidad, tendentes a garantizar que su funcionamiento se ajusta a lo indicado en la documentacin tcnica correspondiente y que por otra parte no existan errores que afecten al correcto comportamiento del sistema en cuestin. En tal sentido, este tipo de productos se diferencia notablemente del equipo lgico desarrollado a medida, ya que ste debe ser sometido a unas pruebas de aceptacin rigurosas por parte del comprador, con el fin de garantizar el nivel de calidad demandado. El comprador debe comprobar, por un lado, que han sido instalados todos los dispositivos, elementos y componentes que se incluyen en la oferta, tomando nota de los correspondientes modelos y nmeros de serie a efectos de inventario y, por otra parte, que su funcionamiento se ajusta perfectamente a las especificaciones indicadas en el Pliego de Bases. Para ello se realizarn las pruebas de aceptacin del mismo, sobre todo en lo relativo a sus funcionalidades y capacidad de integracin en el entorno previamente existente. La mayora de los suministradores de estos productos suelen admitir su examen y prueba, bien libremente o mediante el pago de una pequea tarifa. Esta es una ventaja

que debe ser aprovechada por el comprador. Una prueba completa y fiable en el desarrollo, consistira en un pequeo sistema o un mdulo de ste, a modo de experiencia piloto. De esta forma se validara, punto por punto, todo lo que se haba exigido a la herramienta, como por ejemplo: Requisitos fsicos y lgicos. Funcionalidades requeridas. Integracin en el entorno existente. Metodologa y/o tcnicas soportadas. Generacin de la aplicacin. Portabilidad a diferentes plataformas. Etc. Evaluacin de Productos La evaluacin de los equipos o productos ofertados por los proveedores, consiste en la realizacin de una serie de actividades. Dentro de los factores a evaluar se distinguen dos tipos de importancia diferente: Factores crticos Factores secundarios Factores crticos son aquellos que tienen una relacin directa con la funcionalidad, el rendimiento o la adecuacin del equipamiento que se va a adquirir. Factores secundarios son aquellos que correspondiendo a caractersticas hasta cierto punto relevantes, no tienen una importancia crucial ni influyen de modo estrictamente determinante en la funcionalidad, el rendimiento o la adecuacin de los equipos a su entorno de operacin. La importancia de cada uno de los factores considerados, sean de naturaleza crtica o bien de carcter secundario, quedar reflejada en el proceso de decisin a travs de la asignacin de los correspondientes pesos relativos. Existen mltiples tcnicas de evaluacin, cuantitativas y cualitativas, directas e indirectas, cuya aplicacin depende en gran medida de las particularidades del proceso de adquisicin y de las caractersticas de los equipos a evaluar. En determinados casos, los procedimientos tradicionales de evaluacin son insuficientes para garantizar a priori el correcto funcionamiento y la adecuacin del sistema que se va a adquirir. Para estos casos se recomienda que en la fase de evaluacin se contemple la realizacin de pruebas de adecuacin o de rendimiento ("benchmarks") sobre los sistemas ofertados. CAPITULO 5.-METODOLOGIA DE EVALUACION. TERMILOGIA. Las tcnicas numricas utilizadas con mayor frecuencia se basan en la comparacin, entre las caractersticas de los equipos ofertados y las

especificaciones tcnicas y requisitos funcionales especificados en las bases de las especificaciones tcnicas. Se describir una sencilla tcnica de valorizacin de uso bastante extendido, basada en los mtodos de anlisis de decisin multidiscreta.

Terminologa Se utilizar la siguiente terminologa : Alternativas a valorar : A1, A2, ...., Ai, ...., Am (Cada una corresponder a un equipo u oferta diferente). Criterios de valoracin : C1, C2, ...., Cj, ...., Cn (Cada uno corresponder a un factor o caracterstica de los equipos a valorar) Valoraciones parciales relativas : X11,, X12, ...., Xij, ...., Xmn (Representan la valoracin relativa otorgada a la alternativa Ai en relacin con el criterio Cj) v Pesos relativos de los criterios de valoracin : w1, ..., wj, ..., wn (Cada uno refleja la importancia relativa de cada factor Cj en el conjunto de las caractersticas valoradas) Aplicacin La aplicacin de este mtodo se basa en obtener para cada alternativa Ai, las valorizaciones parciales relativas correspondientes Xij y reducir finalmente la valoracin de cada equipo ofertado mediante la aplicacin de la siguiente expresin: Valoracin de Ai = j (Xij * wj) Para realizar este proceso de forma ordenada se debern seguir los siguientes pasos: 1) Enumeracin e identificacin de las posibles alternativas Ai 2) Identificacin de los factores susceptibles de valoracin Cj 3) Obtencin de los pesos relativos de los criterios wj Para ello se recomienda asignar los pesos como porcentajes, reflejando de este modo su importancia relativa de cada factor en el proceso de decisin) 4) Obtencin de las valoraciones parciales relativas Xij y formacin de la matriz (Xij). (Una forma bastante directa de realizar las valoraciones parciales, consiste en comparar las caractersticas de cada equipo ofertado con las exigidas en las bases tcnicas, asignando un valor unidad, si la caracterstica en cuestin es idntica a lo establecido en las bases y valores proporcionalmente ms elevados, en la medida que sea ms favorable que el valor mnimo exigido. Si alguna alternativa incumple de forma manifiesta los mnimos exigidos en las bases

tcnicas, deber ser desechada) 5) Formacin de la matriz (Xij * wj) 6) Obtencin de la valoracin de cada alternativa Limitaciones del mtodo A pesar de que el mtodo es sencillo y rpido de aplicar, en la mayora de los procesos de adquisicin de productos y servicios informticos existen factores cuya apreciacin es difcilmente expresable en trminos numricos, ya que su naturaleza no es en modo alguno cuantitativa. No existen tcnicas de valoracin de validez universal, por lo que la evaluacin de estos factores de orden cualitativo se suele llevar a cabo por mtodos heursticos de difcil formalizacin. Otro de los puntos que puede considerarse como una debilidad potencial de los mtodos numricos, es la existencia de un notable grado de subjetividad a la hora de asignar los valores de los pesos wj, lo cual es extensible, en algunos casos, a las valoraciones parciales relativas xij. En cualquier caso, los mtodos numricos constituyen una base interesante para la evaluacin de productos sobre la cual se pueden (y en muchos casos se deben) llevar a cabo anlisis ms refinados de orden esencialmente cualitativo. CAPITULO 6.-REUTILIZACION. La reutilizacin es uno de los fundamentos de los desarrollos software de nuestro das. La existencia de repositorios de reutilizacin, con componentes altamente probados, y bien documentados facilita sobre manera tanto el trabajo de desarrollo como el mantenimiento. A continuacin se exponen algunos puntos fundamentales en la reutilizacin: 1. La reutilizacin abarca ms que el cdigo fuente. La lista de elementos reutilizables es extensa: Planes de proyecto. Estimaciones de coste. Arquitectura. Especificaciones y modelos de requisitos. Diseos. 1. La mayora de los productos software se pueden construir a partir de componentes reutilizados. 2. Existe muchas mtricas asociadas. La principal perspectiva sobre el tema se basa en el paradigma de orientacin a objetos, que proporciona unas caractersticas muy adecuadas. Se busca la mxima capacidad de reutilizacin cara a organizaciones en las que el nmero de desarrollos es elevado. Sin embargo, no es este el caso. Se trata de proyecto personal que pretende reutilizar un software existe para la consecucin de otro Cdigo fuente. Documentacin de usuario y tcnica. Interfaces humanas. Datos. Casos de prueba.

similar. Nos basaremos en el trabajo de Karlsson [KAR] en el que habla de reingeniera para reutilizacin: "Trata de dividir un sistema en bloques constructivos. Algunos de ellos sern reutilizables, otros sern descartados". El mtodo propuesto est basado en un profundo conocimiento del sistema del que son extrados los componentes. Con esto conseguimos que sean susceptibles de uso durante el desarrollo de futuras aplicaciones, ayudando al desarrollador a dominar la posible complejidad del sistema, a mantener un visin global del sistema y a evitar detalles de implementacin. Karlsson adapta el mtodo a varias situaciones una de ellas es la bsqueda de componentes en el software a analizar, pero sabiendo que existen en el sistema analizado funcionalidades y queremos extraerlas para su reutilizacin. Esta situacin se ajusta al caso tratado en estas pginas. El mtodo propuesto consta de siete pasos que se muestran en la figura 5.

Paso 1. Analizar el software y crear informacin sobre referencias cruzadas. En este punto tratamos tanto los flujos de control como de datos. Gran parte del trabajo estar hecho en la etapa de reingeniera. Paso 2. Buscar nombres. Se trata de analizar el nombre de las funciones, que junto con los comentarios nos darn una pista de las funcionalidades del sistema. La labor se ver facilitar ya que es cdigo fue anteriormente reestructurado. Paso 3. Detectar datos clave y crear clusters de datos. Se estudian los flujos de datos y control para comprobar si funciones que estn "conectadas" por ellos. A partir de aqu se toman aquellos datos que utilizan las funciones como punto de partida para crear los cluster de datos; este punto es fundamental para que el proceso de clustering sea efectivo. La tcnica de clustering utilizada se basa en grafos ponderados. Paso 4. Agrupar funciones en torno a los cluster de datos. Despus de haber creado los cluster de datos se agrupan las funciones segn estos cluster de datos. Paso 5. Analizar los "objetos" extrados. Se debe analizar el resultado del paso anterior, hasta conseguir que las agrupaciones correspondan con funcionalidades realmente independiente. Si no es as, se refina el proceso a partir del paso 3. Paso 6. Aislar. Por ltimo, se extraen del sistema las partes correspondientes al cluster definido y se determina el interfaz que utilizan.

Mtricas de reutilizacin. Tratando de medir los beneficios de la reutilizacin se define la siguiente tasa: Rb(S) = [Csin reutilizacin- Ccon reutilizacin] / Csin reutilizacin donde Csin reutilizacin es el coste de desarrollar S sin reutilizacin que deberemos estimar y Ccon reutilizacin es el coste de desarrollar S con

reutilizacin, con Rb(S) entre 0 y 1. Tambin podemos medir el total de lineas de cdigo reutilizadas estableciendo un tasa de aprovechamiento de reutilizacin como: R aprovechado = LOCreutilizadas / LOCconstruidas CAPITULO 7.-HERRAMIENTAS BASICAS PARA GENERAR VIDEOJUEGOS PROGRAMAS Y DISEO DE MUNDOS VIRTUALES (3D). Dichas herramientas deben ser: Para diseo, para Audio, para Video, para programacin, para mundos virtuales, as como realizar modelados, uso de materiales, texturas, iluminacin, manejo de animaciones, renderizado, radiosidad, deformaciones (transformaciones) y visualizacin. A continuacin mostramos algunos productos: Para DISEO 2D: El diseo 2D es muy necesario para crear las primeras muestras del juego, los primeros bocetos y storyboards. Para ello es necesario contar con unas adecuadas herramientas de dibujo y retoque; esto servir como punto de partida para darle la primera forma a los grficos del juego. Deep Saint: potente aplicacin que convierte imgenes e ilustraciones en lo que se desee. Deluxe Saint: un sencillo pero a la vez til editor de imgenes. Font Creator: Editor de fuente True Type, para crear y editar ficheros TTF. GIMP: alternativa gratuita al Photoshop, con excelente prestaciones. PaintShopPro: til para crear, editar y retocar imgenes de un modo profesional y potente. AMI Graphic Workshop Pro: flexible editor para ver, convertir, procesar y optimizar imgenes. Color Pilot: Excelente herramienta para corregir el color de imgenes capturadas digitalmente para as darles aspecto ms natural.

Adobe Photoshop: Sin duda el rey de los programas de diseo grfico. til para crear y retocar imgenes, y aadirles muchsimos filtros y efectos, todo ello con la mayor profesionalidad. CBN Assistant: un complemento ideal para el Photoshop. Permite aplicar colores naturales a las imgenes. TraceArt : interesante aplicacin con la que se puede convertir los bitmaps en imgenes vectoriales con una gran calidad.

Texture Processor: se pueden crear variadas texturas para las imgenes de un modo sencillo. Object Paint: sencilla aplicacin que es de gran ayuda al momento de dibujar formas bsicas rpidamente. Fractal Explorer: Gracias a este programa se pueden crear fractales para realizar fondos del juego. Picture Viewer: til herramienta que da una vista rpida de las imgenes almacenadas. Neat Image: Corrector de imgenes y fotografas, para que estas se vean libres de efectos y brillos indeseados. ThumbPlus: programa para localizar, ver y catalogar imgenes. DISEO 3D: Una vez diseados los personajes, se tendr que trabajar en un entorno 3D para comenzar con el juego propiamente dicho. Q3 Radiant 199: editor de mapas para crear y dibujar los juegos. Bryce 5: Estndar para la creacin de mundos artificiales con fantsticas posibilidades. Character FX: manipulador de cada fotograma de la animacin, para tener un control absoluto de esta. Deep Paint 3D: Herramienta profesional para el texturizado de objetos 3D. Lithumwrap: creacin de plantillas para el texturizado y optimizacin de objetos 3D. Now 3D: aplicacin tipo RayTracing para generar imgenes 3D de una manera sencilla. Milkshape: modelador 3D en baja poligonizacin y fcil de usar. 3D Photo Builder: pequeo editor para crear imgenes 3D de un modo rpido, sencillo y ameno. 3D Grapher: genera superficies de dos funciones variables que pueden visualizarse desde cualquier perspectiva en tres dimensiones. VR4MAX Navigator: entorno de realidad virtual interactiva en tiempo real. 3D Canvas: para construir modelos 3D complejos utilizando primitivas, deformando y generando imgenes y animaciones profesionales. Blenter Creador 3D (o creator): completa suite para creacin de contenido 3D, con herramientas de modelacin, renderizado y postproduccin. ItsMe: Divertida herramienta con la cual se pueden modelar personajes 3D con fotografas de los amigos.

CyberMotion 3D Designer: modelado, animacin y renderizado de objetos 3D. 3D Reducer: optimizacin de modelos 3D con visualizacin de estos en tiempo real. DesignWorkshop Lite: completo programa que provee de todo cuanto se necesite para crear y grabar modelos 3D. ModelMagic 3D: creacin de objetos 3D a base de Open GL. Milkshape 3d: modelador 3D en baja poligonizacin y fcil de usar. PROGRAMACION: Serie de herramientas que servirn para la parte de programacin e instalacin del juego. Blitz 2D: un clsico en la programacin de videojuegos, con una gran cantidad de seguidores. Blitz DGCC: coleccin de compiladores de libre distribucin. Inno Setup: Generador de Setup, es decir, constructor de paquetes de instalacin de software tan potente como verstil. Watcom: compilador de C y C++ potente y de gran renombre. Dev-C++: compilador con todas las herramientas necesarias para escribir, compilar, depurar y ejecutar programas en C. DJGPP: librera multimedia inter-plataformas, muy til para manipular los grficos y el audio del juego. SDL: buensimas libreras que sern de gran ayuda. Originalmente escrito en C, funciona igualmente en C++ a nivel nativo. Allegro: librera gratuita para el desarrollo de videojuegos que adems contiene funciones matemticas, funciones 3D y otras excelentes prestaciones. SGI OpenGL for Windows Development Kit (SDK): kit completo de desarrollo para transferir un carcter indiscutiblemente profesional al juego. Microsoft DirectX Software Kit: otro excelente kit que permite mejorar el juego hasta extremos insospechados. Game Maker: completo paquete destinado a que personas sin conocimientos previos de programacin puedan crear un videojuego desde cero. Digital Mars C/C++ Compiler 8.28: potente compilador de C y C++ para poder crear programas en entornos Windows. Borland C++ Compiler 5.5: rpido y optimizado compilador para lenguaje C++ de 32 bits. FreePiXCL 4.48: desarrollo de aplicaciones multimedia de un modo rpido y sencillo. AUDIO:

Herramientas necesarias para crear y editar audio en todos los formatos: .MIDI, .WAV, .MP3, etc. Para que al juego no le falte una buena ambientacin sonora y musical. Anvil Studio: se puede producir, grabar, componer y editar pistas de msica en formato .MIDI o .WAV. Cool Edit Pro: uno de los editores de audio ms utilizados por la gran profesionalidad de sus resultados. CuBase VST 32: con esta versin es posible manipular tanto MIDI como pistas de audio. Goldwave: de puede manejar el formato .MP3 y aadir efectos especiales a nuestro juego. Modplg Tracker: tracker para realizar secuencias de muestras. Sound Forge: otro potente editor de audio, para manipular y aplicar efectos de sonido. RipCast Streaming Audio Ripper: programa completo con el que se puede grabar audio de tipo streaming como MP3 separados. FruityLoops: til para realizar efectos de sonido realmente espectaculares, mezclar y crear propias melodas de un modo muy profesional. Rebirth: un clsico mundial en caja de ritmos virtuales para la realizacin de msica de baile. Logic 6: programa realmente muy eficaz para la secuencia de pistas de audio a nivel profesional. Reason 2: uno de los programas de audio para ordenador ms innovadores de los ltimos tiempos, un autntico estudio vitual. Samples variados: se pueden buscar en Internet toda una gama de samples tiles que se pueden incluir en el juego. S-Cal: Calculadora de b.p.m. , tiempos de silencio, tiempos de retraso, etc.... muy til para darle la forma final a la meloda del juego. Music Write: Herramienta de composicin musical muy intuitiva que incluye multitud de efectos y prestaciones. Dublt: til aplicacin multimedia que permite integrar sonidos y msica en formato .WAV a imgenes o clips de video de un modo muy cmodo. Acid Pro: potente herramienta de creacin musical, con una gran capacidad de composicin y edicin. Acoustic Labs Mixer: Se puede convertir fcilmente al PC en un editor de audio y en una mesa de mezclas gracias a este programa. Digital Vision DSP 151: procesador de sonido digital en tiempo real. Cakewalk: para grabar, reproducir y organizar msica digital con una

completsima herramienta. VIDEO: Programas de edicin de video. Illusion: programa de render, composicin y animacin para crear espectaculares efectos. Media Studio Pro: Sencillo pero potente programa para editar video de un sorprendente modo. VAMP Media Center: herramienta de audio y video que permite realizar pequeos clips y otras aplicaciones multimedia. Es adems peer-to-peer. CAPITULO MODELO BAR.CAPITULO 8Evaluacin La ingeniera de software, no es una disciplina de ingeniera sino una disciplina de administracin (o management) impulsada desde sus orgenes por el Departamento de Defensa de los Estados Unidos (DoD), como lo demuestra la investigacin histrica. La esencia del objeto de estudio de la Ingeniera de Software como disciplina terico-prctica, es decir, su ontologa es de naturaleza ms organizacional que ingenieril, aunque tiene un componente tecnolgico muy importante. En otras palabras, la ingeniera de software, es ms que la codificacin del software en un lenguaje de programacin, ms que el Lenguaje Unificado de Modelado (UML, Unified Modeling Language) y la programacin orientada a objetos, ms que el Proceso Unificado Rational (RUP, Rational Unified Process), ms que la administracin de proyectos (project management), es una prctica social y una ocupacin en vas de convertirse en profesin y una de las pocas actividades econmicas que crecen a una tasa anual de dos dgitos, en todo el mundo. Los funcionamiento de los sistemas o productos que se van a adquirir es suficientemente satisfactorio, una vez implantados en su entorno real de operacin y sin embargo, la aplicacin de tcnicas tradicionales de evaluacin no aporta el grado necesario de seguridad y certidumbre. Los de lenguajes de cuarta generacin sern aspectos tales como: Soporte de tcnicas de programacin. Generador de aplicaciones. Modelos de datos soportados. Portabilidad. Facilidades de depuracin. Integracin con entornos CASE. Interfase y documentacin de usuario en espaol.

Perfiles de usuarios y factores humanos en el entorno de operacin. CONCLUSION.EN ESTA BREVE EXPLICACION RECURRIMOS A DESCRIBIR EL FUNCIONAMIENTO DE LA COMPUTADORA CON RESPECTO A LA REPRESENTACION LOGICA DEL LOS SOFTWARES, QUE SON LA PRINCIPAL CAUSA DE ANDAR EN SIN FIN DE TAREAS DIARIAS, ENTRE NOSOTROS LOS ESTUDIANTES, QUE APLICAMOS VARIOS SOFTWARES, EN VERDAD ES NESESARIO DISTINGUIR DETALLADAMENTE SU ESTRUCTURA, TIPO, FUNCION, QUE ESTE BRINDA AL USUARIO O INTERFAZ, RECUURIMOS AL DETALLLE DE SUS HERRAMIENTAS PARA CREARLO, UBICARLO ENTRE LOS DIFERENTES TIPOS Y USOS DIFERENTES. EL DESARROLLO DE ESTE ESTA PENDIENDO DE COMO, Y PORQUE ES. AQUI OBTENEMOS LAS PRINCIPALES IDEAS DEL LO QUE ALGUNA VEZ ME E M B R OL L O, C OM P A R A N D O D E FIN IE N D O Y R E C OP IL A N D O L A INFORMACION ADECUADA, CON EL FIN DE SATISFACER CIERTA NESECIDAD DE CUBRIR LOS HUECOS DUDOSOS ENTRE EL TEMA DE COMPUTADORAS, ELECTRONICA, Y SOFTWARE. REFIRIENDONOS TAMBIEN A SU DISEO Y COSTO Y MANTENIMIENTO.

BIBLIOGRAFIA

Apache. `iBATIS Persistence Framework for Java', 2009c. URL http://ibatis.apache.org/ Apache. `Apache Hadoop', 2010. URL http://hadoop.apache.org/ Apache Foundation. `Apache Maven Project', 2010. Maven project management & comprehension tool. URL http://maven.apache.org/ Austin, D. `How Google Finds Your Needle in the Web's Haystack', 2006. URL http:// www.ams.org/featurecolumn/archive/pagerank.html Baeza-Yates, R. et al. Modern Information Retrieval. ACM Press - Addison Wesley, 1999. URL http://people.ischool.berkeley.edu/~hearst/irbook/

Beck, K. Test Driven Development: By Example. Addison Wesley, 2002. Bernard, E. `Hibernate Search - cool, but is it the right approach? Year baby!' Blog, 2007a. URL http://blog.emmanuelbernard.com/2007/06/hibernate-search-cool-but-is-it-right. html Bernard, E. `Hibernate Search: Googling Your Java Technology-Based Persistent Domain

Model'. En JavaOne Conference. 2007b. Compass Project. `Compass Search Engine', 2009. URL http://www.compass-project.org/ Cutting, D. et al. `Optimization for dynamic inverted index maintenance'. En SIGIR '90: Proceedings of the 13th annual international ACM SIGIR conference on Research and development in information retrieval, (pgs. 405!411). ACM, New York, NY, USA, 1990. ISBN 0-89791-408-2. doi:http://doi.acm. org/10.1145/96749.98245. Cutting, D. `Dynamization and Lucene', 2004a. URL http://cutting.wordpress.com/2004/11/ Cutting, D. `Lucene Talk at University of Pisa', 2004b. URL http://lucene.sourceforge.net/talks/ pisa/ Dahan, U. `Employing the Domain Model Pattern', 2009. URL http://msdn.microsoft.com/en-us/magazine/ee236415.aspx#id0400005

Canopus ProCoder: potente conversor de formatos de video, para crear videos digitales de gran calidad. Herramientas de Programacin y Programas para el desarrollo de videojuegos y Entornos Virtuales(3D) de enseanza y Aprendizaje Ulises Romn C-2010 nromanc@yahoo.es http://es.wikipedia.org/wiki/Desarrollo_r%C3%A1pido_de_aplicaciones http:// 148.202.148.5/cursos/cc321/fundamentos/unidad1/dra.htm http:// www.mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/

Zavala-Ruiz, J. (2008) "Organizational Analysis of Small Software Organizations: Framework and Case Study" en H. Oktaba y M. Piattini (eds) Software Process Improvement for Small and Medium Enterprises: Techniques and Case Studies.

También podría gustarte