Uso del software libre con el sistema de información de RUP
Enviado por Ing.+ Licdo. Yunior Andrés Castillo Silverio
Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software; de modo más preciso, se refiere a cuatro libertades de los usuarios del software: la libertad de usar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias, con lo cual se puede ayudar a otros, y de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie .
Con todo esto es posible desarrollar sistemas de manera completa sin necesidad de pagar por una licencia, todo esto beneficia a los negocios de pequeñas y medianas empresas que el límite de usuarios no supera los 100,el software libre ayuda a desarrollar sistemas tan completos y tan nuevos en su ámbito y deja así el ver una nueva era de sistemas sin restricciones y la llegada de sistemas complejos a muchas empresas
Todo el software usado en este proyecto corresponde a licencias libres las cuales nos proporcionan un sinfín de opciones para elaborar completamente nuestro sistema y además el usuario final se siente libre de su uso.
El tratamiento y manipulación de la información de un modo adecuado y cada vez en mayores cantidades ha conducido con el tiempo a la unificación de ficheros, a fin de evitar el problema de las redundancias; es decir, de las repeticiones de la información contenida en ficheros distintos. Esta solución ha generado con el tiempo, a su vez, ciertos problemas nuevos y agravado algunos de los ya existentes. Las técnicas informáticas mediante las cuales se intenta tratar este conjunto de problemas son las llamadas técnicas de bases de datos.
Una base de datos es una colección de información, que está organizada de forma tal que su contenido sea fácilmente accesado, administrado y actualizado. Los tipos más comunes de Base de Datos son las "relacionales" donde la información está definida de una forma en que pueda reorganizarse y accesarse de múltiples formas distintas, además de que evita la duplicidad de registros, a través de campos claves o llaves; garantiza la integridad referencial y favorece la normalización. Cuando se utiliza una base de datos para gestionar información, se está plasmando una parte del mundo real en una serie de tablas, registros y campos ubicados en un ordenador; creándose un modelo parcial de la realidad. Antes de crear físicamente estas tablas en el ordenador se debe realizar un modelo de datos. El modelo de datos más extendido es el denominado ENTIDAD/RELACIÓN (E/R), el cual se define como un modelo lógico basado en objetos y por lo tanto se enfoca primordialmente al nivel conceptual y de visión. Una de las características de este modelo es que permite representar con claridad las limitantes de los datos. El modelo Entidad-Relación es en esencia una herramienta para representar el mundo real por medio de simbologías y expresiones determinadas. Éste modelo consta de entidades y relaciones; una entidad es cualquier tipo de objeto del mundo real sobre el que queremos almacenar información; éstas están compuestas de atributos que son los datos que definen el objeto, de entre los atributos habrá uno o un conjunto de ellos que no se repite, a este atributo o conjunto de atributos se le llama clave de la entidad, en toda entidad siempre hay al menos una clave que en el peor de los casos estará formada por todos los atributos de la tabla; las entidades se representan gráficamente mediante rectángulos y su nombre aparece en el interior; las relaciones son una asociación entre entidades, sin existencia propia en el mundo real que estamos modelando, pero necesaria para reflejar las interacciones existentes entre entidades. Las relaciones se representan gráficamente mediante rombos y su nombre aparece en el interior y puede ser de tres tipos:
Relaciones 1-1.- Las entidades que intervienen en la relación se asocian una a una.
Relaciones 1-n.- Una ocurrencia de una entidad está asociada con muchas (n) de otra.
Relaciones n-n.- Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociada con muchas (n) de la otra y viceversa.
La cardinalidad con la que una entidad participa en una relación específica el número mínimo y el número máximo de correspondencias en las que puede tomar parte cada ocurrencia de dicha entidad.
El modelo Entidad-Relación se encuentra en la carpeta Operacion del Proyecto1 DinamicaDiseñoBDmxposjavadoc en el archivo index.html, en este archivo se podrá visualizar el Diagrama de la BD a utilizar en el proyecto MXPOS
El diagrama E-R es realizado con la herramienta Oracle Jdeveloper, es una herramienta gratuita proporcionada por Oracle para los desarrolladores en Java, sin embargo su buen contenido y gamma de utilidades permiten trazar diagramas que ayudan a modelar el Diagrama Entidad Relacion.
Las bases de datos son el mejor recurso para consultar o adicionar información específica con una velocidad asombrosa, en un gran listado de información.
En sí una base de datos es una colección de información, que está organizada de forma tal que su contenido sea fácilmente accesado, administrado y actualizado.
Es necesario contar con un sistema manejador de base de datos relacional (RDBMS, Relational Database Management System) el cual es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos,
Una de las Base de Datos de software libre es la Oracle XE(Oracle Application Express), esta BD esta basada sobre Oracle DB. Permite un rápido ciclo de desarrollo por su fácil accesibilidad. Soporta desde una docena de usuarios hasta miles de usuarios, pudiendo hacer una actualización a una BD con más soporte si este fuera necesario.
Pros
Fácil Desarrollo
100% basado en web
Lista para el uso de componentes
Fácil creación de modelos
Fácil de accesar (solo es necesario ingresar una URL para acceder a la APEX)
Fácil de entender
Rápida
Fácil de actualizar
Todos los procesos y validación se encuentran del lado del servidor
Soporte
Contras
Poco espacio de almacenamiento(4 gb)
Muy pocos sitios de hosting (Oracle Database) la mayoría ofrecidos son (PHP + MySQL or ASP + SQL Server).
Según Richard Nolan un sistema de información es un conjunto de elementos que interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio. Realiza cuatro actividades básicas: entrada, almacenamiento, procesamiento y salida de información. Las entradas son el proceso mediante el cual el sistema de información toma los datos que requiere para procesar la información, éstas pueden ser manuales o automáticas. La información que va generando el sistema suele ser almacenada en estructuras de información denominadas archivos. El sistema de información tiene la capacidad de procesar información para efectuar cálculos de acuerdo con una secuencia de operaciones preestablecida, éstos pueden efectuarse con datos introducidos recientemente en el sistema o bien con datos previamente almacenados. La información procesada o bien datos de entrada al exterior suele ser llamada salida de información.
Una herramienta muy utilizada para el conocimiento de los procesos es la Herramienta UML, que es un lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Es un lenguaje grafico para visualizar, especificar, construir y documentar un sistema de software. Cabe resaltar que UML es un lenguaje para especificar y no para descubrir métodos y procesos.
Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso usar.
Lazarus
Es una herramienta de desarrollo rápido de aplicaciones basada en el lenguaje de programación Pascal, disponible para los sistemas operativos Windows, GNU/Linux y Mac OS X.
Se trata de una alternativa gratuita a Delphi, desarrollada como proyecto de software libre a partir de Free Pascal. La web y la mayoría de la documentación están en inglés, pero el entorno de desarrollo (IDE) sí está traducido al español en gran parte.
Lazarus es compatible con varios motores de bases de datos, sin embargo el desarrollador debe instalar paquetes adicionales para gestionar cada uno. El programador puede acceder a la base de datos mediante código o bien arrastrando componentes en un formulario visual. Los componentes de la base de datos representan campos y son conectados por la correcta configuración de propiedades a un TDataSource, que representa una tabla y es también conectado a los componentes de la base de datos, ya sea TPSQLDatabase, TSQLiteDataSet o algún otro.
Los siguientes motores de bases de datos son compatibles:
PostgreSQL requiere el paquete PSQL
dBase y FoxPro pueden ser usados sin necesidad de un servidor externo o librería mediante el componente TDbf
MySQL funciona correctamente
SQLite, necesita sólo una simple librería externa y el componente TSQLiteDataSet
Microsoft SQL Server, funciona con la librería ZeosLib
InterBase / Firebird, componente de acceso nativo, también trabaja con ZeosLib
Oracle, también trabaja con ZeosLib
Lazarus está licenciado bajo la GPL, el software desarrollado mediante el uso de esta herramienta puede ser distribuido bajo alguna otra licencia. La Librería del Componente Lazarus (LCL) se vincula estáticamente dentro de los programas y es licenciada usando una versión modificada de la LGPL diseñada especialmente para permitir vinculaciones estáticas a programas propietarios.
Tanto Free Pascal como Lazarus están escritos en Pascal. El código fuente completo está disponible no solamente para el compilador de Free Pascal y el IDE de Lazarus, sino también para todas las unidades que construyan Free Pascal RTL y Lazarus LCL.
Como Delphi, Free Pascal y Lazarus son ambos herramientas de programación de uso general, significando que se podrá desarrollar una variedad amplia de programas con ellos
Todo sistema de información tiene fines ligados a la obtención de un producto o proceso que es necesario generar a través de diversas actividades.
Los orígenes de RUP se remontan al modelo espiral original de Barry Boehm. Ken Hartman, uno de los contribuidores claves de RUP colaboró con Boehm en la investigación. En 1995 Rational Software compró una compañía sueca llamada Objectory AB, fundada por Ivar Jacobson, famoso por haber incorporado los casos de uso a los métodos de desarrollo orientados a objetos. El Rational Unified Process fue el resultado de una convergencia de Rational Approach y Objectory (el proceso de la empresa Objectory AB). El primer resultado de esta fusión fue el Rational Objectory Process, la primera versión de RUP, fue puesta en el mercado en 1998, siendo el arquitecto en jefe Philippe Kruchten.
El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que desempeña una persona en un determinado momento, una persona puede desempeñar distintos roles a lo largo del proceso).
El Proceso Unificado Racional (Rational Unified Process ,RUP),es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
El RUP está basado en 3 principios clave que son:
Adaptar el proceso: El proceso deberá adaptarse a las características propias del proyecto u organización. El tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influirán en su diseño específico. También se deberá tener en cuenta el alcance del proyecto.
Equilibrar prioridades: Los requerimientos de los diversos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un equilibrio que satisfaga los deseos de todos. Gracias a este equilibrio se podrán corregir desacuerdos que surjan en el futuro.
Demostrar valor iterativamente: Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada iteración se analiza la opinión de los inversores, la estabilidad y calidad del producto, y se refina la dirección del proyecto así como también los riesgos involucrados
Figura – Diagrama de Ciclo de vida RUP
RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en número variable según el proyecto y en las que se hace un mayor o menor hincapié en las distintas actividades. En la Figura muestra cómo varía el esfuerzo asociado a las disciplinas según la fase en la que se encuentre el proyecto RUP.
Las primeras iteraciones (en las fases de Inicio y Elaboración) se enfocan hacia la comprensión del problema y la tecnología, la delimitación del ámbito del proyecto, la eliminación de los riesgos críticos, y al establecimiento de una Línea Base de la arquitectura.
Durante la fase de inicio las iteraciones hacen mayor énfasis en actividades de modelado del negocio y de requerimientos.
En la fase de elaboración, las iteraciones se orientan al desarrollo de la Línea Base de la arquitectura, abarcan más los flujos de trabajo de requerimientos, modelo de negocios (refinamiento), análisis, diseño y una parte de implementación orientado a la Línea Base de la arquitectura.
En la fase de construcción, se lleva a cabo la construcción del producto por medio de una serie de iteraciones.
Para cada iteración se selecciona algunos Casos de Uso, se refina su análisis y diseño y se procede a su implementación y pruebas. Se realiza una pequeña cascada para cada ciclo. Se realizan tantas iteraciones hasta que se termine la implementación de la nueva versión del producto.
En la fase de transición se pretende garantizar que se tiene un producto preparado para su entrega a la comunidad de usuarios.
Como se puede observar en cada fase participan todas las disciplinas, pero que dependiendo de la fase el esfuerzo dedicado a una disciplina varía.
Principales características
Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo)
Pretende implementar las mejores prácticas en Ingeniería de Software
Desarrollo iterativo
Administración de requisitos
Uso de arquitectura basada en componentes
Control de cambios
Modelado visual del software
Verificación de la calidad del software
La estructura dinámica de RUP es la que permite que éste sea un proceso de desarrollo fundamentalmente iterativo, y en esta parte se ven inmersas las 4 fases descritas anteriormente:
Inicio(También llamado Incepción)
Elaboración
Desarrollo(También llamado Implementación, Construcción)
Cierre (También llamado Transición)
La metodología RUP es más apropiada para proyectos grandes (Aunque también pequeños), dado que requiere un equipo de trabajo capaz de administrar un proceso complejo en varias etapas. En proyectos pequeños, es posible que no se puedan cubrir los costos de dedicación del equipo de profesionales necesarios.
http://es.wikipedia.org/wiki/Software_libre
http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado.htm
http://wiki.lazarus.freepascal.org/Overview_of_Free_Pascal_and_Lazarus/es
http://es.wikipedia.org/wiki/Lazarus
http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process
Autor:
Ing. Lic. Yunior Andrés Castillo S.
"NO A LA CULTURA DEL SECRETO, SI A LA LIBERTAD DE INFORMACION"?
Santiago de los Caballeros,
República Dominicana,
2015.
"DIOS, JUAN PABLO DUARTE Y JUAN BOSCH – POR SIEMPRE"?