sábado, 15 de agosto de 2009

  1. DESARROLLO DEL PROTOTIPO.
    A partir de la conceptualización realizada en la etapa de diseño, en esta de construcción, se elaboran y prueban los elementos que conforman el modelo, usando para ello las herramientas apropiadas existentes en el mercado.
    Hasta este momento se ha establecido el diseño visual de la información que se desea editar, se ha trabajado la distribución del texto, los gráficos, los vínculos a otros documentos y otros objetos multimedia, es hasta entonces cuando se pasa al desarrollo o programación del prototipo en sí.
    Durante esta etapa se recomienda tomar en consideración los siguientes aspectos:
  2. • Una vez diseñado el prototipo de página Web, se procederá a su construcción, tal y como ha sido planeada y concebida, pero siempre en una estructura tentativa, que pueda en cada momento, ser analizada y confrontada con los objetivos establecidos.
  3. • Un aspecto muy importante a considerar, si la naturaleza del proyecto lo requiere, son las normas de seguridad convenientes.
  4. • El proyecto debe documentarse desde sus inicios, ésta actividad no es propia de esta etapa, sino de todas y cada una de las que conforman la metodología expuesta en este documento.
  5. • Se debe comprobar cómo funcionan elementos incorporados en el prototipo en los navegadores más utilizados por los internautas, ya que si emplean una tecnología ligeramente diferente el aspecto visual de las páginas puede variar de lo diseñado.
  6. • Realizar la producción del contenido permitirá pasar a un formato (adecuado para Internet) todos los gráficos, sonidos, etc., que formarán parte del modelo Web.
  7. • Se deben elaborar las plantillas que conformarán el prototipo completo; la página Web se codifica con: las especificaciones hechas durante el diseño, el contenido disponible de fases anteriores, y las plantillas creadas.

    IMPLEMENTACIÓN DEL PROTOTIPO.
    Al terminar el desarrollado del prototipo, es momento de publicarlo, esto es, permitir el acceso al mismo para que sea utilizado y probado por los Usuarios, lo cual implica una serie de tareas a realizar, tales como:
    • Colocar en el servidor la página-prototipo para probarla.
    • Probar la carga y descarga de documentos.
    • Poner a disposición de los usuarios.
Bertrand Piccard expuso la novedosa aeronave, fabricada a base de fibra de carbono, capaz de volar día y noche sin combustible fósil. Esperan que realice sus primeros vuelos antes de finalizar el año.

Problemas del ciclo de vida clasico:
1) los proyectos reales raramente siguen el flujo secuencial que propone el modelo, siempre al itineraciones que crean problemas.
2)es difícil para el usuario establecer al principio todos los requerimientos.
3) el usuario debe tener paciencia, hasta llegar a las etapas finales no se tendrá una versión operativa del sistema.
4) Largas colas de espera de aplicaciones por desarrollar.

Características del sw actual. Cambio continúo - tiempos de entrega muy reducidos - necesidad intensa de satisfacer al usuario.

Modelo incremental: se debe usar cuando hay una necesidad imperiosa de proporcionar de manera rápida un conjunto limitado de funcionalidad para el usuario y después refinarla para su entrega posterior.Este modelo entrega una serie de lanzamientos, que proporcionan en forma progresiva mas funcionalidad para los clientes. - el primer incremento es un producto esencial.

Modelo de construcción de prototipos.: Prototipo de sw.: normalmente un usuario define objetivos generales del sw, sin identificar requerimientos detallados de entrada o salida. Un Prototipo es un modelo del sw a construir, puede ser:
1) Funcional: Mientras se programa se le va mostrando al usuario, y si quiere agregar algo se hace.
2) No funcional: se muestran solo pantallazos sin programación por atrás.Construcción de prototipos:
1) recolección de requerimientos, 2) diseño rápido, 3) construcción del prototipo, 4) evaluación del prototipo, 5) refinamiento, 6) producto de ingeniería.

Existen dos tipos de culturas empresariales ante la innovación
La cultura de una empresa influye la calidad de la innovación que produce
Existen dos tipos de culturas empresariales ante la innovación, la cultura "especificadora" y la cultura "prototipadora". En la primera, los nuevos productos y su desarrollo están dirigidos por especificaciones escritas. En la segunda por prototipos.
Las empresas grandes para coordinar grandes cantidades de información tienden a ser "especificadoras", mientras que las pequeñas y las emprendedoras tienden a ser "prototipadoras". Ambos enfoques tienen potenciales desventajas, una cuidada especificación puede probarse inútil cuando se crea su prototipo. Igualmente un prototipo perfecto, puede ser imposible de producir a gran escala por su coste.
El medio utilizado para desarrollar un prototipo influye el proceso de creación y determina las cuestiones que puede responder. Generalmente hacer más versiones de un prototipo, genera un mejor producto final.
Una empresa que quiera ser innovadora necesita mudarse a una cultura "prototipadora".

¿















































Por qué un prototipo?
Porque son útiles para comunicar, discutir y definir ideas entre los diseñadores y las partes responsables.
Los prototipos apoyan el trabajo evaluando productos, clarificando requisitos de usuario y definiendo alternativas.
Prototipos de baja fidelidad
Utilizan materiales distintos y no se parecen al producto final. Su ventaja es que son baratos, simples y fácil de producir.
Son particularmente útiles en las fases iniciales del desarrollo, durante el diseño conceptual.
Prototipo de alta fidelidad
Son aquellos que utilizan materiales y se parece al producto final.

20 años de experiencia en la ingeniería de usabilidad indican que la mejora más importante en la experiencia de usuario se obtiene con una temprana recogida de requisitos de usuario, solucionando así la mayoría de los cambios posteriores en los proyectos de desarollo de software.
Los test de usabilidad pueden añadir un 100% de mejora en el Prototipos de baja fidelidad
Utilizan materiales distintos y no se parecen al producto final. Su ventaja es que son baratos, simples y fácil de producir.
Son particularmente útiles en las fases iniciales del desarrollo, durante el diseño conceptual.
Prototipo de alta fidelidad
Son aquellos que utilizan materiales y se parece al producto final.
Marc Retting (1994) recomienda el uso de prototipos de baja fidelidad en los proyectos porque los de alta fidelidad:
Necesitan mucho tiempo para crearse.
Las pruebas tienden a centrarse en aspectos superficiales.
Los desarrolladores se resisten a cambiar algo que les ha llevado horas crear.
Un prototipo de software crea excesiva expectación.
Un error en el software puede parar un test. rendimiento de un producto, pero realizadas en la fase de análisis, la mejora es de un 1000% o más.
40 años de experiencia en la ingeniería de software señalan que es más barato cambiar un producto en las primeras fases del análisis que cambiarlo en desarrollo.
La estimación más común en el diseño de procesos destaca que es aproximadamente 100 veces más barato hacer un cambio antes de codificar.
La experiencia es clara: antes es mucho mejor que después y, los prototipos son un método de usabilidad que están aquí para quedarse.
Saber crear prototipos también te ayudan en tu carrera profesional. La tecnología es la cáscara del plátano, pero las técnicas de prototipado se mantienen siempre.
No conocemos las tecnologías populares de creación de interfaz dentro de 20 años, pero las técnicas de evaluación temprana con prototipos, seguirán teniendo valor.







































viernes, 14 de agosto de 2009

Definicion
Un prototipo es una versión preliminar de un sistema con fines de demostración o evaluación de ciertos requisitos. Se puede considerar que cada mini-proyecto del desarrollo en espiral tiene como producto final la obtención de un prototipo que recoge y muestra su desarrollo. Es decir, el uso de un modelo de desarrollo en espiral basado en prototipo, se fundamenta en terminar cada ciclo de la espiral con un prototipo que muestre que se han obtenido los requisitos que se marcaron al principio de cada ciclo.
El uso de los prototipos implica un método menos formal de desarrollo, donde su fundamento es hacer comprender las especificaciones del producto final.
Un prototipo usado durante un desarrollo software de estas características puede formar parte del producto final o bien puede ser desechado.
Las fases que se dan en la construcción de los distintos prototipos de un desarrollo son:
1. Identificación de Requisitos que debe de cumplir el prototipo.
2. Diseñar e implementar el prototipo.
3. Utilizar el prototipo con el fin de probar que cumple los requisitos para los que fue diseñado.
4. Revisar y mejorar el prototipo.
Como se puede observar, las fases de la construcción de prototipos incrementales se pueden solapar con las del modelo de desarrollo en espiral, por lo tanto y como conclusión, en este proyecto se desarrollará un prototipo en cada ciclo del modelo en espiral que se va a seguir. En cada ciclo se obtendrá, como resultado de la fase de diseño e implementación, un nuevo prototipo.
es un estilo de programación orientada a objetos en el cual, las "clases" no están presentes, y la re-utilización de procesos (conocida como herencia en lenguajes basados en clases) se obtiene a través de la clonación de objetos ya existentes, que sirven de prototipos, extendiendo sus funcionalidades. Este modelo es conocido como orientado a prototipos, o programación basada en instancias.
El original (y el más canónico) ejemplo de lenguaje prototipado es el lenguaje Self, desarrollado por David Ungar y Randall Smith. Sin embargo el paradigma sin clases está comenzando a popularizarse y ya ha sido implementado en lenguajes de programación como Java Script, Cecil, Newton Script, Ío, MOO, REBOL y varios otros.
Los modelos de orientación a objetos son dos: el más clásico o conocido, basado en clases, y el modelo basado en prototipos, de mayor difusión en el ámbito de la investigación. Este modelo se centra en una mayor flexibilidad (que poco a poco se filtra a los lenguajes basados en clases), descartando elementos rígidos como las clases y apostando por un mundo de objetos más uniforme. Este incremento de flexibilidad favorece el desarrollo rápido de aplicaciones y es muy útil en educación.
Modelo Basado En Clases
En lenguajes basados en clases los objetos pueden ser de dos tipos generales, las clases y las instancias. Las clases definen la disposición y la funcionalidad básicas de los objetos, y las instancias son objetos "utilizables" basados en los patrones de una clase particular. En este modelo, las clases actúan como colecciones de comportamiento (métodos) y estructuras que son iguales para todas las instancias, mientras que las instancias llevan los datos de los objetos. La distinción del papel se basa así sobre todo en una distinción entre la estructura y el comportamiento en un lado, y el estado en el otro.
Los entusiastas de la programación basada en prototipos a menudo argumentan que los lenguajes basados en clases animan un modelo del desarrollo que se centra primero en la taxonomía y las relaciones entre las clases. En cambio, la programación basada en prototipos intenta animar al programador que se centre en el comportamiento de un cierto sistema de ejemplos y después de clasificar estos objetos en objetos arquetipos que se utilizan más adelante en una manera similar a las clases. Como tal, muchos sistemas basados en prototipos animan la alteración de prototipos durante tiempo de ejecución, mientras que solamente muy pocos sistemas orientados a objeto, basados en clase (como el primer sistema orientados al objetos dinámicos, Smalltalk) permiten que las clases sean alteradas durante la ejecución de un programa.
Mientras que basan la amplia mayoría de sistemas basados en prototipos se hacen con lenguajes de programación interpretados y de tipos de datos dinámicos, es importante precisar que los sistemas de tipos de datos estáticos son técnicamente factibles. El lenguaje de programación de Omega que es basado en prototipos es un ejemplo de tal sistema, aunque según el Web site de Omega, Omega no es exclusivamente de tipos de datos estáticos, pero su "compilador puede elegir utilizar el tipo de dato estático donde es posible esto y puede mejorar la eficacia del programa.”
Ventajas
Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.
También ofrece un mejor enfoque cuando el responsable del desarrollo del software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción humano-máquina.
La construcción de prototipos se puede utilizar como un modelo del proceso independiente, se emplea más comúnmente como una técnica susceptible de implementarse dentro del contexto de cualquiera de los modelos del proceso expuestos. Sin importar la forma en que éste se aplique, el paradigma de construcción de prototipos ayuda al desarrollador de software y al cliente a entender de mejor manera cuál será el resultado de la construcción cuando los requisitos estén satisfechos. De esta manera, este ciclo de vida en particular, involucra al cliente más profundamente para adquirir el producto.
Inconvenientes
El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final. A causa de la intención de crear un prototipo de forma rápida, se suelen desatender aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo una vez que el prototipo ha cumplido su función. Es frecuente que el usuario se muestre reacio a ello y pida que sobre ese prototipo se construya el sistema final, lo que lo convertiría en un prototipo evolutivo, pero partiendo de un estado poco recomendado.
En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas decisiones de implementación poco convenientes (por ejemplo, elegir un lenguaje de programación incorrecto porque proporcione un desarrollo más rápido). Con el paso del tiempo, el desarrollador puede olvidarse de la razón que le llevó a tomar tales decisiones, con lo que se corre el riesgo de que dichas elecciones pasen a formar parte del sistema final.
A pesar de que tal vez surjan problemas, la construcción de prototipos puede ser un paradigma efectivo para la ingeniería del software. La clave es definir las reglas del juego desde el principio; es decir, el cliente y el desarrollador se deben poner de acuerdo en:
Que el prototipo se construya y sirva como un mecanismo para la definición de requisitos.
Que el prototipo se descarte, al menos en parte.
Que después se desarrolle el software real con un enfoque hacia la calidad.

sábado, 8 de agosto de 2009