lunes, 13 de julio de 2009

Mantenimiento

Al implementar una aplicacion web , ablemos desde una pagina hasta una aplicacion administrativa o de la indole que sea debemos tener en cuenta que debemos tener cuidados tanto con la aplicacion , el servidor donde se hospedan las aplicaciones , por lo que debemos considerar actividades que se deben realisar para mantener el sistema en optimo funcionamiento.

Depuracion de archivos basura:
eliminar de nuestro servidor peroiodicamente archivos temporales , archivos que ya no se utilisen aplicasiones inesesarias , utilisar los optimisadores de espacio para asegurar un servidor funcional y sin problemas de sofware.

Respaldos:

Realisar periodicamente respaldos de la aplicasion y base de datos cuando se va a someter a matenimiento el equipo se realisan ajustes o cambios a la aplicacion.

Mantenimiento Preventivo:

Recordemos de realisar la limpiesa del servidor periodicamente que se encuentre libre de polvo para evitar un malfuncionamiento del equipo por falta de limpiesa realisar esto almenos cada 2 meses para mantener el equipo en enselentes condiciones .

IMPLEMENTACION

En esta fase procederemos a poner en funcion nuestra aplicasion para ello podemos recurrir a las tecnicas de implementacion que conosemos como :
Implementacion directa :es decir se ba a proceder a tarabajar directa mente con la aplicacion ya sea porque no existe aplicasion alguna o bien se sustitulle directa mente la anterior por el nuevo sistema y en la practica se evaluara para mejoraras y ajustes a la aplicacion.

Implementacion en paralelo :En esta se a trabajar con las dos aplicaciones , la nueva y la anterior comprobando resultados para ir evaluando la nueva y revisar que este correcta o bien requiera de mejoras.
En la actualidad en este tipo de sistemas se recurre mas a la implementacion directa ya que regularmente se recuren a aplicasiones diseñadas a innovar para que la relacion entre la aplicaccion y el usuario final sea amigable , es decir que el usuario se sienta comodo con la aplicacion y facil de utilisar.

Selecsion de lenguaje y desarrolllo de la aplicacion

Una ves superada ñla etapa de diceño y que aya sido evaluada ,
procederemos a realisar la seleccion de la plataforma o lenguaje de progarmacion en la que va a ser desarrollada la aplicacion.
Para seleccionar la plataforma para el desarrollo de la aplicacion debemos tomar en cuenta las funciones que se vana realisar, equipo con el que contamos , sistema operativo,conectividad con la que se cuenta , plataforma de datos con las que cuentan los sistemas actuales.

Java Resumen Ejecutivo

Java SE


Java Platform, Standard Edition o Java SE (conocido anteriormente hasta la versión 5.0 como Plataforma Java 2, Standard Edition o J2SE), es una colección de APIs del lenguaje de programación Java útiles para muchos programas de la Plataforma Java. La Plataforma Java 2, Enterprise Edition incluye todas las clases en el Java SE, además de algunas de las cuales son útiles para programas que se ejecutan en servidores sobre workstations.

Comenzando con la versión J2SE 1.4 (Merlin), la plataforma Java SE ha sido desarrollada bajo la supervisión del Java Community Process. JSR 59 la especificación para J2SE 1.4 y JSR 176 especificó J2SE 5.0 (Tiger). En 2006, Java SE 6 (Mustang) está siendo desarrollada bajo el JSR 270.

Lo siguiente son descripciones de algunos de los principales paquetes Java SE.
Contenido
[ocultar]

* 1 Paquetes de Propósito General
o 1.1 java.lang
+ 1.1.1 java.lang.ref
+ 1.1.2 java.lang.reflect
# 1.1.2.1 Descubrimiento
# 1.1.2.2 Usar por nombre
# 1.1.2.3 Arrays y proxies
o 1.2 java.io
+ 1.2.1 Streams
+ 1.2.2 Acceso aleatorio
+ 1.2.3 Sistema de Ficheros
o 1.3 java.nio
o 1.4 java.math
o 1.5 java.net
o 1.6 java.text
o 1.7 java.util
* 2 Paquetes de propósito especial
o 2.1 java.applet
o 2.2 java.beans
o 2.3 java.awt
o 2.4 java.rmi
o 2.5 java.security
o 2.6 java.sql
o 2.7 javax.rmi
o 2.8 org.omg.CORBA
o 2.9 javax.swing
o 2.10 javax.swing.text.html.parser
* 3 Enlaces externos

Paquetes de Propósito General [editar]

java.lang

[editar]

El paquete Java java.lang contiene clases fundamentales e interfaces fuertemente relacionadas con el lenguaje y el sistema runtime. Esto incluye las clases raíz que forman la jerarquía de clases, tipos relacionados con la definición del lenguaje, excepciones básicas, funciones matemáticas, Hilos, funciones de seguridad, así como también alguna información sobre el sistema nativo subyacente.

Las principales clases en java.lang son:

* Object

– la clase que es la raíz de toda la jerarquía de clases.
* Enum

– la clase base para las clases enumeration (propias de J2SE 5.0).
* Class

– la clase que es la raíz del sistema de reflexión Java.
* Throwable

– la clase que es la clase base de la jerarquía de clases de excepciones.
* Error

, Exception

, y RuntimeException

– las clases base de cada tipo de excepción.
* Thread

– la clase que permite operaciones con hilos.
* String

– la clase para cadenas String y literales.
* StringBuffer

y StringBuilder

– clases para realizar manipulación de strings(StringBuilder como parte de J2SE 5.0).
* Comparable

– la interfaz que permite comparación genérica y ordenamiento de objetos (como parte de J2SE 1.2).
* Iterable

– la interfaz que permite iteración genérica usando el bucle for mejorado (como parte J2SE 5.0).
* ClassLoader

, Process

, Runtime

,SecurityManager

, y System

– clases que suministran "operaciones del sistema" que gestionan la enlazado dinámico de clases, creación de procesos externos, investigaciones del entorno del host tales como la hora del día, y refuerzo de políticas de seguridad.
* Las clases Math

y StrictMath

– suministran funciones matemáticas básicas tales como seno, coseno, y raíz cuadrada(StrictMath forma parte de J2SE 1.3).
* Las clases wrapper primitivas encapsulan tipos primitivos como objetos.
* Las clases exception básicas lanzan excepciones del nivel del lenguaje y otras excepciones comunes.

Las clases de java.lang son importadas automáticamente a cada Fichero fuente.

java.lang.ref

[editar]

El paquete es importado automáticamente a cada Fichero fuente. El paquete java.lang.ref suministra tipos más flexibles de Referencias que otros disponibles, permitiendo interacción limitada entre la aplicación y la recolección de basura de la Máquina virtual java (JVM) . Es un paquete importante, suficientemente céntrico al lenguaje para que los diseñadores del lenguaje le den un nombre que comience por "java.lang", pero es de propósito especial, y no usado por muchos desarrolladores. Este paquete se añadió en J2SE 1.2.

Java tiene un sistema de referencias más expresivo que la mayoría de los otros lenguajes de programación que la emplean, lo cual permite comportamiento especial para recolección de basura. Una referencia normal en Java se conoce como una referencia fuerte. El paquete java.lang.ref define otros tipos de referencias—referencias soft, weak, y fantasma. Cada tipo de referencia está diseñado para uso específico.

Una SoftReference

puede usarse para implementar una caché. Un objeto que no es recuperable por una referencia fuerte (esto es, no es recuperable fuertemente), pero que está referenciado por una referencia soft se llama recuperable softly. Un objeto recuperable softly puede ser recolectado como basura a decisión del recolector de basura. Esto generalmente significa que los objetos recuperables softly solo serán recolectados cuando la memoria libre sea baja, pero también, es la decisión del recolector de basura. Semánticamente, una referencia soft significa "manten este objeto a menos que la memoria se necesite."

Una WeakReference

se usa para implementar mapas weak. Un objeto que no es recuperable fuertemente o softly, pero se referencia por una referencia weak que se llamada "recuperable weakely". Un objeto recuperable weakly será recolectado a la basura durante el siguiente ciclo de recolección. Este comportamiento se usa en la clase WeakHashMap. Un mapa weak permite al programador poner pares clave/valor en el mapa y no preocuparse que los objetos tomen memoria cuando la clave ya no sea recuperable en ningún sitio más. Semánticamente, una referencia weak significa "conseguir la liberación de este objeto cuando nada más lo referencia."

Una PhantomReference

se usa para referenciar objetos que han sido marcados para recolección de basura y han sido finalizados, pero no han sido aún reclamados. Un objeto que no es recuperable fuertemente, softly o weakly, pero es referenciado por una referencia fantasma se llama recuperable fantasma. Esto permite limpieza más flexible que es posible con el mecanismo de finalización solo. Semánticamente, una referencia fantasma significa "este objeto no se necesita más y ha sido finalizado en preparación a ser recolectado."

Cada uno de esos tipos de referencia extienden la clase Reference

la cual suministra el método get()

para devolver una referencia fuerte al objeto referido (o null si la referencia ha sido aclarada o si el tipo de referencia es fantasma), y el método clear()

para limpiar la referencia.

java.lang.ref también define la ReferenceQueue

de clase, la cual puede usarse en cada aplicación discutida sobre mantener la pista de los objetos que han cambiado el tipo de referencia. Cuando una Reference se crea está registrado opcionalmente con una cola de referencias. La aplicación encuesta la cola de referencias para obtener referencias que han cambiado el estado de alcanzabilidad.

java.lang.reflect

[editar]

Reflexión (programación) es un componente de la API Java la cual permite al código Java examinar y "reflexionar" sobre los componentes Java en tiempo de ejecución y para usar miembros reflexionados. Las Clases en este paquete, junto con java.lang.Class y java.lang.Package

acomodan aplicaciones tales como depuradores, interpretes, inspectores de objetos, navegadores de clases, y servicios tales como Serialización de objetos y JavaBeans que necesitan acceso a miembros públicos del objeto objetivo (basándose en su clase runtime) o a los miembros declarados por una clase dada. Este paquete fue añadido en JDK 1.1.

La Reflexión se usa para instanciar clases e invocar métodos usando sus nombres, un concepto que permite la programación dinámica. Clases, interfaces, métodos, campos, y constructores pueden ser todos descubiertos y usados en tiempo de ejecución. Reflexión se soporta por los metadatos que la JVM posee sobre el programa. Hay dos técnicas básicas involucradas en la reflexión:

1. Descubrimiento conlleva tomar un objeto o clase y descubrir los miembros, superclases, interfaces implementadas, y después usar posiblemente los elementos descubiertos.
2. Usar por nombre conlleva empezar con el nombre simbólico de un elemento y usar el elemento nombrado.

Descubrimiento [editar]

El Descubrimiento normalmente empieza con un objeto y llamando al método Object.getClass()

para obtener la clase del objeto. El objeto Class tiene varios métodos para descubrir los contenidos de la clase, por ejemplo:

* getMethods()

– devuelve un array de objetos Method que representan los métodos publicos de la clase o interface
* getConstructors()

– devuelve un array de objetos Constructor que representan todos los constructores públicos de la clase
* getFields()

– devuelve un array de objetos java/lang/reflect|Field que representan todos los campos públicos de la clase o interface
* getClasses()

– devuelve un array de objetos Class representando todas las clases e interfaces públicas que son miembros de la clase o interface
* getSuperclass()

– devuelve el objeto Class que representa la superclase de la clase o interface
* getInterfaces()

– devuelve un array de objetos Class que representan todas las interfaces que se implementan por la clase o la interface

Usar por nombre [editar]

El objeto Class puede obtenerse a través de descubrimiento, usando la clase literal (e.g. MyClass.class) o usando el nombre de la clase( e.g. String) Class.forName("mypackage.MyClass")

) ). Con un objeto Class, Method miembro, Constructor, u objetos Field pueden obtenerse usando el nombre simbólico del miembro. Por ejemplo:

* java.lang.Class...) getMethod("methodName", Class...)

– devuelve el objeto Method que representa el método público con el nombre "methodName" de la clase o interface que acepta los parámetros especificados por los parámetros Class... parameters.
* getConstructor(Class...)

– devuelve el objeto Constructor que representa el constructor público de la clase que acepta los parámetros especificados por la Class....
* String) getField("fieldName")

– devuelve el objeto Field que representa el campo público con el nombre "fieldName" de la clase o la interface.

Los Objetos Method, Constructor, y Field pueden usarse para acceder dinámicamente al miembro representado de la clase. Por ejemplo:

* Object) Field.get(Object)

– devuelve un Object que contiene el valor del campo desde la instancia del objeto pasado a get().
* java.lang.Object...) Method.invoke(Object, Object...)

– devuelve un Object que contiene el resultado de invocar el método para la instancia del primer parámetro Object pasado a invoke(). Los parámetros Object... restantes son pasados al método.
* Constructor.newInstance(Object...)

– devuelve la nueva instancia Object invocando al constructor. Los parámetros Object... son pasados al constructor. (Date cuente de que el constructor sin parámetros para una clase puede también ser invocado llamando a newInstance()

).

Arrays y proxies [editar]

El paquete java.lang.reflect también suministra una clase Array que contiene métodos estáticos para crear y manipular objetos array, y desde J2SE 1.3, una clase Proxy que suministra creación dinámica de clases proxy que implementan las interfaces especificadas.

La implementación de una clase Proxy se suministra por un objeto dado que implementa la interface InvocationHandler. El método invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) de InvocationHandler es llamado por cada método invocado en el objeto proxy—el primer parámetro es el objeto proxy, el segundo parámetro es el objeto Method que representa el método desde el que la interface implementó al proxy, y el tercer parámetro es el array de parámetros pasado al método interface. El método invoke() devuelve un resultado Object que contiene el resultado devuelto al código que llamó al método interface proxy.

java.io

[editar]

El paquete java.io contiene clases que soportan entrada/salida. Las clases del paquete son principalmente streams; sin embargo, se incluye una clase para ficheros de acceso aleatorio. Las clases centrales del paquete son InputStream y OutputStream las cuales son clases abstractas base para leer de y escribir a streams de bytes, respectivamente. Las clases relacionadas Reader y Writer son clases abstractas base para leer de y escribir a streams de caracteres, respectivamente. El paquete también tiene unas pocas clases misceláneas para soportar la interacción con el Sistema de ficheros del computador.

Streams [editar]

Las clases stream siguen el patrón decorator extendiendo la subclase base para añadir características a las clases stream. Las Subclases de las clases base stream son nombradas típicamente por uno de los siguientes atributos:

* la fuente/destino de los datos del stream
* el tipo de los datos escritos a/leidos del stream
* procesamiento adicional o filtrado realizado en los datos del stream

Las subclases stream son nombradas usando el patrón naming XxxStreamType donde Xxx es el nombre que describe la característica y StreamType es uno de InputStream, OutputStream, Reader, o Writer.

La siguiente tabla muestra las fuentes/destinos soportados directamente por el paquete java.io:

Fuente/Destino Nombre tipos de Stream In/Out Clases
byte array (byte[]) ByteArray byte in, out ByteArrayInputStream, ByteArrayOutputStream
char array (char[]) CharArray char in, out CharArrayReader, CharArrayWriter
file File byte, char in, out FileInputStream, FileOutputStream, FileReader, FileWriter
string (StringBuffer y StringBuilder) String char in, out StringReader, StringWriter
thread (Thread) Piped byte, char in, out PipedInputStream, PipedOutputStream, PipedReader, PipedWriter

Otros paquetes de librería estándar suministran implementaciones de stream para otros destinos, tales como el InputStream devuelto por el método Socket|getInputStream() o la clase Java EE javax/servlet|ServletOutputStream.

El manejo y procesamiento de tipos de datos o filtrado de los datos de stream se realiza a través de filtros de stream. Las clases filter aceptan otros objetos de stream compatibles como parámetro para el constructor y decoran el stream contenido con características adicionales. Los Filtros se crean extendiendo una de las clases base filter FilterInputStream, FilterOutputStream, FilterReader, o FilterWriter.

Las clases Reader y Writer son justamente streams de bytes con procesamiento adicional realizado en el stream de datos para convertir los bytes a caracteres. Utilizan la codificación de caracteres por defecto para la plataforma, la cual desde J2SE 5.0 se representa por el Charset devuelto por el método estático java/nio/charset|Charset|defaultCharset(). La clase java/io|InputStreamReader convierte un InputStream a un Reader y la clase java/io|OutputStreamWriter convierte un OutputStream a un Writer. Ambas clases tienen constructores que permiten la codificación de caracteres que sea especificada—si no se especifica ninguna codificación entonces se usa la codificación por defecto para la plataforma.

La siguiente tabla muestra los otros procesos y filtros soportados directamente por el paquete java.io. Todas esas clases extienden la clase Filter correspondiente.

Operación Nombre tipos de Stream In/Out Clases
buffering Buffered byte, char in, out BufferedInputStream, java/io|BufferedOutputStream, java/io|BufferedReader, java/io|BufferedWriter
"push back" el último valor leído Pushback byte, char in PushbackInputStream, java/io|PushbackReader
tipos primitivos read/write Data byte in, out DataInputStream, java/io|DataOutputStream
serialización de objetos (leer/escribir objetos) Object byte in, out ObjectInputStream, java/io|ObjectOutputStream

Acceso aleatorio [editar]

La clase RandomAccessFile soporta lectura y escritura de acceso aleatorio de ficheros. La clase usa un puntero a fichero que representa un byte-offset dentro del fichero para la siguiente operación de lectura o escritura. El puntero a fichero se mueve implícitamente leyendo o escribiendo y explícitamente llamando a los métodos java/io|RandomAccessFile|seek(long) o java/io|RandomAccessFile|skipBytes(int). La posición actual del puntero de fichero se devuelve por el método java/io|RandomAccessFile|getFilePointer().

Sistema de Ficheros [editar]

La clase java/io|File representa un path de fichero o directorio en un Sistema de ficheros. Los objetos File soportan la creación, borrado y renombrado de ficheros y directorios y la manipulación de atributos de ficheros tales como solo lectura y tiempo de última vez modificado. Los objetos File que representan directorios pueden usarse para obtener una lista de todos los ficheros y directorios contenidos.

La clase java/io|FileDescriptor}} es un descriptor de ficheros que representan una fuente o sumidero (destino) de bytes. Normalmente esto es un fichero, pero puede también ser una consola o un socket de red. Los objetos FileDescriptor se usan para crear streams de File. Se obtienen desde streams File y sockets java.net y sockets de datagrama.

java.nio

[editar]

En J2SE 1.4, el paquete java.nio (NIO o Nueva I/O) fue añadido para soportar I/O mapeada en memoria, facilitando las operaciones I/O cercanas al hardware subyacente con mejor rendimiento. El paquete java.nio suministra soporte para varios tipos de buffer. El subpaquete java/nio/charset suministra soporte para distintas codificaciones de caracteres para datos de tipo carácter. El subpaquete java/nio/channels suministra soporte para channels, las cuales representan conexiones a entidades que son capaces de realizar operaciones I/O, tales como ficheros y sockets. El paquete java.nio.channels también suministra soporte para bloqueo de grano fino de los ficheros.

java.math

[editar]

El paquete java.math soporta aritmética multiprecisión (incluyendo operaciones aritméticas modulares) y suministra generadores de números primos multiprecisión usados para la generación de claves criptográficas. Las clases principales de este paquete son:gg

* BigDecimal – suministra números decimales con signo de precisión arbitraria. BigDecimal da al usuario el control sobre el comportamiento de redondeo a través de RoundingMode.
* BigInteger – suministra enteros de precisión arbitraria. Las Operaciones con BigInteger no producen overflow o perdida de precisión. Además de las operaciones aritméticas estándar, suministra aritmética modular, calculo de mínimo común múltiplo, pruebas de números primos, generación de números primos, manipulación de bits, y otras operaciones misceláneas.
* MathContext – encapsula las configuraciones de contexto las cuales describen ciertas reglas para operadores numéricos.
* RoundingMode – una enumeración que suministra ocho comportamientos de redondeo.

java.net

[editar]

El paquete java.net suministra rutinas especiales IO para redes, permitiendo las peticiones HTTP, así como también otras transacciones comunes.

java.text

[editar]

El paquete java.text implementa rutinas de parseo para strings y soporta varios lenguajes legibles por el hombre y parseado específico de la localización.

java.util

[editar]

Las estructuras de datos que agregan objetos son el foco del paquete java.util. En el paquete está incluida la API Collections, una jerarquía organizada de estructura de datos influenciada fuertemente por considereaciones de patrones de diseño.

Paquetes de propósito especial [editar]

java.applet [editar]

Creado para soportar la creación de applet Java, el paquete java.applet permite a las aplicaciones ser descargadas sobre una red y ejecutarse dentro de una sandbox. Las restricciones de seguridad son impuestas fácilmente en la sandbox. Un desarrollador, por ejemplo, puede aplicar una firma digital a un applet, en consecuencia etiquetándola como segura. Haciéndolo permite al usuario conceder permiso al applet para realizar operaciones restringidas (tales como acceder al disco duro local), y elimina alguna o todas las restricciones de la sandbox. Los certificados digitales son emitidos por agencias como Thawte o Entrust.

java.beans [editar]

Incluidos en el paquete java.beans hay varias clases para desarrollar y manipular beans, componentes reutilizables definidos por la arquitectura JavaBeans. La arquitectura suministra mecanismos para manipular propiedades de componentes y lanzar eventos cuando esas propiedades cambian.

La mayoría de las APIs en java.beans están pensadas para su uso en herramientas de edición de beans, en la cual los beans puedan combinarse, personalizarse y manipularse. Un tipo de editor bean es el diseñador GUI en un entorno de desarrollo integrado(IDE).

java.awt [editar]

La Abstract Window Toolkit contiene rutinas para soportar operaciones básicas GUI y utiliza ventanas básicas desde el sistema nativo subyacente. Muchas implementaciones independientes de la API Java implementan todo excepto AWT, el cual no es usado por la mayoría de las aplicaciones de lado de servidor. Este paquete también contiene la API de gráficos Java 2D.

java.rmi [editar]

El paquete java.rmi suministra invocación a métodos remotos Java para soportar llamadas a procedimientos remotos entre dos aplicaciones Java que se ejecutan en diferentes JVM.

java.security [editar]

Soporte para seguridad, incluyendo el algoritmo de resumen de mensaje, está incluido en el paquete java.security.

java.sql [editar]

Una implementación de la API JDBC (usada para acceder a bases de datos SQL) se agrupa en el paquete java.sql.

javax.rmi [editar]

suministra el soporte para la comunicación remota entre aplicaciones, usando el protocolo RMI sobre IIOP. Este protocolo combina características de RMI y CORBA.

org.omg.CORBA [editar]

Suministra el soporte para comunicación remota entre aplicaciones usando general inter ORB protocol y soporta otras características de common object request broker architecture. Igual que RMI y RMI-IIOP, este paquete es para llamar métodos remotos de objetos en otras máquinas virtuales (normalmente por la red). De todas las posibilidades de comunicación CORBA es la más portable entre varios lenguajes. Sin embargo es también un poco difícil de comprender.

javax.swing [editar]

Swing es una colección de rutinas que se construyen sobre java.awt para suministrar un toolkit de widgets independiente de plataforma. Swing usa las rutinas de dibujado 2D para renderizar los componentes de interfaz de usuario en lugar de confiar en el soporte GUI nativo subyacente del Sistema operativo.

Swing es un sistema muy rico por sí mismo, soportando pluggable looks and feels (PLAFs) para que los controles(widgets) en la GUI puedan imitar a aquellos del sistema nativo subyacente. Los patrones de diseño impregnan el sistema, especialmente una modificación del patrón modelo-vista-controlador, el cual afloja el acoplamiento entre función y apariencia. Una inconsistencia es que (para J2SE 1.3) las fuentes son dibujadas por el sistema nativo subyacente, limitando la portabilidad de texto. Mejoras, tales como usar fuentes de mapas de bits, existen. En general, las layouts(disposiciones de elementos) se usan y mantienen los elementos dentro de una GUI consistente a través de distintas plataformas.

javax.swing.text.html.parser [editar]

Suministra el parser de HTML tolerante a errores que se usa para escribir varios navegadores web y web bots.

Enlaces externos [editar]

* Página principal Java SE

* documentación de la API de Java SE

* JSR 270

(Java SE 6)
* JSR 176

(J2SE 5.0)
* JSR 59

(J2SE 1.4)
* Java software development kits (hasta Agosto del 2006):
o 1.7

(desarrollo temprano)
o 1.6

(beta)
o 1.5

(estable, actual)
o 1.4

(estable)
o 1.3

(obsoleto)
o 1.2

(no soportado activamente)
* Open Source Java

* JavaHispano Programación en Java J2SE


Obtenido de "http://es.wikipedia.org/wiki/Java_SE"
Categoría: Plataformas de desarrollo para Java
Vistas

* Artículo
* Discusión
* Editar
* Historial

Herramientas personales

* Registrarse/Entrar

Buscar

Navegación

* Portada
* Portal de la comunidad
* Actualidad
* Cambios recientes
* Página aleatoria
* Ayuda
* Donaciones

Crear un libro

* Añadir esta página
* Ayuda de libros

Herramientas

* Lo que enlaza aquí
* Cambios en enlazadas
* Subir archivo
* Páginas especiales
* Versión para imprimir
* Enlace permanente
* Versión en PDF
* Citar este artículo

En otros idiomas

* Bosanski
* Česky
* Dansk
* Deutsch
* English
* Français
* Italiano
* 日本語
* Português
* Русский
* Tiếng Việt
* 中文

Powered by MediaWiki
Wikimedia Foundation

* Esta página fue modificada por última vez el 17:21, 14 may 2009.
* El texto está disponible bajo la Licencia Creative Commons Compartir Igual 3.0

; cláusulas adicionales pueden ser de aplicación. Vea los términos de uso para los detalles.
* Política de privacidad
* Acerca de Wikipedia
* Limitación de responsabilidad

Confiabilidad:
Fiabilidad vendedor:
Privacidad:
Seguridad infantil:

Imagenes de Pseudocodigo



Diceño de Interfaces


Abstract

El diseño de interfaces de usuario es una tarea que ha adquirido relevancia en el desarrollo de un sistema. La calidad de la interfaz de usuario puede ser uno de los motivos que conduzca a un sistema al éxito o al fracaso. Los principios que se presentan son de utilidad para creación de interfaces funcionales y de fácil operación. A pesar de no ser capaces de resolver todos los aspectos propios del contexto con el que se esté trabajando, pueden ser combinados con la prototipación y la aplicación de heurísticas de evaluación para facilitar el proceso de diseño. El presente artículo se centra en los componentes de software de las interfaces de usuario, quedando fuera del alcance de mismo otros aspectos, como hardware y documentación. Lo anteriormente expuesto se complementa con un caso práctico de diseño de interfaces de usuario, producto de realizar la actividad de "Definición de Interfaces de Usuario" (EFS 4) de la metodología Métrica Versión 2.

Key words: evaluation, heuristics, principles, prototypes, user interfaces.





1. Conceptos Generales

La Interfaz de Usuario, en adelante IU, de un programa es un conjunto de elementos hardware y software de una computadora que presentan información al usuario y le permiten interactuar con la información y con el computadora. También se puede considerar parte de la IU la documentación (manuales, ayuda, referencia, tutoriales) que acompaña al hardware y al software.

Si la IU está bien diseñada, el usuario encontrará la respuesta que espera a su acción. Si no es así puede ser frustrante su operación, ya que el usuario habitualmente tiende a culparse a sí mismo por no saber usar el objeto.

Los programas son usados por usuarios con distintos niveles de conocimientos, desde principiantes hasta expertos. Es por ello que no existe una interfaz válida para todos los usuarios y todas las tareas. Debe permitirse libertad al usuario para que elija el modo de interacción que más se adecúe a sus objetivos en cada momento. La mayoría de los programas y sistemas operativos ofrecen varias formas de interacción al usuario.

Existen tres puntos de vista distintos en una IU: el del usuario, el del programador y el del diseñador (analogía de la construcción de una casa). Cada uno tiene un modelo mental propio de la interfaz, que contiene los conceptos y expectativas acerca de la misma, desarrollados a través de su experiencia.

El modelo permite explicar o predecir comportamientos del sistema y tomar las decisiones adecuadas para modificar el mismo. Los modelos subyacen en la interacción con las computadoras, de ahí su importancia.



Modelo del usuario: El usuario tiene su visión personal del sistema, y espera que éste se comporte de una cierta forma. Se puede conocer el modelo del usuario estudiándolo, ya sea realizando tests de usabilidad, entrevistas, o a través de una realimentación. Una interfaz debe facilitar el proceso de crear un modelo mental efectivo.

Para ello son de gran utilidad las metáforas, que asocian un dominio nuevo a uno ya conocido por el usuario. Un ejemplo típico es la metáfora del escritorio, común a la mayoría de las interfaces gráficas actuales.

Modelo del diseñador: El diseñador mezcla las necesidades, ideas, deseos del usuario y los materiales de que dispone el programador para diseñar un producto de software. Es un intermediario entre ambos.

El modelo del diseñador describe los objetos que utiliza el usuario, su presentación al mismo y las técnicas de interacción para su manipulación. Consta de tres partes: presentación, interacción y relaciones entre los objetos (Figura 1).

La presentación es lo que primero capta la atención del usuario, pero más tarde pasa a un segundo plano, y adquiere más importancia la interacción con el producto para poder satisfacer sus expectativas. La presentación no es lo más relevante y un abuso en la misma (por ejemplo, en el color) puede ser contraproducente, distrayendo al usuario.

La segunda parte del modelo define las técnicas de interacción del usuario, a través de diversos dispositivos.

La tercera es la más importante, y es donde el diseñador determina la metáfora adecuada que encaja con el modelo mental del usuario. El modelo debe comenzar por esta parte e ir hacia arriba. Una vez definida la metáfora y los objetos del interfaz, los aspectos visuales saldrán de una manera lógica y fácil.

Figura 1. Representación del modelo del diseñador: el look-and-feel iceberg, de IBM (1992)



Estos modelos deben estar claros para los participantes en el desarrollo de un producto, de forma que se consiga una interfaz atractiva y a la vez efectiva para el trabajo con el programa.

Una interfaz no es simplemente una cara bonita; esto puede impresionar a primera vista pero decepcionar a la larga. Lo importante es que el programa se adapte bien al modelo del usuario, cosa que se puede comprobar utilizando el programa más allá de la primera impresión.

Modelo del programador: Es el más fácil de visualizar, al poderse especificar formalmente. Está constituido por los objetos que manipula el programador, distintos de los que trata el usuario (ejemplo: el programador llama base de datos a lo que el usuario podría llamar agenda). Estos objetos deben esconderse del usuario.

Los conocimientos del programador incluyen la plataforma de desarrollo, el sistema operativo, las herramientas de desarrollo y especificaciones. Sin embargo, esto no significa necesariamente que tenga la habilidad de proporcionar al usuario los modelos y metáforas más adecuadas. Muchos no consideran el modelo del usuario del programa, y sí sus propias expectativas acerca de cómo trabajar con la computadora.



2. Principios para el Diseño de Interfaces de Usuario

Existen principios relevantes para el diseño e implementación de IU, ya sea para las IU gráficas, como para la Web.

Anticipación

Las aplicaciones deberían intentar anticiparse a las necesidades del usuario y no esperar a que el usuario tenga que buscar la información, recopilarla o invocar las herramientas que va a utilizar.

Diagrama 4

Diagarama 3

Diagrama 2

Diagramas de Flujo

Diceño y Desarrollo de sistemas de informacion web

Introducción

Desde la liberación de Internet en la década de los noventa que se introdujo la World Wide Web, muchas organizaciones se dispusieron a darse a conocer al mundo en esta red, con la introducción del lenguaje para hipertexto HTML(Hiper Text Markup Language) se pudo realizar páginas en donde ponían datos acerca de su organización o empresa y esto trajo consigo un boom global al esto incrementar ventas sobre todo en el área de las exportaciones, gracias a que con esta herramienta se puede llegar a muchos lugares en el mundo.

A medida que Internet fue ganando un lugar como una gran herramienta para vender, por lo que no fue solo suficiente utilizarla como medio publicitario, se pensó que tal si se pudieran realizar transacciones, por ejemplo como empresa realizar ventas en línea, mostrar catálogos de productos, sistemas de venta si tengo una sucursal y que mi empresa matriz tenga el control de las bases de datos, cosas como estas dieron lugar ahora al comercio electrónico (e-comerce), esto, vino a ser un parte aguas en el desarrollo de sistemas pues, gracias a que se empezaron a introducir lenguajes de programación para este tipo de interfase como ASP con Visual Basic Script, C#, C++, PHP, PERL, Java, Java Script que pueden interactuar con el lenguaje HTML com si fueran uno solo, para dar como resultado sitios web que se convierten en sistemas de información muy poderosos y robustos.

Con ello se empiezan a generar sistemas para venta en línea, organizaciones gubernamentales también en la actualidad utilizan las nuevas tecnologías de la información para sus trámites y servicios, esto viene también a contribuir con un nuevo tipo de comercio global más eficiente y dinámico, además, de desarrollar aplicaciones que se puedan controlar desde un punto , dando esto la eliminación de sistemas ya aislados dando lugar a sistemas en donde se puede compartir información con sucursales sin necesidad de estar buscando métodos alternos para realizar una conexión con un sistema, por lo que trajo una manera muy flexible de comunicar sistemas entre si gracias a estos lenguajes y plataformas para programar, pues lo hace más universalmente y esto trae consigo beneficios como la optimización de tiempo y ahorros en costos de operación.

Pues bien hoy en día las nuevas tecnologías de la información aplicadas son una herramienta que ya no es un lujo si no una gran herramienta de trabajo necesaria para la operación de una organización y es una de las claves para que sea exitosa.

Capítulo 1.
Análisis preliminar para sistemas de información web

Cuando en una organización se desea implementar una página web en la cual no solo sea un medio de publicidad, si no que sirva de herramienta de trabajo, ya sea para distribuir reportes, realizar transacciones como compras y ventas, herramientas auxiliares para la operación, buscar un lado más funcional y que permita el desarrollo de la organización, cuando esto sucede se debe realizar un análisis.

Como sabemos es el análisis es el procesos de estudiar parte por parte los procesos que forman parte de las actividades de una organización, para mejorar un de estos procesos.

Pues bien para ello debemos realizar lo siguiente:

- Una entrevista, en la cual al momento de notificar debemos de tener una charla para escuchar la problemática y requerimientos de los cuales nos vamos a basar para realizar el diseño de la aplicación web.

- Realizar un estudio de los procesos que se desean automatizar, y organizarlos através de cuestionarios y entrevistas con las áreas relacionadas con el proyecto (recordemos que los usuarios son las mejores fuentes de información), así como determinar que información van a manipular, como se va a realizar la manipulación de datos, a donde debe llegar la información, quien la recibe y analiza es decir, origen y destino de los datos a utilizar.

- Realizar un registro de las actividades a realizar por medio de este tipo de sistema.

- Evaluar la viabilidad del proyecto, costos, condiciones legales; que las condiciones de infraestructura informática sean las necesarias para que el proyecto se lleve a cabo y funcione correctamente y sin problemas. En este punto dentro de la infraestructura informática debemos tomar en cuenta lo siguiente:

+ Si cuenta con un enlace con salida a Internet

+ Hardware con el cual cuenta para el funcionamiento de la red (Ruteadores, hubs, etc.).

Diceño y Desarrollo de Sistemas de informacion web

Analisis preliminar para sistemas de programcion web.

Cuando en una organisacion se desea implementar una pagina web en la cual no solo sea un medio de publisidad .


Realisar un registro de las actibidades a realisar por medio de este tipo de sistemas .

Evaluar la viavilidad del proyecto, costos,condiciones legales;que las condiciones de infraestructura informatica sean las nesesarias para que el proyecto se lleve a cabo y funcione coreectamente y sin problemas .En este punto dentro de la infraestructura informatica debemos tomar en cuenta lo siguiente .

☺ Si cuenta con un enlase con salida a internet
☺ Hardware con el cual cuenta para el funcionamiento de la red ( Ruteadores ,Hubs,etc)
☺ La conectividad con la cuenta , asi como la velocidad
☺ Sevidores
☺ Si ya cuenta con pagina web
☺ Si desea utilisar bases de datos para el sistema y que informacion utilisaria.