Sie sind auf Seite 1von 10

1.4.1 Arquitectura y patrones.

Una Arquitectura de Software, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construccin del software. Establece los fundamentos para que los trabajadores del software usen una lnea comn y define, de manera abstracta, los componentes que deben ser utilizados, sus interfaces y la comunicacin entre ellos. Toda arquitectura de software debe ser implementable en una arquitectura fsica, que consiste simplemente en determinar qu computadora tendr asignada cada tarea. Por su parte, un patrn es un modelo que podemos seguir para realizar algo. Los patrones surgen de la experiencia de seres humanos de tratar de lograr ciertos objetivos. Los patrones capturan la experiencia existente y probada para promover buenas prcticas. Modelo-Vista-Controlador Modelo-Vista-Controlador (MVC) es un patrn de arquitectura de software que separa los datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres componentes distintos: El modelo: representa la informacin con la que trabaja la aplicacin, es decir, su lgica de negocio. La vista: transforma el modelo en una pgina Web que permite al usuario interactuar con ella. El controlador: se encarga de procesar las interacciones del usuario y realiza los cambios apropiados en el modelo o en la vista.

Por qu MVC? El uso de este patrn es recomendado para el desarrollo de aplicaciones Web, puesto que la divisin que propone, facilita cambios en una de las partes sin necesidad de modificar el resto y proporciona un mantenimiento ms sencillo de las mismas.

1.4.3 Servidor Web. Un servidor Web es un programa que se ejecuta continuamente en un ordenador, mantenindose a la espera de peticiones por parte de un cliente, respondiendo a las mismas adecuadamente, mediante una pgina Web que se exhibir en el navegador o mostrando el respectivo mensaje si se detect algn error. Apache Apache es el servidor Web ms utilizado del mundo, encontrndose muy por encima de sus competidores, tanto gratuitos como comerciales. Es un software de cdigo abierto que funciona sobre cualquier plataforma. Desde su origen ha evolucionado hasta convertirse en uno de los mejores servidores en trminos de eficiencia, funcionalidad y velocidad. Apache presenta entre otras caractersticas, mensajes de error altamente configurables, bases de datos de autenticacin y negociado de contenido. Por qu Apache? Es gratuito, distribuido bajo la licencia Apache Software License, lo cual permite modificacin y adaptacin de cdigo. Es flexible y extensible lo que da la gran posibilidad de, mediante mdulos, ampliar sus capacidades y bondades. Es extremadamente popular, por lo que resulta muy fcil conseguir documentacin o ayuda para su uso. Es altamente fiable pues aproximadamente el 90% de los servidores con ms alta disponibilidad funcionan con l. Adems de su eficiencia se destaca por su gran velocidad, caracterstica de vital importancia para todo servidor Web.

1.4.4 Base de datos. Una base de datos es un conjunto de datos que pertenecen al mismo contexto, almacenados sistemticamente para su uso posterior. Utilizar una base de datos permite globalizar y compartir informacin, eliminar la redundancia e inconsistencia de datos, mejorar los mecanismos de privacidad y seguridad de los mismos, y mantener la integridad en la informacin. Para qu una base de datos? Para desarrollar una aplicacin Web que gestiona contenidos que pueden ser modificados en cualquier momento, es inevitable el almacenamiento de los mismos; por lo que es fcil identificar la necesidad de utilizar una base de datos que almacene toda esta informacin.

1.4.5 Gestor de bases de datos. Los sistemas gestores de base de datos (SGBD) son un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Estn compuestos por un lenguaje de definicin de datos, un lenguaje de manipulacin de datos y un tercer lenguaje de consulta. El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la informacin de una base de datos, de manera que sea tanto prctica como eficiente. PostgreSQL
PostgreSQL es un sistema de gestin de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de cdigo abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Por qu PostgresSQL? Son muchas las razones para escoger PostgresSQL como solucin para la administracin de datos. En las siguientes lneas se muestran aquellas que fueron determinantes en esta eleccin. Puede ser usado bajo la poltica de software libre, pues mantiene versiones con licencia BSD.

Todo sistema que gestione contenido, requiere en primer lugar de gran velocidad, punto en el que PostgresSQL supera a la mayora de sus rivales. Resulta fcil de utilizar y de administrar. Adems, gracias a su activa comunidad de desarrollo, se puede encontrar una gran cantidad de ayuda en la Web. Se ejecuta en la inmensa mayora de sistemas operativos y en la mayor parte de los casos, los datos se pueden transferir de un sistema a otro sin dificultad.

1.4.7 Lenguaje de programacin. Un lenguaje de programacin es un lenguaje propiamente utilizado para controlar el comportamiento de una mquina, particularmente una computadora. Consiste en un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. PHP PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools), es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas Web dinmicas. Esta tecnologa fue considerada durante mucho tiempo un juguete sobre utilizado por muchos de sus crticos, pues, como otros desarrollos OpenSource, naci como un hobbie en un garaje, pero su facilidad de uso, la inmensa documentacin que tiene a su disposicin, la rapidez de su motor y su perfecta integracin con PostgresSQL lo han convertido en casi un estndar de la red para el desarrollo de aplicaciones Web. Otra de las principales ventajas que ofrece PHP es ser un lenguaje libre y abierto, pues su cdigo fuente esta disponible y es gratuito. Inicialmente esta tecnologa fue diseada para entornos UNIX por lo que ofrece ms prestaciones en este sistema operativo, pero es perfectamente compatible con Windows, facilidades que aportan otro punto a su favor. Adems este lenguaje interpretado y embebido en el HTML, es sumamente escalable. Estas caractersticas provocaron que la eleccin del lenguaje a utilizar fuera sencilla, pues sin lugar a dudas PHP, es una de las mejores opciones. PHP5 PHP5 es una nueva versin de PHP que incorpora nuevas ventajas y mantiene las viejas, pretendiendo solucionar las carencias de las anteriores versiones y demostrando su rotunda superioridad sobre las mismas. Por qu PHP5?

PHP5 incorpora un soporte slido y real para Programacin Orientada a Objetos (POO), paradigma seleccionado para utilizar en la implementacin de la aplicacin que formar parte de la solucin. Mejor soporte para MySQL con extensin completamente rescrita, siendo ste el gestor que ser utilizado para la base de datos de la solucin a proponer. Presenta mejoras con respecto al tratamiento de excepciones de errores, caracterstica que puede ser explotada, elevando la calidad del sistema a proponer.

1.4.8 Biblioteca una biblioteca (del ingls library) es un conjunto de subprogramas utilizados para desarrollar software. Las bibliotecas contienen cdigo y datos, que proporcionan servicios a programas independientes, es decir, pasan a formar parte de estos. Esto permite que el cdigo y los datos se compartan y puedan modificarse de forma modular. Jquery
jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, manipular el rbol DOM, manejar eventos, desarrollar animaciones y agregar interaccin con la tcnica AJAX a pginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC. jQuery consiste en un nico fichero JavaScript que contiene las funcionalidades comunes de DOM, eventos, efectos y AJAX. La caracterstica principal de la biblioteca es que permite cambiar el contenido de una pgina web sin necesidad de recargarla, mediante la manipulacin del rbol DOM y peticiones AJAX. Para ello utiliza las funciones $() o jQuery(). Por qu jquery? Por la diversidad de plugins que tiene para enriquecer la interfaz de la aplicacin. Por el plugin Comet 6.0 que servir para desarrollar los requerimientos que necesiten esta tecnologia

Xajax
Xajax es una biblioteca de cdigo abierto para PHP que permite crear de manera fcil y simple aplicaciones Web basadas en AJAX usando adems HTML, CSS, y Javascript. Las aplicaciones desarrolladas con Xajax pueden comunicarse asncronamente con funciones que se encuentran del lado del servidor y as actualizar el contenido de una pgina sin tener que recargarla nuevamente, su ltima versin es la 0.5 Final que cambia ligeramente comparado con las versiones anteriores 2.5.x y anteriores.

En un principio se crea una instancia de objeto Xajax (xajax object). Este objeto manejar todo el procesamiento a travs de Xajax. En segundo lugar debemos registrar todas las funciones que hemos definido previamente en el objeto Xajax, esto se puede hacer usando el mtodo xajax>register(). Finalmente todas las respuestas sern procesadas utilizando el mtodo xajax>processRequest().

Por qu Xajax? Xajax es compatible con Firefox, Mozilla, Internet Explorer, Opera, Safari y Chrome. Xajax puede ser usado para actualizar estilos, clases CSS, botones de seleccin, casillas de verificacin y botones de radio o cualquier otro atributo de un elemento Cada funcin registrada para ser accesible a travs de Xajax puede tener distintos tipos de peticin.

1.4.9 Herramienta de desarrollo. Dreamweaver


Adobe Dreamweaver es una aplicacin en forma de suite (basada en la forma de estudio de Adobe Flash) que est destinada a la construccin, diseo y edicin de sitios y aplicaciones Web basados en estndares. Creado inicialmente por Macromedia (actualmente producido por Adobe Systems) es el programa ms utilizado en el sector del diseo y la programacin web, por sus funcionalidades, su integracin con otras herramientas como Adobe Flash y, recientemente, por su soporte de los estndares del World Wide Web Consortium.

Por qu Dreamweaver? Dreamweaver permite al usuario utilizar la mayora de los navegadores Web instalados en su ordenador para previsualizar las pginas web. Tambin dispone de herramientas de administracin de sitios dirigidas a principiantes como, por ejemplo, la habilidad de encontrar y reemplazar lneas de texto y cdigo por cualquier tipo de parmetro especificado, hasta el sitio web completo. El panel de comportamientos tambin permite crear JavaScript bsico sin conocimientos de cdigo.

1.4.10 Lenguaje de modelado. En cualquier proyecto de ingeniera como en la construccin de un gran edificio, un avin, una represa hidroelctrica, la construccin de un procesador de textos o un software de comunicaciones para Internet, requieren de etapas de modelamiento que permitan experimentar y visualizar el sistema que se construir. Uniendo varios conceptos y teoras, se puede conceptualizar un lenguaje de modelado como una estandarizacin de notaciones y reglas, que permitan diagramar o graficar un sistema, o parte de l. La eleccin de un aceptado lenguaje de modelado es de vital importancia, pues un buen modelamiento del software influye determinantemente, en lograr una adecuada comunicacin entre los desarrolladores y los clientes. UML UML son las siglas de Unified Modeling Language (Lenguaje Unificado de Modelado), notacin (esquemtica en su mayor parte) con que se construyen sistemas por medio de conceptos orientados a objetos. Como todo lenguaje, UML proporciona un vocabulario y unas reglas para permitir una comunicacin. ste particularmente, est compuesto por elementos que no son ms que abstracciones que constituyen los bloques bsicos de construccin, los cuales pueden unirse mediante relaciones para conformar los diagramas. Por qu UML? UML facilita la representacin grfica de un sistema, teniendo como objetivo sustancial, brindar un material de apoyo que le permita al lector poder definir diagramas propios, como tambin entender diagramas ya existentes. Sus principales funciones son visualizar, especificar, construir y documentar cada una de las partes que comprende el desarrollo de software. UML tiene tres caractersticas que lo hacen ideal: Sirve para el modelado completo de sistemas complejos, tanto en el diseo de los sistemas software como para la arquitectura hardware donde se ejecuten. Se pueden automatizar determinados procesos y permite generar cdigo a partir de los modelos y a la inversa (a partir del cdigo fuente generar los modelos). Esto permite que el modelo y el cdigo estn actualizados, por lo que siempre se puede mantener la visin en el diseo, de la estructura del proyecto. Es completamente independiente del lenguaje de implementacin, de tal forma que los diseos realizados usando UML, se pueda implementar en cualquier

lenguaje que soporte las posibilidades de UML (principalmente lenguajes orientados a objetos). Producto de todas estas ventajas, UML no solo es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad; sino que adems, se ha convertido en el estndar ansiado para describir un "plano" de los sistemas informticos. 1.4.11 Metodologa de desarrollo. Para desarrollar un software se necesita una forma ordenada de trabajo, un proceso que integre y gue las mltiples facetas del desarrollo y que adems, ofrezca criterios para el control y la medicin de los productos. A esta clase de procesos se le conoce como metodologa de desarrollo. Todo desarrollo de software es riesgoso y difcil de controlar, pero si no llevamos una metodologa de por medio, lo que obtenemos es clientes insatisfechos con el resultado y desarrolladores an ms insatisfechos. RUP El Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es ms que un simple proceso, es un marco de trabajo genrico que puede especializarse para una gran variedad de sistemas software, para diferentes reas de aplicacin, diferentes tipos de organizacin, diferentes niveles de aptitud y diferentes tamaos de proyecto. El refinamiento ms conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational (RUP). Este se ha hecho tan popular, que actualmente, los dos nombres suelen utilizarse para referirse indistintamente a un mismo concepto. RUP divide el proceso de desarrollo en ciclos, teniendo un producto final al culminar cada una de ellos, stos a la vez se dividen en fases que finalizan con un hito, en donde se pone en prctica la toma de decisiones. Se caracteriza por tres prcticas esenciales que lo hace nico: ser iterativo e incremental, dirigido por casos de uso y centrado en la arquitectura. Incluye artefactos, que son los productos tangibles que conforman el producto final, y roles, papel que desempea una persona dentro del proceso. Estas caractersticas han hecho que junto con el UML, RUP constituya la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. Por qu RUP? RUP lejos de ser un sistema con pasos firmemente establecidos, es un conjunto de metodologas lo suficientemente flexibles, como para adaptar el proceso de desarrollo, al contexto y a las necesidades de la organizacin cliente. RUP utiliza el Lenguaje Unificado de Modelado para preparar todos esquemas de un sistema software. De hecho, UML es una parte esencial del Proceso Unificado; sus desarrollos fueron paralelos. El proceso

iterativo de RUP permite que en cada iteracin se analice la opinin de los clientes y la estabilidad y eficacia del producto. Esta es una gran ventaja para cualquier proyecto, pues admite un incesante refinamiento del producto, as como una continua mitigacin de los riesgos involucrados. Esto evidencia su capacidad de asegurar la calidad como parte del proceso de desarrollo y no de un grupo independiente. RUP proporciona una forma disciplinada de asignar tareas y responsabilidades, caracterstica que pes muchsimo en su eleccin, puesto que los desarrolladores del sistema, necesitaban trabajar a distancia; situacin excepcional que requiere de una extrema organizacin. 1.4.12 Herramientas de modelado. El hecho de usar la notacin UML para el intercambio de informacin de diseo e ideas, requiere de un software que ofrezca todas las herramientas necesarias, para hacer eficientemente este tipo de trabajo. Esta clase de software es a lo que denominamos herramienta de modelado y son usados para capturar, guardar, rechazar e integrar automticamente informacin y diseo de documentacin, labores difciles de lograr con un simple procesador de texto. Enterprise Architect. Enterprise Architect es una herramienta CASE (Computer Aided Software Engineering) (Ingeniera de software asistida por computadora) para el diseo y construccin de sistemas de software. Enterprise Architect soporta la especificacin de UML 2.0, que describe un lenguaje visual por el cual se pueden definir mapas o modelos de un proyecto. Por qu Enterprise Architect? Enterprise Architect es una herramienta progresiva que cubre todos los aspectos del ciclo de desarrollo, proporcionando una trazabilidad completa desde la fase inicial del diseo a travs del despliegue y mantenimiento. Tambin provee soporte para pruebas, mantenimiento y control de cambio. A continuacin se muestran las principales caractersticas de esta herramienta. Caractersticas claves de Enterprise Architect: Crear elementos del modelo UML para un amplio alcance de objetivos. Ubicar esos elementos en diagramas y paquetes. Crear conectores entre elementos. Documentar los elementos que ha creado. Generar cdigo para el software que est construyendo. Realizar ingeniera reversa del cdigo existente en varios lenguajes

Usando Enterprise Architect, puede realizar ingeniera directa e reversa de cdigo C++, C#, Delphi, Java, Python, PHP, VB.NET y clases de Visual Basic, sincronizar cdigos y elementos del modelo, disear y generar elementos de base de datos. La documentacin de alta calidad puede ser rpidamente exportada desde sus modelos en industria estndar. Formato RTF e importar a Word para una personalizacin y presentacin final. Enterprise Architect sustenta todos los diagramas y modelos UML. Puede modelar procesos de negocio, sitios Web, interfaces de usuario, redes, configuraciones de hardware, mensajes y ms. Estimar el tamao de su proyecto en esfuerzo de trabajo en horas. Capturar y trazar requisitos, recursos, planes de prueba, solicitudes de cambio y defectos. Desde los conceptos iniciales hasta el mantenimiento y soporte, Enterprise Architect tiene las caractersticas que precisa para disear y administrar su desarrollo e implementacin.

Das könnte Ihnen auch gefallen