2008/10/04

2008/04/05

DESARROLLO DEL CUESTIONARIO

1. Enumere los objetivos principales del diseño de la salida que debe tener en cuentaun Ingeniero de Software.

  • · Diseñar la salida con un propósito específico
  • · Hacer interesante la salida para el usuario
  • · Suministrar la cantidad adecuada de salida
  • · Entregar la salida oportunamente
  • · Escoger el método de salida más efectivo

2. Como Ud. clasifica las salidas de Información. Explíquelas.

Salida Externa: La que sale del negocio, tal como la información que aparece en la WEB·

Salida Interna: La que permanece dentro del negocio, tal como el material disponible en una Intranet.3. Cite 5 factores a considerar cuando se selecciona las tecnologías de salida, haga un cuadro comparativo con los métodos de salida indicando ventajas y desventajas.

METODO DE SALIDA : Impresoras

VENTAJAS
Económica como inversión a la empresa.
Flexibilidad en los tipos de salida.
Maneja grandes volúmenes de salida
Puede llegar a muchos usuarios.
Es de Alta confiabilidad.

DESVENTAJAS
En algunos casos puede ser ruidosa.
Generar problemas de compatibilidad .
Altos costos en los Suministros
Requiere intervención de un operador
Según el modelo pude ser lenta.

METODO DE SALIDA : Pantalla de Despliegue

VENTAJAS
Adecuada para bases de datos y archivos
Interactiva.
Trabaja en línea.
Es Silenciosa.
De fácil cambialilidad

DESVENTAJA
Aún podría requerir documentación impresa.
Puede ser costosa si el servicio es para muchos usuarios.
Requiere área de cableado.

METODO DE SALIDA : Salida por Audio

VENTAJAS
Adecuada para mensajes transitorios
Adecuada para usuarios individuales
Adecuada si la salida es repetitiva

DESVENTAJA
Esta en proceso de perfeccionamiento
Su desarrollo es costoso
Se necesita sitio especial donde no interfiera con otros
Tiene ampliación limitada.

METODO DE SALIDA : DVD,CD-ROM, y CD-RW

VENTAJAS
Menos vulnerable a daños.
Permite salida multimedia
Tiene gran capacidad de almacenamiento
Es de Consulta rápida.

DESVENTAJA
Es difícil de actualizar
Su costo de desarrollo es alto
Complicada de usar en la red

METODO DE SALIDA : Salida electrónica Correo, fax, página Web

VENTAJAS
Se transmite masivamente
Puede ser interactiva
No usa papel
Se actualiza muy fácil

DESVENTAJA
Necesitan mantenimiento
Normalmente tiene baja resolución
Es difícil dar formato fijo.

4. Medición de la capacidad de análisis

CASO ALCANOS

La empresa cuenta con pagina Web y tiene la mayor parte de sus procesos sistematizados y en linea y teniendo en cuenta las limitantes que presenta la empresa y lo manifestado por el director comercial.

Analizando el caso podemos deducir>
Según la descripción del escenario el Director comercial de la empresa ALCANOS, se evidencia que posee una base de datos donde se registran todos los proveedores, se lleva la facturación, los inventarios, cartera etc. A lo cual él solicita no querer emitir información impresa, analizada esta limitante presento las siguientes alternativas.El método de salida de la información de la empresa podría ser en un dispositivo comercial en la actualidad como CD o medio magnético. Igualmente podría ser recibido a través de pantalla; vista desde una terminal esto implicaría que no cualquier funcionario pueda acceder a este reporte por tal razón debe tener una seguridad apropiada o destinada a un rol de funcionario específico o usuario con privilegios en la base de datos. Reconociendo que este es el medio más económico.Sin dejar como recomendación que es necesario mantener un archivo en medio impreso.

Preguntas que se le harían al director comercial
(DC) y a otros entes de dirección
(ED) respecto a la salida de los reportes:
(DC) ¿Que información necesita usted que aparezca en el reporte?
(DC) ¿Qué tipo de información no desea que se presente?
(DC) ¿Quiénes van a tener acceso a la información?
(DC) ¿Usted necesita un consolidado de todos los frentes de su empresa?
(DC) ¿Por cual medio le gustaría observar y analizar la información?
(DC) ¿Hay limite de tiempo en la disponibilidad de la información para la toma de decisiones?(ED) ¿Cómo consideran la generación de los reportes en la empresa?
(ED) ¿Qué modificaciones son necesarias a nivel de área y de empresa?
(ED) ¿Existe incoherencia en la generación de reportes?

5. Definir:

PEAR:
El proyecto PEAR fue fundado por Williams G. Molina G. en 1999 para promover la reutilización de código que realizan tareas comunes. Tiene como metas:
Promover una biblioteca de código bien estructurada
Mantener un sistema de distribución y mantenimiento de paquetes de código
Promover un estilo de codificación estándar.
En definitiva consiste en una lista bastante grande de bibliotecas de código PHP que permiten hacer ciertas tareas de manera más rápida y eficiente reutilizando código escrito previamente por otras personas. Generalmente las bibliotecas contienen clases en archivos PHP que luego se incluyen y usan sin muchas complicaciones. Entre ellas. Authentication, Benchmarking, Caching, Configuration , Console , Database ,Date & Time , Encryption , Event , File Formats , File System , Gtk Components . Gtk2 Components . HTML . HTTP, Images , Internationalization , Logging , Mail , Math , Networking , Numbers , Payment , PEAR , PHP , Processing , Science , Semantic Web , Streams , Structures , System , Text , Tools and Utilities , Validate , Web Services , XML .

ORM:
Es una técnica de la programación para convertir los datos de los sistemas de tipo incompatibles en las bases de datos correlativas. Esto crea, en efecto, una "base de datos del objeto "virtual que puede usar el idioma de la programación desde dentro.

RAD:
El desarrollo de la aplicación rápido (RAD), es un proceso de desarrollo de software por James Martin en 1991. La metodología involucra el desarrollo reiterativo y la construcción de prototipos. Tradicionalmente el acercamiento de desarrollo de aplicación rápido involucra los compromisos en la utilidad, rasgos y/o velocidad de la ejecución. Se describe como un proceso a donde el ciclo de desarrollo de una aplicación se apresura. El Desarrollo de la Aplicación rápido permite desarrollar así los productos de calidad más rápidamente ahorrando los valiosos recursos.

El YAML:
es un formato del serialización de datos inspirado en lenguajes como legible XML, el C, la Pitón, Perl, el así como el formato para correos electrónicos especificado por el RFC 2822. El YAML fue propuesto por Clark Evans en 2001, quien lo diseñó junto un döt de Ingy y Oren Neto Ben-Kiki.

OOP:
Programación Orientada un Objetos (POO u el OOP según sus siglas en inglés) programación que usa objetos el y sus interacciones para diseñar aplicaciones y programas. Está basado en varias técnicas, la herencia, la modularidad, el polimorfismo, el encapsulamiento. Su uso se popularizó a principios de la década 1990.

2007/10/06

Preguntas en clase

ETAPAS PARA EL DISEÑO DE UN SOFTWARE

ETAPAS DEL CICLO

Una descripción de etapas con que podemos contar a lo largo del ciclo de vida del software; una vez delimitadas en cierta manera las etapas, habrá que ver la forma en que estas se afrontan (existen diversos modelos de ciclo de vida, y la elección de un cierto modelo para un determinado tipo de proyecto puede ser de vital importancia; el orden de las etapas es un factor importante, por ejemplo tener una etapa de validación al final del proyecto, tal como sugiere el modelo en cascada o lineal, puede implicar serios problemas sobre la gestión de determinados proyectos; hay que tener en cuenta que retomar etapas previas es costoso, y cuanto más tarde se haga más costoso resultará, por tanto el hecho de contar con una etapa de validación tardía tiene su riesgo y, por su situación en el ciclo, un posible tiempo de reacción mínimo en caso de tener que retornar a fases previas).

NECESIDADES

Esta etapa tiene como objetivo la consecución de un primer documento en que queden reflejados los requerimientos y funcionalidades que ofrecerá al usuario del sistema a desarrollar (qué, y no cómo, se va a desarrollar).

Dado que normalmente se trata de necesidades del cliente para el que se creará la aplicación, el documento resultante suele tener como origen una serie de entrevistas cliente-proveedor situadas en el contexto de una relación comercial, siendo que debe ser comprendido por ambas.

ESPECIFICACIONES

Ahora se trata de formalizar los requerimientos; el documento obtenido en la etapa anterior se tomará como punto de partida para esta fase. Su contenido es aún insuficiente y lleno de imprecisiones que será necesario completar y depurar. Por medio de esta etapa se obtendrá un nuevo documento que definirá con más precisión el sistema requerido por el cliente (el empleo de los casos de uso).

Lo más normal será que no resulte posible obtener una buena especificación del sistema a la primera; serán necesarias sucesivas versiones del documento en que irán quedando reflejada la evolución de las necesidades del cliente.

ANALISIS

Es necesario determinar que elementos intervienen en el sistema a desarrollar, así como su estructura, relaciones, evolución en el tiempo, detalle de sus funcionalidades, que van a dar una descripción clara de qué sistema vamos a construir, qué funcionalidades va a aportar y qué comportamiento va a tener. Para ello se enfocará el sistema desde tres puntos de vista relacionados pero diferentes:
- Funcional
- Estático
- Dinámico

DISEÑO

Teniendo claro que debe hacer el sistema, determinaremos como se va hacer. ¿Cómo debe ser construido el sistema?; aquí se definirán en detalle entidades y relaciones de las bases de datos, se pasará de casos de uso esenciales a su definición como casos expandidos reales, se seleccionará el lenguaje más adecuado, el Sistema Gestor de Bases de Datos a utilizar en su caso, librerías, configuraciones hardware, redes, etc.

IMPLEMENTACION

Se empieza a codificar algoritmos y estructuras de datos, definidos en las etapas anteriores, en el correspondiente lenguaje de programación y/o para un determinado sistema gestor de bases de datos.

PRUEBAS

El objetivo de estas pruebas es garantizar que el sistema ha sido desarrollado correctamente, sin errores de diseño y/o programación. Es conveniente que sean planteadas al menos tanto a nivel de cada módulo (aislado del resto), como de integración del sistema (según sea la naturaleza del proyecto en cuestión se podrán tener en cuenta pruebas adicionales, ejemplo rendimiento).

VALIDACION

Esta etapa tiene como objetivo la verificación de que el sistema desarrollado cumple con los requisitos expresados inicialmente por el cliente y que han dado lugar al presente proyecto (para esta fase también es interesante contar con los use cases, generados a través de las correspondientes fases previas, que servirán de guía para la verificación de que el sistema cumple con lo descrito por estos).

MANTENIMIENTO Y EVOLUCION

Finalmente la aplicación resultante se encuentra ya en fase de producción (en funcionamiento para el cliente, cumpliendo los objetivos para los que ha sido creada). A partir de este momento se entra en la etapa de mantenimiento, que supondrá ya pequeñas operaciones tanto de corrección como de mejora de la aplicación (por ejemplo mejora del rendimiento), así como otras de mayor importancia, fruto de la propia evolución. Ejemplo: nuevas opciones para el usuario debidas a nuevas operaciones contempladas para el producto.

La mayoría de las veces en que se desarrolla una nueva aplicación, se piensa solamente en un ciclo de vida para su creación, olvidando la posibilidad de que esta deba sufrir modificaciones futuras (que tendrán que producirse con casi completa seguridad para la mayor parte de los casos).Fase de definición (¿qué hacer?)- Estudio de viabilidad. - Conocer los requisitos que debe satisfacer el sistema (funciones y limitaciones de contexto). - Asegurar que los requisitos son alcanzables. - Formalizar el acuerdo con los usuarios. - Realizar una planificación detallada. Fase de diseño (¿cómo hacerlo? Soluciones en coste, tiempo y calidad)- Identificar soluciones tecnológicas para cada una de las funciones del sistema. - Asignar recursos materiales para cada una de las funciones. - Proponer (identificar y seleccionar) subcontratas. - Establecer métodos de validación del diseño. - Ajustar las especificaciones del producto. Fase de construcción- Generar el producto o servicio pretendido con el proyecto. - Integrar los elementos subcontratados o adquiridos externamente. - Validar que el producto obtenido satisface los requisitos de diseño previamente definidos y realizar, si es necesario, los ajustes necesarios en dicho diseño para corregir posibles lagunas, errores o inconsistencias. Fase de mantenimiento y operación- Operación: asegurar que el uso del proyecto es el pretendido. - Mantenimiento (nos referimos a un mantenimiento no habitual, es decir, aquel que no se limita a reparar averías o desgastes habituales -este es el caso del mantenimiento en productos software, ya que en un programa no cabe hablar de averías o de desgaste).

FASES DEL CICLO DE VIDA
- Ciclo Cascada
- Ciclo Prototipo
- Ciclo Espiral
- Ciclo Desarrollo incremental
- Ciclo Evolutivo
- Ciclo Modelo basado en reutilización

ASPECTOS QUE SE DEBEN TENER EN CUENTA PARA LA SELECCIÓN CORRECTA DEL MODELO DE CICLO DE VIDA

- El alcance del ciclo depende de hasta dónde llegue el proyecto correspondiente. Un proyecto puede comprender un simple estudio de viabilidad del desarrollo de un producto, o su desarrollo completo o, llevando la cosa al extremo, toda la historia del producto con su desarrollo, fabricación, y modificaciones posteriores hasta su retirada del mercado.

- Las características (contenidos) de las fases en que dividen el ciclo. Esto puede depender del propio tema al que se refiere el proyecto (no son lo mismo las tareas que deben realizarse para proyectar un avión que un puente), o de la organización (interés de reflejar en la división en fases aspectos de la división interna o externa del trabajo).

CUÁL ES LA FUNCIONALIDAD DE LA INGENIERÍA DE SOFTWARE Y QUIENES SON LOS QUE SE BENEFICIAN DIRECTAMENTE

La Ingeniería de Software es la rama de la ingeniería que aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones costo-efectivas a los problemas de desarrollo de software, es decir, permite elaborar consistentemente productos correctos, utilizables y costo-efectivos.El proceso de ingeniería de software se define como un conjunto de etapas parcialmente ordenadas con la intención de lograr un objetivo, en este caso, la obtención de un producto de software de calidad.El proceso de desarrollo de software es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo. Concretamente define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo.

2007/08/19

INTERROGANTES DE CLASE

1. EN QUE CONSISTE LA METODOLOGIA TOP DOWN?

Es una estrategia de proyecto que divide sucesivamente los problemas grandes y complejos en problemas menores y menos complejos, hasta que el problema original pueda ser expresado como una combinaciòn de problemas pequeños y fácilmente solucionables.

2007/08/17

MODELOS DE PROCESOS DEL SOFTWARE

uModelo de Cascada
uSeparar en distintas fases de especificación y desarrollo.

uDesarrollo Evolutivo
uLa especificación y el desarrollo están intercalados.
u
Prototipado
uUn modelo sirve de prototipo para la construcción del sistema final.

uTransformación Formal
uUn modelo matemático del sistema se transforma formalmente en la implementación.
u
Desarrollo basado en Reutilización
uEl sistema es ensamblado a partir de componentes existentes.

2007/08/16

MODELO CASCADA


Fases del Modelo de Cascada

  • Análisis de requerimientos y definición.
  • Diseño del sistema y del software.
  • Implementación y prueba de unidades
  • Integración y prueba del sistema.
  • Operación y mantenimiento. u
  • La dificultad en esta modelo reside, en la dificultad de hacer cambios entre etapas.


PROBLEMAS Y RIESGOS

  • Alto riesgo en sistemas nuevos debido a problemas en las especificaciones y en el diseño.
  • Bajo riesgo para desarrollos bien comprendidos utilizando tecnología conocida.

El modelo de cascada considera cada actividad del proceso como una actividad discreta.



DESARROLLO EVOLUTIVO



uProblemas
  • lPoca visibilidad en el proceso
  • lLos sistemas están pobremente especificados
  • lSe requieren habilidades especiales.

uAplicabilidad
  • lPara sistemas interactivos pequeños o medianos.
  • lPara partes de sistemas grandes (p.ej. la interfaz de usuario).
  • lPara sistemas de corta vida.
Riesgo
  • lAlto riesgo debido a la necesidad de tecnología avanzada y habilidades del grupo desarrollador.

El modelo de desarrollo evolutivo considera actividades del proceso en forma concurrente.


MODELO PROTOTIPADO

Prototipado exploratorio
lEl objetivo es trabajar con clientes hasta evolucionar a un sistema final, a partir de una especificación inicial. Se debe comenzar con unas especificaciones bien entendidas.
u
Prototipado de “throw-away”.
lEl objetivo es entender los requerimientos del sistema. Se puede comenzar con especificaciones poco entendidas.


RIESGOS


  • lBajo riesgo para nuevas aplicaciones debido a que las especificaciones y el diseño se llevan a cabo paso a paso.
  • lAlto riesgo debido a falta de visibilidad
u
MANEJO DE RIESGOS


  • La tarea principal del administrador consiste en minimizar riesgos.
  • uEl “riesgo” inherente en una actividad es se mide en base a la incertidumbre que presenta el resultado de esa actividad.
  • uLas actividades con alto riesgo causan sobre-costes en cuanto a planeación y costos uEl riesgo es proporcional al monto de la calidad de la información disponible. Cuanto menos información, mayor el riesgo.



MODELOS DE PROCESOS HIBRIDOS

  • Los sistemas grandes están hechos usualmente de varios subsistemas.
  • uNo es necesario utilizar el mismo modelo de proceso para todos los subsistemas.
  • uEl prototipado es recomendado cuando existen especificaciones de alto riesgo.
  • uEl modelo de cascada es utilizado en desarrollos bien comprendidos.


MODELO DEL PROCESO DE ESPIRAL





uPlanteamiento de Objetivos
lSe identifican los objetivos específicos para cada fase del proyecto.

uIdentificación y reducción de riesgos.
lLos riesgos clave se identifican y analizan, y la información sirve para minimizar los riesgos.

uDesarrollo y Validación.
lSe elige un modelo apropiado para la siguiente fase del desarrollo.

uPlaneación.
lSe revisa el proyecto y se trazan planes para la siguiente ronda del espiral.


PLANTILLA PARA UNA RONDA DEL ESPIRAL
  • uObjetivos.
  • uRestricciones.
  • uAlternativas.
  • uRiesgos.
  • uResolución de riesgos.
  • uResultados.
  • uPlanes.
  • uGarantías (commitments).

MEJORAMIENTO DE LA CALIDAD EN EL MODELO DE ESPIRAL

uObjetivos
lMejorar significativamente la calidad del software.
u
Restricciones.
lDentro de los 3 primeros anos.
lSin que se produzcan grandes inversiones de capital.
lSin que se lleven a cabo grandes cambios organizacionales.
u
Alternativas.
lReutilizar software certificado existente.
lIntroducir especificaciones formales y verificación.
lInvertir en herramientas de prueba y validación.

uRiesgos.
lNo existen mejoras en el software baratas.
lLas mejoras en la calidad pueden incrementar costes excesivamente
lLos nuevos métodos pueden causar bajas en el personal.
u
Solución de riesgos.
lEstudio de la literatura existente.
lProyecto piloto.
lBúsqueda de todos los componentes reutilizables potenciales.
lIdentificación del soporte disponible de herramientas
lEntrenamiento al personal y seminarios motivacionales.

FLEXIBILIDAD EN EL MODELO DE ESPIRAL

  • Para sistemas bien comprendidos utiliza el Modelo de Cascada. La fase de análisis de riesgos es relativamente fácil.
  • Con requerimientos estables y sistemas de seguridad críticos, utiliza modelos formales.
  • Con especificaciones incompletas, utiliza el modelo de prototipado.
  • Pueden utilizarse modelos híbridos en distintas partes del desarrollo.

VENTAJAS DEL MODELO DE ESPIRAL
  • Centra su atención en la reutilización de componentes y eliminación de errores en información descubierta en fases iniciales.
  • Los objetivos de calidad son el primer objetivo.
  • Integra desarrollo con mantenimiento.
  • Provee un marco de desarrollo de hardware/software.


PROBLEMAS CON EL MODELO DE ESPIRAL

  • El desarrollo contractual especifica el modelo del proceso y los resultados a entregar por adelantado.
  • Requiere de experiencia en la identificación de riesgos.
  • Requiere refinamiento para uso generalizado

2007/08/15

PUNTOS PARA ADMINISTRAR UN PROYECTO DE INFORMATICA

  1. La solicitud del usuario
  2. lo que entendió el líder del proyecto
  3. El diseño del analista de sistemas
  4. El enfoque del programador
  5. La recomendación del consultor externo
  6. La documentación del proyecto
  7. La implantación en producción
  8. El presupuesto del proyecto
  9. El soporte operativo
  10. Lo que el usuario realmente necesita


2007/06/17

1. INTERFAZ GRAFICA

HTML (HyperText Markup Language) es un lenguaje muy sencillo que permite describir hipertexto, es decir, texto presentado de forma estructurada y agradable, con enlaces (hyperlinks) que conducen a otros documentos o fuentes de información relacionadas, y con inserciones multimedia (gráficos, sonido...) La descripción se basa en especificar en el texto la estructura lógica del contenido (títulos, párrafos de texto normal, enumeraciones, definiciones, citas, etc) así como los diferentes efectos que se quieren dar (especificar los lugares del documento donde se debe poner cursiva, negrita, o un gráfico determinado) y dejar que luego la presentación final de dicho hipertexto se realice por un programa especializado (como Mosaic, o Netscape).


LINKS: http://www.etsit.upm.es/~alvaro/manual/manual.html

http://www.webestilo.com/html/

APLICACIONES DE JAVA

Los tipos básicos de aplicaciones que se pueden realizar con java:


*Aplicaciones en modo comando: son las más simples de realizar y las que se deberían practicar en primer lugar para comprender y practicar con las características del lenguaje. No tienen entorno gráfico por lo que se deberán ejecutar en una ventana de comandos ( En windows se abriría una ventana de comandos tipo MSDOS)


*Aplicaciones con entorno gráfico (Java Swing o AWT): son ejecutadas igual que las anteriores pero utilizan el entorno gráfico por lo es necesario conocer ciertas características de programación en entornos gráficos como el manejo de eventos (sucesos producidos cuando el usuario pulsa un botón de una ventana gráfica o selecciona un elemento de un menú), la creación de objetos gráficos, etc.


*Applets, Aplicaciones embebidas en páginas web: Para ejecutarlas se realiza, además del programa java correspondiente, una página html en la que se hace la llamada a la aplicación y posteriormente se abre dicha página con un navegador web o similar.

2. LOGICA / PROGRAMACION

PROGRAMACION EN JAVA

Java es un lenguaje de programacion orientado a objetos desarrollado por Sun Mycrosystems a principios de los años 1990. Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.


JavaScript, un lenguaje interpretado, comparte un nombre similar y una sintaxis similar, pero no está directamente relacionado con Java.


Sun Microsystems proporciona una implementación GNU General Public License de un compilador Java y una máquina virtual Java, conforme a las especificaciones del Java Community Process, aunque la biblioteca de clases que se requiere para ejecutar los programas Java no es software Libre

Historia

Java comenzó como un proyecto llamado "Green" y su objetivo inicial era crear un lenguaje que fuera capáz de ejecutarse en electrodomésticos que tuvieran microprocesadores pero se dieron cuenta que ese tipo de tecnología estaba aun muy lejos de poder existir. El proyecto dio como resultado un lenguaje muy parecido a C/C++ al cual le llamaron "Oak" (en referencia al roble que se encontraba en el exterior de las oficinas de Sun Microsystems) por James Goslin en junio de 1991 para usarse en un proyecto de receptor digital externo, pero descubrieron que ya existía un lenguaje con este nombre, luego alguien sugirió el nombre de Java (se cree que es por un tipo de café y otros piensan que son siglas) y fue ese nombre el que quedó. La primera implementación pública fue Java 1.0 en 1995. Prometía "Escribir una vez, ejecutar en cualquier parte" ("Write once, run anywhere"), proporcionando ningún coste extra en el tiempo de ejecución en las plataformas populares. Era bastante seguro y su seguridad era configurable, permitiendo restringir el acceso a archivos o a una red. Los principales navegadores web pronto incorporaron la capacidad de ejecutar "applets" Java seguros dentro de páginas web. Java adquirió popularidad rápidamente. Con la llegada de "Java 2", las nuevas versiones tuvieron múltiples configuraciones pensadas para diferentes tipos de plataformas. Por ejemplo, J2EE era para aplicaciones de empresa y la versión reducida J2ME era para aplicaciones para móviles. J2SE era la designación para la Edición Estándar. En 2006, las nuevas versiones "J2" fueron renombradas a Java EE, Java ME y Java SE, respectivamente.


En 1997, Sun se dirigió al cuerpo de estándares ISO/IEC JTC1 y más tarde a Ecma International para formalizar Java, pero pronto se retiró del proceso. Java permanece como un estándar de facto propietario que está controlado a través del Java Community Process. Sun hace disponibles la mayoría de sus implementaciones Java sin cargo alguno, generando los ingresos con productos especializados como el Java Enterprise System. Sun distingue entre su Software Development Kit (SDK) y su Java Runtime Environment (JRE) que es un subconjunto del SDK, siendo la principal distinción que en el JRE no está presente el compilador.


El 13 de noviembre de 2006, Sun liberó partes de Java como software libre/de código abierto, bajo la GNU General Public License (GPL). La publicación del código fuente completo bajo la GPL se espera que ocurra en la primera mitad de 2007.

Java y DB

Muchos programadores quizás tengan mayor interes en realizar programación basada conjunto a Bases de Datos, pues Java no se queda atrás, Java no implementa Bases de Datos, ya que solo es un lenguaje de programación, pero implementa funciones que permiten al programador realizar conexiones entre la interfaz de usuario y el Gestor de Base de Datos.


Java permite conectarse por medio de puentes JDBC o a través de Driver's a programas gestores de bases de datos, su independencia entre ambos permite al usuario mantener siempre un enfoque, separando el diseño de la Base de Datos y el de la interfaz en dos mundos de pensamientos diferentes el mundo de los datos y el mundo de las interfaces.


Java es orientado a objetos por ende da solidez a la aplicación evitando cortes bruscos del programa y permitiendo continuar de esta manera con la aplicación. Java permite Applets, lo que permite montar cualquier aplicación con Bases de Datos a través de la red de forma segura y sólida.


Un buen ejemplo de como conectar java con el JDBC sería:

 
public boolean Conectar(String DBName) {
       boolean val = true;
       //Creación de la URL
       String url = "jdbc:odbc:" + DBName;
       try {
           //Seleccionar y cargar el driver a ser usado.
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           //Conección con JDBC
           con = DriverManager.getConnection(url);
       } catch (JDBCException jdbc) {
           //En caso de error con la conexión con JDBC-Server
           con = null;
           val = false;
           JOptionPane
                   .showMessageDialog(
                                      new JFrame(),
                                      jdbc.toString()
                                              .substring(
                                                         49,
                                                         jdbc.toString()
                                                                 .length())
                                              + "\n\nCausas probables del error:\n1- El usuario no tiene los permisos para acceder a "
                                              + DBName
                                              + ".\nVerifique he inténtelo nuevamente.\nGracias!",
                                      "Error!.- No hubo conexión con la base de datos.",
                                      0);
       } catch (ClassNotFoundException cnfe) {
           //En caso de error con el driver.
           con = null;
           val = false;
           JOptionPane.showMessageDialog(new JFrame(), cnfe.toString()
                   .substring(34, cnfe.toString().length()),
                                         "Error!.- Falta Driver.", 0);
       }
       return val;
   }

Java e Internet


Entre junio y julio de 1994, tras una sesión maratónica de tres días entre John Gaga, James Gosling, Joy Naughton, Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador Web Mosaic, propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde sería conocido como HotJava.


Ese año renombraron el lenguaje como Java tras descubrir que "Oak" era ya una marca comercial registrada para adaptadores de tarjetas gráficas. El término Java fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la que Java debe su nombre a un tipo de café disponible en la cafetería cercana. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos .class que genera el compilador, son en hexadecimal, 0xCAFEBABE.


En octubre de 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, que Java sería soportado en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico. Dos semanas más tarde la primera versión de Java fue publicada.



Historia reciente

Las aplicaciones java son las más usadas en los teléfonos móviles por no ocupar tanto espacio en la memoria, dejando mucho espacio libre para otros archivos que no pueden cambiarse y que ocupan mucho espacio como los mp3 entre otros. Principalmente se utiliza java para juegos pero hay muchas otras formas interesantes de usos.

En la Web


En el cliente

La capacidad de la continuidad del uso de Java por el gran público. Flash está más extendido para animaciones interactivas y los desarrolladores estén empezando a usar la tecnología AJAX también en este campo. Java suele usarse para aplicaciones más complejas como la zona de juegos de Yahoo, Yahoo Games, o reproductores de video.


En el servidor

En la parte del servidor, Java es más popular que nunca, con muchos sitios empleando páginas JavaServer, conectores como Tomcat para Apache y otras tecnologías Java.


En el PC de escritorio

Aunque cada vez la tecnología Java se acerca más y más al PC de sobremesa, las aplicaciones Java han sido relativamente raras para uso doméstico, por varias razones.

  • Las aplicaciones Java pueden necesitar gran cantidad de memoria física.
  • La Interfaz Gráfica de Usuario (GUI) no sigue de forma estricta la Guía para Interfaces Humana (Human Interface Guidelines), así como tampoco aquella a la que estamos habitualmente acostumbrados. La apariencia de las fuentes no tiene las opciones de optimización activadas por defecto, lo que hace aparecer al texto como si fuera de baja calidad.
  • Las herramientas con que cuenta el JDK no son suficientemente potentes para construir de forma simple aplicaciones potentes. Aunque el uso de herramientas como Eclipse, un IDE con licencia libre de alta calidad, facilita enormemente las tareas de desarrollo.
  • Hay varias versiones del Entorno en Tiempo de Ejecución de Java, el JRE. Es necesario tener instalada la versión adecuada.
  • Las aplicaciones basadas en la Web están tomando la delantera frente a aquellas que funcionan como entidades independientes. Las nuevas técnicas de programación producen aplicaciones basadas en un modelo en red cada vez más potentes.

Sin embargo hay aplicaciones Java cuyo uso está ampliamente extendido, como los NetBeans, el entorno de desarrollo (IDE) Eclipse, y otros programas como LimeWire y Azureus para intercambio de archivos. Java también es el motor que usa MATLAB para el renderizado de la interfaz gráfica y para parte del motor de cálculo. Las aplicaciones de escritorio basadas en la tecnología Swing y SWT (Standard Widget Toolkit) suponen una alternativa a la plataforma .Net de Microsoft.


Disponibilidad del JRE de Java

Una versión del JRE (Java Runtime Environment) está disponible en la mayoría de equipos de escritorio. Sin embargo, Microsoft no lo ha incluido por defecto en su sistema operativo, ya que Windows XP fue lanzado en 2001. En el caso de Apple, éste incluye una versión propia del JRE en su sistema operativo, el Mac OS. También es un producto que por defecto aparece en la mayoría de las distribuciones de Linux. Debido a incompatibilidades entre distintas versiones del JRE, muchas aplicaciones prefieren instalar su propia copia del JRE antes que confiar su suerte a la aplicación instalada por defecto. Los desarrolladores de applets de Java o bien deben insistir a los usuarios en la actualización del JRE, o bien desarrollar bajo una versión antigua de Java y verificar el correcto funcionamiento en las versiones posteriores.

LINKS: http://www.monografias.com/trabajos42/manual-de-java/manual-de-java.shtml

DESCARGAR JAVA

http://www.java.com/en/download/windows_xpi.jsp?locale=en&host=www.java.com:80

3. BASES DE DATOS

1. QUE SON POSTGRET?


PostgreSQL es un Sistema de Gestión de Bases de Datos Objeto-Relacionales (ORDBMS) que ha sido desarrollado de varias formas desde 1977. Comenzó como un proyecto denominado Ingres en la Universidad Berkeley de California. Ingres fue más tarde desarrollado comercialmente por la Relational Technologies/Ingres Corporation.


En 1986 otro equipo dirigido por Michael Stonebraker de Berkeley continuó el desarrollo del código de Ingres para crear un sistema de bases de datos objeto-relacionales llamado Postgres. En 1996, debido a un nuevo esfuerzo de código abierto y a la incrementada funcionalidad del software, Postgres fue renombrado a PostgreSQL, tras un breve periplo como Postgres95. El proyecto PostgreSQL sigue actualmente un activo proceso de desarrollo a nivel mundial gracias a un equipo de desarrolladores y contribuidores de código abierto.


PostgreSQL está ampliamente considerado como el sistema de bases de datos de código abierto más avanzado del mundo. Posee muchas características (las cuales serán discutidas en detalle en la sección denominada ``Juego de Características de PostgreSQL'') que tradicionalmente sólo se podían ver en productos comerciales de alto calibre.


Postgres, desarrollada originalmente en el Departamento de Ciencias de la Computación de la Universidad de California en Berkeley, fue pionera en muchos de los conceptos de bases de datos relacionales orientadas a objetos que ahora empiezan a estar disponibles en algunas bases de datos comerciales. Ofrece suporte al lenguaje SQL92/SQL3, integridad de transacciones, y extensibilidad de tipos de datos. PostgreSQL es un descendiente de dominio público y código abierto del código original de Berkeley.


LINK: http://postgresql.org/download - programa


http://programas.navegalis.com/software-producto/35.php


MANUAL: http://es.tldp.org/Postgresql-es/web/navegable/tutorial/tutorial.htm


WEB SERVER

JBoss

Saltar a navegación, búsqueda

JBoss

Desarrollador:

JBoss, Inc.

Última versión:

4.0.5 / 17 de octubre de 2006

S.O.:

Multiplataforma

Género:

Servidor de aplicaciones

Licencia:

GPL/LGPL

En español:

-

Sitio Web:

www.jboss.org


JBoss es un servidor de aplicaciones J2EE de código abierto implementado en Java puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier sistema operativo que lo soporte. Los principales desarrolladores trabajan para una empresa de servicios, JBoss Inc., adquirida por Red Hat en Abril del 2006, fundada por Marc Fleury, el creador de la primera versión de JBoss. El proyecto está apoyado por una red mundial de colaboradores. Los ingresos de la empresa están basados en un modelo de negocio de servicios.

JBoss implementa todo el paquete de servicios de J2EE.


Java 2 Enterprise Edition

De Wikipedia, la enciclopedia libre


(Redirigido desde J2EE)

Saltar a navegación, búsqueda

Tipo de Plataforma Java

Plataforma Java Micro Edition (ME)

Plataforma Java Standard Edition (SE)

Plataforma Java Enterprise Edition (EE)


Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación—parte de la Plataforma Java—para desarrollar y ejecutar software de aplicaciones en Lenguaje de programación Java con arquitectura de n niveles distribuida, basándose ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. La plataforma Java EE está definida por una especificación. Similar a otras especificaciones del Java Community Process, Java EE es también considerada informalmente como un estándar debido a que los suministradores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE; no obstante sin un estándar de ISO o ECMA.


Java EE incluye varias especificaciones de API, tales como JDBC, RMI, e-mail, JMS, Servicios Web, XML, etc y define cómo coordinarlos. Java EE también configura algunas especificaciones únicas para Java EE para componentes. Estas incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web. Esto permite al desarrollador crear una Aplicación de Empresa portable entre plataformas y escalable, a la vez que integrable con tecnologías anteriores. Otros beneficios añadidos son, por ejemplo, que el servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados, significando que los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento de bajo nivel.


http://sourceforge.net/project/downloading.php?group_id=22866&use_mirror=ufpr&filename=jboss-5.0.0.Beta2.zip&73346021

ANTEPROYECTO S.I.E.D.

ANTEPROYECTO
View SlideShare presentation or Upload your own.

Software Libre



REPRESENTACION DIAGRAMA E-R

REPRESENTACION DIAGRAMA E-R

FRASES DE RELACION DE ESTE MODELO E-R

FRASES DE RELACION DE ESTE MODELO E-R

III. DIAGRAMA ENTIDAD - RELACION

III. DIAGRAMA ENTIDAD - RELACION

DISEÑO DE BASES DE DATOS DISTRIBUIDAS

DISEÑO FISICO

El diseño físico parte del esquema lógico y da como resultado un esquema físico. Es una descripción de cómo está almacenada la base de datos en la memoria secundaria; describe las estructuras de almacenamiento y los métodos usados para tener un acceso efectivo a los datos. Los esquemas lógicos y físicos se expresan haciendo uso del lenguaje de definición de datos del DBMS elegido; la base de datos se crea y se carga, y puede ser probada. Lo mismo, puede probarse las aplicaciones sobre la base de datos y de este modo la base de datos se vuelve operacional.

DISEÑO LÓGICO

Parte del esquema conceptual y da como resultado el esquema lógico. El esquema lógico es una descripción de la estructura de la base de datos que puede procesar el software DBMS. El modelo lógico más usado actualmente, es el modelo relacional que ha sido enriquecido con los modelos orientados por objetos. El modelo lógico no depende del DBMS en particular, sino del modelo de datos usado por el DBMS.

DISEÑO CONCEPTUAL

Parte de la especificación de requerimientos y su resultado es el esquema conceptual, cuyo propósito es describir el contenido de información de la base de datos, más que las estructuras de almacenamiento que se necesitarán para manejar la información. Es una descripción de alto nivel que es completamente independiente del software de DBMS que se use, incluso si se pensara en implementar con archivos tradicionales y con algún lengauje de programación convencional.

Archivo del blog