ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Control Y Seguridad Informática


Enviado por   •  17 de Abril de 2013  •  12.706 Palabras (51 Páginas)  •  512 Visitas

Página 1 de 51

-

UNIVERSIDAD TECNOLÓGICA DE NEZAHUALCÓYOTL ORG ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE MÉXICO

DIVISIÓN DE INFORMÁTICA Y COMPUTACIÓN

HORUS ROBOT EMPRESARIAL

M E M O R I A

Que para obtener el Título de Técnico Superior Universitario en:

Tecnologías de la Información y Comunicación Área Sistemas Informáticos

P r e s e n t a n

Ramírez Toala Edgar 10371204

Anastacio Naranjo Braulio 11171004

Asesor Empresarial:

Ing. Julio Cesar Quiroz Enríquez

Tutor Académico:

M.T.E Mónica Herrera Solís

Empresa:

IOFractal Consultores en Desarrollo de Software

Gente que conecte empresas

Desarrollo de Sistemas en TI

Septiembre 2010- Diciembre 2012 Enero 2013

Enero 2011 – Diciembre 2012 Enero 2013

Índice Temático

Resumen I

Abstract II

Introducción 1

Planteamiento del problema 1

Justificación 1

Reseña de la Empresa 1

Capítulo 1: Marco Teórico 1

Capítulo 2: Análisis 2

Capítulo 3: Base de Datos 2

Capítulo 4: Desarrollo 2

Problemática 3

Planteamiento del problema 3

Propuesta de solución 4

Justificación 5

Objetivos 6

General: 6

Específicos: 6

Reseña de la empresa 7

Forma de trabajo 7

Productos y Servicios 8

Historia de IOFractal 9

Capítulo 1 10

Introducción 11

1.1 Requerimientos 11

1.1.2 SCRUM 12

Historia 12

Características de Scrum 12

Roles en Scrum: Roles Principales 13

Product Owner 13

ScrumMaster (o Facilitador) 14

Equipo de desarrollo 14

Roles auxiliares 14

Stakeholders (Clientes, Proveedores, Vendedores, etc.) 14

Administradores (Managers) 14

Reuniones en Scrum 15

1.1.3 Xampp 15

1.1.4.1 Apache 16

1.1.5.1 MySQL 17

1.1.6.1 MySQL Workbench 18

Historia 18

fabFORCE.net DBDesigner4 18

MySQL GUI Tools Bundle 18

1.2 Herramientas del desarrollo 19

1.2.1.1 Eclipse 19

1.2.1.2 Zend Framework 20

1.2.1.3 JQuery 21

1.2.1.4 JavaScript 23

Historia y denominación 24

1.2.1.5 AJAX 25

1.2.1.6 PHP Hypertext Preprocessor 26

Capítulo 2 27

Introducción 28

2.1 Arquitectura del sistema 29

2.2 Descripción del patrón 29

2.2.1 Modelo 29

2.2.2 Vista 29

2.2.3 Controlador 29

2.2.4 Use Case View 30

Capítulo 3 31

Introducción 32

3.1 Diccionarios de datos 32

3.2 Modelo de Datos Entidad-Relación 33

Capítulo 4 34

Introducción 35

4.1 Interfaces del sistema 37

4.1.1 Módulo de Inventario de Equipo 37

4.1.2 Módulo de Órdenes de Compra 43

4.1.3 Login 49

4.1.3 Módulo de Usuarios & Empleados 50

4.1.4 Módulo de Nómina. 51

4.1.5 Módulo de Prospecto & Propuesta de Proyecto. 54

4.1.6 Proyectos, Historial de Prospectos de proyecto 56

4.1.7 Preferencias 58

4.1.8 Rol Visualizador 61

4.1.9 Cron Mails (Correo Electrónico) 62

Referencias 63

Conclusiones 64

Glosario 65

Anexos 70

Índice de Figuras y Pantallas

Fig. 1.1.2.1 Scrum Logo 12

Fig. 1.1.3.1 XAMPP Logo 15

Fig. 1.1.4.1 Apache Logo 16

Fig. 1.1.5.1 MySQL Logo 17

Fig. 1.1.6.1 MySQL Workbench Logo 18

Fig. 1.2.1.1 Eclipse Logo 19

Fig. 1.2.1.2 Zend Framework Logo 20

Fig. 1.2.1.3 JQuery Logo 21

Fig. 1.2.1.4 JavaScript Representación HTML “Etiqueta” Logo 23

Fig. 1.2.1.5 Ajax Logo 25

Fig. 1.2.1.6 PHP Logo 26

Fig. 3. 1.1 Representación E-R BD 33

Fig. 4.1.1.1 Inventario de equipo. 37

Fig. 4.1.1.2 Listado de Equipo. 38

Fig. 4.1.1.3 Formulario de Inventario de Equipo 38

Fig. 4.1.1.4 Dialogo Modal 39

Fig. 4.1.1.5 Listado Actualizado Inventario de Equipo. 39

Fig. 4.1.1.6 Formulario para editar Equipo 40

Fig. 4.1.1.7 Tabla actualizada de Inventario 40

Fig. 4.1.1.8 Dialogo de Eliminación de Equipo. 41

Fig. 4.1.1.9 Inventario de Equipo después de la eliminación del registro. 41

Fig. 4.1.1.10 Historial de Inventario de Equipo. 42

Fig. 4.1.1.11 Errores del Formulario. 42

Fig. 4.1.2.1 Orden de Compra 43

Fig. 4.1.2.2 Listado de Orden de Compra 44

Fig. 4.1.2.3 Formulario de orden de compra 44

Fig. 4.1.2.4 Popup Agregar Nuevo Articulo. 45

Fig. 4.1.2.5 Listado Actualizado Orden de Compra. 45

Fig. 4.1.2.6 Pop-up de Compras. 46

Fig. 4.1.2.7 Editar Orden de Compra. 46

Fig. 4.1.2.8 Listado Actualizado de Orden de Compra. 47

Fig. 4.1.2.9 Compras Actualizadas. 47

Fig. 4.1.2.10 Eliminar Registro. 48

Fig. 4.1.2.11 Listado después del borrado. 48

Fig. 4.1.3.1 Login Horus Robot. 49

Fig. 4.1.3.2 Formulario de Usuario y Empleado. 50

Fig. 4.1.4.1 Nómina Anual. 52

Fig. 4.1.4.2 Nómina Mensual. 52

Fig. 4.1.4.3 Nómina Semanal. 53

Fig. 4.1.4.4 Nómina Día. 53

Fig. 4.1.5.1 Listado de Prospectos de Clientes. 54

Fig. 4.1.5.2 Formulario de Prospecto de Clientes. 55

Fig. 4.1.5.3 Formulario de Prospecto de Proyectos. 55

Fig. 4.1.6.1 Listado de Prospecto de Proyectos. 56

Fig. 4.1.6.2 Confirmación de Prospectos a Proyecto. 57

Fig. 4.1.6.3 Historial de Prospectos. 57

Fig. 4.1.7.1 Vista de preferencias. 58

Fig. 4.1.7.2 Navegación en el sistema. 59

Fig. 4.1.7.3 Cambio de preferencias. 59

Fig. 4.1.7.4 Vista de preferencias nueva. 60

Fig. 4.1.8.1 Rol Visualizador. 61

Fig. 4.1.9.1 Vista el nuevo Correo Electrónico de Bienvenida. 62

Agradecimientos

To the people on the world (Bazinga).

*- Profesores-*. Nunca se rindieron.

A la “amigada “, pocos… ustedes saben quienes son.

IOFractal… Sus Profesionales.

Anastacio Naranjo Braulio

Agradecimientos

Antes que nada quiero agradecer a mi familia por darme las fuerzas necesarias en los momentos en que más las necesité.

A la Universidad Tecnológica de Nezahualcóyotl por haberme dado cobijo y por las lecciones que aprendí en ella, asimismo, por haberme dado su voto de confianza y por todo el apoyo otorgado a mi persona.

A mis maestros que ayudaron en mi formación profesional. Un agradecimiento especial al Profesor Olvera Balcázar Luis por su invaluable apoyo y confianza.

A mis amigos: Benito, Diego, Erick, Fernando, Geovanni, Lucia, Marlene, por todo lo que vivimos y por su influencia en mi vida ya que sin ustedes mi sueño no lo habría cumplido. Gracias por infundirme sus ánimos y compartir conmigo sus conocimientos. También quiero agradecerles el haberme echo participe de su vida. Gracias de corazón.

A IOFractal por se mi casa durante este tiempo y darme todas las facilidades de crecer.

Gracias a todos.

Ramírez Toala Edgar

Dedicatorias

A Madre

Anastacio Naranjo Braulio

Dedicatorias

A mis padres

Por todo lo que me han dado en esta vida,

Especialmente por sus sabios consejos, por

Estar a mi lado en los momentos difíciles

Y Por ser el motor de mi vida.

A mis hermanos

Oscar y Mario por estar siempre dispuestos

En ayudarme, por escucharme, soportarme y

Convertirse en mis mejores amigos.

A mis amigos.

Que nos apoyamos mutuamente en nuestra formación

Profesional y que hasta ahora, Seguimos siendo amigos:

Gil Jaramillo Giovanna, Silva Morales Mauricio,

Gracias por ser parte de mí.

Ramírez Toala Edgar

Resumen

La estadía profesional se efectuó en la consultoría IOFractal S.A. de C.V; ubicada en la delegación Benito Juárez en la ciudad de México.

Durante el periodo de estadía profesional se trabajó en el sistema de administración Horus Robot Empresarial para llevarlo al siguiente nivel, manipular los datos que se pueden capturar en el sistema para producir información útil y crítica para sus usuarios. Inicialmente se pensó construirlo para ser un sistema de uso interno para la consultoría, sin embargo durante el periodo de estancia, la consultoría cambió de idea para tratar de colocarlo en el mercado, lo que implicó un replanteamiento del diseño.

El trabajo desarrollado en Horus se realizó con las siguientes herramientas y tecnologías:

IDE Eclipse: Es un entorno de desarrollo integrado de código abierto multiplataforma para la escritura y optimización del código de programación.

XAMMP (servidor web): es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl.

Zend Framework: Marco de trabajo basado en PHP que emplea el modelo Modelo-Vista-Control (MVC), Zend Framework es una implementación que usa código 100% orientado a objetos. La estructura de los componentes de Zend Framework es algo único; cada componente está construido con una baja dependencia de otros componentes.

JQuery: Es una biblioteca de JavaScript, esta que permite simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web.

AJAX: Es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente servidor, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones.

Abstract

The professional stay was held at the consulting firm IOFractal located at the local office in; Benito Juarez section in Mexico City.

During the period of stay we worked in the system of administration Horus Robot Business to bring it to the next level, to manipulate the data that can be captured in the system to produce useful and critical information to its users. It was built to be a system for consulting internal use, but during the period of professional stay, the consultant changed his mind to try to put it on the market, which meant a rethinking of design.

The work was performed in Horus with the following tools and technologies:

Eclipse IDE: It’s an integrated development environment for the open source multiplatform for the different languages of programming writing.

XAMMP (web server): It’s an independent platform server, free software, which mainly consists of the MySQL database, the Apache web server and the interpreters for scripting languages: PHP and Perl.

Zend Framework: It’s a set of concepts standardized based on PHP language, which uses the pattern Model-View-Control (MVC), also code 100% POO (object oriented programing) The structure of the components of Zend Framework is unique, each component is designed with a low dependence from other components.

JQuery: It’s a JavaScript library that simplifies how to interact with HTML files, to manipulate the DOM, to handle events, to develop animations, and add Ajax interactions in technology websites.

AJAX: It’s a web development technique for creating interactive applications or RIA (Rich Internet Applications). These applications run on the client, in other words, in the user's browser while maintaining communication with the server in second term. This way its possible to make changes on pages without recharging it, this means increase interactivity, speed and usability in these applications.

Introducción

Los sistemas de información y tecnológicos han ayudado a mejorar y agilizar la forma de trabajar en las empresas ya que automatizan los procesos operativos requeridos y con un uso fácil de manejo.

La consultoría IOFractal decidió crear un proyecto para automatizar la administración llamado Horus un Robot Administrativo, este sistema se ha desarrollado en base a los requerimientos específicos por el director administrativo y el director de tecnologías, en el cual decidieron realizar la implementación de los módulos de clientes, usuarios, cuentas por cobrar, inventario, proveedores, nómina y prospectos de proyectos, eso dispuesto en su primera etapa.

La segunda etapa del proyecto Horus Robot Empresarial consiste en la modificación y cambio de lógica en algunos módulos existentes.

Ahora en la denominada “Segunda Etapa”, se llegaron a modificar módulos como son: Perfil, Proyectos, Nomina, Prospectos, Usuarios,…

La memoria está conformada de las siguientes partes:

Planteamiento del problema

Define la problemática que existe en la empresa y las repercusiones que existen en ella a causa de esta.

Justificación

Se especifica la razón para la existencia de este proyecto y los beneficios que traerá el desarrollo del sistema.

Reseña de la Empresa

Se da a conocer un panorama de la empresa en donde se desempeño la estancia profesional.

Capítulo 1: Marco Teórico

Ayudará a entender más las tecnologías que se utilizaran en el desarrollo, tanto lenguajes de programación, herramientas y metodologías, como sobre los aspectos pertinentes a las áreas de trabajo en el sistema abordado en este documento.

Capítulo 2: Análisis

Hace énfasis en la forma de trabajo con la cual el sistema desarrolla soluciones a la problemática del negocio.

Capítulo 3: Base de Datos

Contiene el esquema de información que el sistema Horus emplea para el control de esta, para el manejo adecuado de los datos.

Capítulo 4: Desarrollo

Se presentan las Interfaces resultantes en la creación del sistema o modificación de algunos módulos, describiendo la funcionalidad de estos.

Problemática

Tener el control día a día de los ingresos de una empresa es siempre fundamental para el correcto funcionamiento y administración de cualquier compañía, la información que maneja la Consultoría IOFractal no se encuentra con la seguridad suficiente u organización necesaria.

El no administrar la información de una empresa que crece día a día podría menguar el crecimiento de la misma, es difícil llevar un adecuado control de los recursos de una empresa que siempre está adquiriendo nuevo mercado, además de mantener y proveer a la misma de los previos servicios que solicitan continuamente.

Dicho lo anterior, entonces la implementación de nuevas tecnologías crea la necesidad de buenas prácticas esto quiere decir, un software mejor en todos y cada uno de los ámbitos que esta palabra conlleve, ya que en el marcado actual la tecnología más actual, es la que en los casos más renuentes siempre deja lo mejor. IOFractal consultores implementa siempre en su plantilla estas implementación haciendo así no solo software de calidad si no personal que hacen software de calidad. Aunque la curva de aprendizaje puede legar a ser holgada, los resultados suelen ser inmejorables

Crecer y expandirse es de las últimas ideas que IOFractal tiene para Horus Robot Empresarial por tal motivo la expansión de negocio se puede ver reflejada en el sistema, también la modificación.

Planteamiento del problema

La consultoría no cuenta con un sistema especializado en el control de los clientes, proyectos, nómina, actividades diarias, usuarios, proveedores, prospectos de proyectos, inventario de equipos, almacén y cuentas por cobrar para acceder a la información de forma pronta y oportuna. IOFractal cuenta con un sistema en desarrollo para realizar estas actividades, sin embargo la funcionalidad que presenta es errática y poco confiable, también presenta una interfaz poco profesional, amigable y útil para el usuario final, por lo anterior aun necesita seguir contrayéndose para lograr las tareas con la integridad y efectividad que es necesaria.

En la denominada fase dos los cambios del modelo del negocio más amplios aun y ambiciosa, hacen que la lógica del negocio así como muchas de las funciones del software den un giro.

Después de que en la fase dos de Sistema Horus Robot Empresarial se especifica que el software no solo es para un control interno, sino que claro también será requerido como un Sistema Autónomo de control de transacionalidad general a nivel empresarial, que esto quiere decir salir a la venta comercial, se plantean nuevos módulos o la restructuración de los mismo, en cuanto a diseño y lógica.

Un mejor modelo del negocio es requerido y una mejor transacción de datos en el sistema será implementada para que Horus tenga los más altos índices de calidad.

Propuesta de solución

Implementar una aplicación web cliente-servidor con los módulos ya mencionados para automatizar los procesos utilizando las tecnologías de vanguardia como son JavaScript, JQuery, Ajax, PHP, Zend Framework y así mejorar y/o automatizar los métodos actuales para obtener la información deseada. Este sistema contara con diversos privilegios para controlar las actividades de cada elemento dentro de la consultoría, el súper usuario contara con el acceso a los módulos sin restricción y será capaz de ejercer el CRUD (Create, Read, Update, Delete) libremente, citando algunos ejemplos como:

• Clientes: Se registran los datos con los que cuenta la empresa para poder tener un registro más claro, poderlos contactar y saber además cuáles son los proyectos que se tienen para este o cuales solicita el mismo.

• Prospecto de proyectos: Aquí se realiza una cotización de proyecto(s) y este solo queda como una propuesta, si en algún momento el cliente quisiera que esta propuesta dejara de serlo, la función de cambiar a proyecto estará activa, siempre y cuando se cuenten con los permisos adecuados.

Justificación

Las empresas en la actualidad se hacen cada vez más competitivas dentro de su área y adoptan más estrategias a fin de garantizar el éxito empresarial. Estas organizaciones están adoptando herramientas para la optimización de sus procesos, en las épocas actuales más empresas están utilizando las nuevas tecnologías a fin de alcanzar el éxito, con el propósito de asegurarse un lugar en el panorama empresarial, la consultoría IOFractal S.A. de C.V. ubicada en el número 20-A de la avenida Arquitecto Jesús Urquiaga en Colonia del Valle decide simplificar y optimizar los procesos derivados de su actividad, mediante el análisis de sus procesos se podrá establecer un sistema automatizado que ayudara a cumplir las metas de la compañía.

Sin embargo en esta segunda fase se implementaron varias y diversas soluciones al giro que dio Horus Robot Empresarial ya que como se mencionó antes, el sistema paso de ser un simple Software Interno de la empresa IOFractal , a todo una Sistema de Control de transacionalidad, es decir se refiere a un Software ó es un asistente administrativo que trabaja las 24 horas del día, los 7 días de la semana, y los 365 días del año el cual implementa las mejores partes de un CRM y un ERP para ayudar al usuario con la información de su empresa. Aplicando cambios en los módulos.

Es importante resaltar que para la realización de este sistema se utilizaron las siguientes herramientas y metodologías:

En la documentación así como la administración de todo el proyecto se utilizó la metodología SCRUM y el apoyo de la metodología RUP.

Para la realización de la base de datos se utilizó:

• MySQL con la herramienta PHPMyAdmin.

Para realizar la programación se utilizó:

• Eclipse Juno para PHP, Zend Studio.

El sistema beneficiará a empleados de la Consultoría, así podrán llevar un adecuado control de su información, optimizar el tiempo de captura y generación de resultados oportunos.

Objetivos

General:

Implementar los módulos empleando la tecnología adecuada que se proporciona para el desarrollo del software, durante el periodo de estadía en la empresa IOFractal, para que este se presente con la mayor calidad hacia el mercado además de servir de manera óptima al interior de la propia empresa.

Específicos:

- Restructurar, cambiar o realizar los módulos correspondientes al avance especificado, módulos como:

Clientes, Proyectos, Usuarios, Prospectos, Proyectos, Empleados, Facturas, Nomina, Actividades Diarias, Perfil, Inventario de Equipo, Almacén, Clientes, Gastos, Cuentas por Pagar.

Reseña de la empresa

IOFractal S.A. de C.V.” es una firma de desarrollo en sistemas ubicada en la calle Arq. Jesús Urquiaga #20-A, Col. Del Valle, Del. Benito Juárez, CP. 03100, México D.F. Es una empresa mexicana con amplia experiencia en Desarrollo de Sistemas con Integración de Metodologías ágiles. Desarrollamos proyecto con enfoque de alta productividad al cliente y con beneficios para los consultores que nos apoyan. Tenemos amplia experiencia en Proyectos con Java, PHP, Android, IOS y C#.

IOFractal es la empresa fundada para el Desarrollo de Sistemas e investigación de nuevas tecnologías. Estamos formados por un grupo de consultores con amplia experiencia en TI que buscan a través del servicio a los clientes ofrecer soluciones de alto nivel en calidad, conocimiento y tecnología.

IOFractal es la firma multidisciplinaria fundada para ofrecer soluciones tecnológicas de alto valor para las empresas.

Son un gran equipo formado por profesionales con profundos valores de respeto y servicio, son además la firma creadora del concepto de Software Verde en desarrollo.

Creamos el concepto de <conectores> y GRAD (Green and Rapid Application Development)

Hoy día ofrecen a sus clientes soluciones tecnológicas de alto valor para el desarrollo de sus actividades.

Forma de trabajo

La forma de servir a sus clientes es fácil y eficiente, ya que está basada en los principios de desarrollo ágil:

• Inspección: Revisamos el proceso antes y durante.

• Adaptación: Permitimos que las necesidades y cambios en el proceso sean integrados de una forma flexible e inteligente.

• Inspección + Adaptación = Avance constante.

Productos y Servicios

Nuestros servicios están enfocados en aumentar el modelo de negocio de cada uno de nuestros clientes haciendo uso de TI. Los servicios que ofrecemos se encuentran en dos principales ramas.

Desarrollo de software la medida

• Web

• Móvil

Outsourcing de profesionales en TI

• Líder de proyecto

• Analista

• Programador

• Tester

Web

Creamos aplicaciones robustas y altamente escalables para que su aplicación se ejecute desde su intranet o desde internet. Nuestras aplicaciones cubren una variada gama de necesidades:

• Financieras

• Farmacéuticas

• Gubernamentales

• Social media

• Administrativas

Historia de IOFractal

Nov. 2008  En una tertulia se definen los primeros ideales de IOFractal.

Nov. 2008  Se reúne el equipo original de profesionales para compartir la visión.

Dic. 2008  Comienzo formal de la primera fase de IOFractal - IOS, se originaba la lluvia de ideas, primeros clientes y prospectos.

Ene - Jul 2009  Son necesarias juntas todos los lunes en un café con los socios fundadores.

Ago. 2009  Se diseña el primer esfuerzo del logotipo.

Nov. 2009  IOFractal es concebida como una empresa formal S.A. de C.V.

Dic. 2009  Se crea la IOTeca, a la par se entrega uno de los proyectos basado en principios ágiles.

Capítulo 1

Marco Teórico

Introducción

En el presente capítulo se específica y describe las metodologías de trabajo utilizadas para la realización del proyecto que aborda este documento, menciona y orienta acerca de las herramientas empleadas, da un respaldo teórico a las tecnologías que se implementan en el desarrollo del sistema Horus, como es RUP, BPMN, Bizagi Process Modeler, Xampp, Zend Framework, JQuery y JavaScript.

1.1 Requerimientos

El objetivo principal de esta disciplina es establecer las funciones que se quiere que satisfaga el sistema a construir. En esta línea los requerimientos son el contrato que se debe cumplir, de modo que los usuarios finales tienen que comprender y aceptar los requerimientos que se especifiquen. Para obtener los requerimientos se deben aplicar prácticas de licitación a los involucrados en el proyecto, anotar y validar todas sus solicitudes.

Los objetivos específicos de la disciplina requerimientos son:

1. Definir el ámbito del sistema.

2. Definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario.

3. Establecer y mantener un acuerdo entre clientes y otros involucrados sobre lo que el sistema debería hacer.

4. Proveer a los desarrolladores un mejor entendimiento de los requerimientos del sistema.

5. Proveer una base para estimar recursos y tiempo de desarrollo del sistema.

6. Proveer una base para la planeación de los contenidos técnicos de las iteraciones.

Los requerimientos pueden ser divididos en dos grupos: Los requerimientos funcionales, los cuales describen las funciones que el software va a ejecutar; por ejemplo, ajustarse a un formato de texto o modular una señal. Los requerimientos no funcionales, los cuales especifican criterios que pueden usarse para juzgar la operación de un sistema en lugar de sus funciones específicas.

En esta disciplina, y como parte de los requerimientos de facilidad de uso, se diseña la interfaz gráfica del usuario. Para ello habitualmente se construyen prototipos de la interfaz gráfica de usuario que se validan con el usuario final.

1.1.2 SCRUM

Fig. 1.1.2.1 Scrum Logo

Scrum es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software.

Historia

En 1986 Hirotaka Takeuchi e Ikujiro Nonaka describieron una nueva aproximación holística que incrementa la rapidez y la flexibilidad en el desarrollo de nuevos productos comerciales.

Características de Scrum

Scrum es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto. Los roles principales en Scrum son el ScrumMaster, que mantiene los procesos y trabaja de forma similar al director de proyecto, el ProductOwner, que representa a los stakeholders (interesados externos o internos), y el Team que incluye a los desarrolladores.

Durante cada Sprint, un periodo entre una y cuatro semanas (la magnitud es definida por el equipo), el equipo crea un incremento de software potencialmente entregable (utilizable). El conjunto de características que forma parte de cada Sprint viene del Product Backlog, que es un conjunto de requisitos de alto nivel

Priorizados que definen el trabajo a realizar. Los elementos del Product Backlog que forman parte del Sprint se determinan durante la reunión de Sprint Planning.

Durante esta reunión, el Product Owner identifica los elementos del Product Backlog que quiere ver completados y los hace del conocimiento del equipo.

Entonces, el equipo determina la cantidad de ese trabajo que puede comprometerse a completar durante el siguiente sprint.2 Durante el Sprint, nadie puede cambiar el Sprint Backlog, lo que significa que los requisitos están congelados durante el Sprint.

Scrum permite la creación de equipos autos organizados impulsando la co-localización de todos los miembros del equipo, y la comunicación verbal entre todos los miembros y disciplinas involucrados en el proyecto.

Un principio clave de Scrum es el reconocimiento de que durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo llamado requirements churn), y que los desafíos impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y planificada. Por lo tanto, Scrum adopta una aproximación pragmática, aceptando que el problema no puede ser completamente entendido o definido, y centrándose en maximizar la capacidad del equipo de entregar rápidamente y responder a requisitos emergentes.

Existen varias implementaciones de sistemas para gestionar el proceso de Scrum, que van desde notas amarillas "post-it" y pizarras hasta paquetes de software. Una de las mayores ventajas de Scrum es que es muy fácil de aprender, y requiere muy poco esfuerzo para comenzarse a utilizar.

Roles en Scrum: Roles Principales

Product Owner

El Product Owner representa la voz del cliente. Se asegura de que el equipo Scrum trabaja de forma adecuada desde la perspectiva del negocio. El Product Owner escribe historias de usuario, las prioriza, y las coloca en el Product Backlog.

ScrumMaster (o Facilitador)

El Scrum es facilitado por un ScrumMaster, cuyo trabajo primario es eliminar los obstáculos que impiden que el equipo alcance el objetivo del Sprint. El ScrumMaster no es el líder del equipo (porque ellos se auto-organizan), sino que

Actúa como una protección entre el equipo y cualquier influencia que le distraiga. El ScrumMaster se asegura de que el proceso Scrum se utiliza como es debido. El ScrumMaster es el que hace que las reglas se cumplan.

Equipo de desarrollo

El equipo tiene la responsabilidad de entregar el producto. Un pequeño equipo de 3 a 9 personas con las habilidades transversales necesarias para realizar el trabajo (análisis, diseño, desarrollo, pruebas, documentación, etc.).

Roles auxiliares

Los roles auxiliares en los "equipos Scrum" son aquellos que no tienen un rol formal y no se involucran frecuentemente en el "proceso Scrum", sin embargo deben ser tomados en cuenta. Un aspecto importante de una aproximación ágil es la práctica de involucrar en el proceso a los usuarios, expertos del negocio y otros interesados (stakeholders). Es importante que esa gente participe y entregue retroalimentación con respecto a la salida del proceso a fin de revisar y planear cada Sprint.

Stakeholders (Clientes, Proveedores, Vendedores, etc.)

Se refiere a la gente que hace posible el proyecto y para quienes el proyecto producirán los beneficios acordados que justifica su producción. Sólo participan directamente durante las revisiones del Sprint.

Administradores (Managers)

Es la gente que establece el ambiente para el desarrollo del producto.

Reuniones en Scrum

Cada día de un Sprint, se realiza la reunión sobre el estado de un proyecto. Esto se llama " Daily Scrum". El Scrum tiene unas guías específicas:

La reunión comienza puntualmente a su hora. A menudo hay castigos -acordados por el equipo- para quien llegue tarde (por ejemplo: Dinero, flexiones, llevar

Colgando una gallina de plástico del cuello, etc.), todos son bienvenidos, pero sólo los responsables pueden hablar.

La reunión tiene una duración fija de 15 minutos, de forma independiente del tamaño del equipo, todos los asistentes deben mantenerse de pie (esto ayuda a mantener la reunión corta).La reunión debe ocurrir en la misma ubicación y a la misma hora todos los días.

1.1.3 Xampp

Fig. 1.1.3.1 XAMPP Logo

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl.

El programa está liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y MacOS X.

1.1.4.1 Apache

Fig. 1.1.4.1 Apache Logo

El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.12 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue rescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy server (un servidor "parcheado") suena igual que Apache Server.

El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

1.1.5.1 MySQL

Fig. 1.1.5.1 MySQL Logo

El software MySQL® proporciona un servidor de base de datos SQL (Structured Query Language) muy rápido, multi-threaded, multiusuario y robusto. El servidor MySQL está diseñado para entornos de producción críticos, con alta carga de trabajo así como para integrarse en software para ser distribuido. MySQL es una marca registrada de MySQL AB.

El software MySQL tiene una doble licencia. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.

1.1.6.1 MySQL Workbench

Fig. 1.1.6.1 MySQL Workbench Logo

MySQL Workbench es una herramienta visual de diseño de bases de datos que integra desarrollo de software, Administración de bases de datos, diseño de bases de datos, creación y mantenimiento para el sistema de base de datos MySQL. Es el sucesor de DBDesigner 4 de fabFORCE.net, y remplaza el anterior conjunto de software, MySQL GUI Tools Bundle.

Historia

fabFORCE.net DBDesigner4

DBDesigner4 es una herramienta de diseño de bases de datos open source y ejecutador de consultas lanzado bajo la GPL. Fue escrito en 2002/2003 por el programador australiano Michael G. Zinner para su plataforma fabFORCE.net usando Delphi 7 / Kylix 3.

MySQL GUI Tools Bundle

Las MySQL GUI Tools Bundle es una suite open source multiplataforma de aplicaciones de escritorio para la administración de servidores de bases de datos MySQL, y para construir y manipular los datos en una base de datos MySQL. Fue desarrollado por MySQL AB y después por Sun Microsystems y lanzado bajo la

GPL. El desarrollo de las GUI Tools Bundle fue detenido, y ahora solo preservado bajo los Archivos de descarga del sitio de MySQL.

Las GUI Tools Bundle han sido superadas por el MySQL Workbench, y han llegado al final de su vida con la beta de MySQL Workbench 5.2., Sin embargo, el soporte del equipo de MySQL continua proveyendo asistencia para las Bundle hasta Junio 30, 2010.Futuros lanzamientos de MySQL Workbench añadirán un plugin de

Migración, añadiendo características equivalentes al componente MySQL Migration Toolkit de las MySQL GUI.

1.2 Herramientas del desarrollo

1.2.1.1 Eclipse

Fig. 1.2.1.1 Eclipse Logo

Eclipse es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus.

Eclipse es también una comunidad de usuarios, extendiendo constantemente las áreas de aplicación cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las áreas de Model Driven Engineering.

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.

Eclipse fue liberado originalmente bajo la Common Public License, pero después fue re-licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pública general de GNU (GNU GPL).

1.2.1.2 Zend Framework

Fig. 1.2.1.2 Zend Framework Logo

Zend Framework (ZF) es un framework de código abierto para desarrollar aplicaciones web y servicios web con PHP 5. ZF es una implementación que usa código 100% orientado a objetos. La estructura de los componentes de ZF es algo único; cada componente está construido con una baja dependencia de otros componentes. Esta arquitectura débilmente acoplada permite a los desarrolladores utilizar los componentes por separado. A menudo se refiere a este tipo de diseño como "use-at-will" (uso a voluntad).

PHP se ha utilizado para desarrollar sitios web dinámicos para más de 10 años. En un principio todos los sitios web de PHP se escribían como código PHP dentro de HTML, intercalados en la misma página. Esto funcionaba muy bien inicialmente como hay con secuencias de comandos simples, esto parecencia ser todo lo que

Se necesitaba. PHP creció en popularidad a través de las versiones 3 y 4, y por lo tanto era inevitable que las aplicaciones más grandes y más grandes fueran

Escritas en PHP. Se hizo evidente muy rápidamente que entremezclar el código PHP y HTML no era una solución a largo plazo para los sitios web de gran tamaño.

Los problemas son obvias en retrospectiva: La mantenibilidad y extensibilidad.

Aunque PHP entremezclados con HTML permite obtener resultados muy rápidos, en el largo plazo es difícil de seguir para actualizar el sitio web. Una de las características interesantes de la publicación en la web es que es el dinamismo. Los grandes sitios web cambian todo el tiempo. La mirada y la sensación de que el sitio se actualiza regularmente. Se agrega nuevo contenido y el contenido es la revaluación periódica de la categoría de las necesidades de los usuarios y los anunciantes. Algo tenía que hacerse. Zend Framework se creó para ayudar a asegurar que la producción de sitios web basados en PHP sea más fácil y mantenibles a largo plazo. Contiene un amplio conjunto de componentes reutilizables que contiene todo, desde un conjunto de Modelo-Vista-Controlador-componentes de la aplicación a la generación de PDF.

1.2.1.3 JQuery

Fig. 1.2.1.3 JQuery Logo

Hoy en día World Wide Web es un entorno dinámico, y sus usuarios establecen un nivel alto tanto para el estilo como para la función de los sitios. Para crear sitios interesantes e interactivos, los desarrolladores están recurriendo a librerías JavaScript como JQuery para automatizar tareas comunes y simplificar las complicadas.

Una razón por la que la librería JQuery es una elección popular es su capacidad de ayudar en una amplia variedad de tareas. Puede parecer difícil saber por dónde empezar porque JQuery lleva a cabo muchas funciones diferentes. Sin embargo,

Existe una coherencia y simetría en el diseño de la librería; la mayoría de sus conceptos se toman de la estructura de HTML y CSS (Cascading Style Sheets). El diseño de la librería lleva a un comienzo rápido para diseñadores con poca experiencia de programación ya que muchos desarrolladores Web tienen más

Experiencia con estas tecnologías que con JavaScript. De hecho, en este capítulo escribimos un programa JQuery en sólo tres líneas de código. Por otro lado, esta consistencia conceptual también ayudará a los programadores experimentados, como veremos en los capítulos siguientes, más avanzados.

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 interacción con la técnica AJAX a páginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC.

JQuery es software libre y de código abierto, posee un doble licenciamiento bajo la Licencia MIT y la Licencia Pública General de GNU v2, permitiendo su uso en proyectos libres y privativos.

JQuery, al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en JavaScript que de otra manera requerirían de mucho más código, es decir, con las funciones propias de esta biblioteca se logran grandes resultados2 en menos tiempo y espacio.

Las empresas Microsoft y Nokia anunciaron que incluirán la biblioteca en sus plataformas. Microsoft la añadirá en su IDE Visual Studio4 y la usará junto con los

Frameworks ASP.NET AJAX y ASP.NET MVC, mientras que Nokia los integrará con su plataforma Web Run-Time.

1.2.1.4 JavaScript

Fig. 1.2.1.4 JavaScript Representación HTML “Etiqueta” Logo

JavaScript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico.

Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, en bases de datos locales al navegador,

Aunque existe una forma de JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en

Documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo.

JavaScript se diseñó con una sintaxis similar al C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo Java y JavaScript no están relacionados y tienen semánticas y propósitos diferentes.

Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del Document Object Model (DOM).

Tradicionalmente se venía utilizando en páginas web HTML para realizar operaciones y únicamente en el marco de la aplicación cliente, sin acceso a funciones del servidor. JavaScript se interpreta en el agente de usuario, al mismo tiempo que las sentencias van descargándose junto con el código HTML.

Historia y denominación

JavaScript fue desarrollado originalmente por Brendan Eich de Netscape con el nombre de Mocha, el cuál fue renombrado posteriormente a LiveScript, para finalmente quedar como JavaScript. El cambio de nombre coincidió aproximadamente con el momento en que Netscape agregó soporte para la tecnología Java en su navegador web Netscape Navigator en la versión 2.003 en diciembre de 1995. La denominación produjo confusión, dando la impresión de que el lenguaje es una prolongación de Java, y se ha caracterizado por muchos como una estrategia de mercadotecnia de Netscape para obtener prestigio e innovar en lo que eran los nuevos lenguajes de programación web.5 6, JavaScript es una marca registrada de Oracle Corporation. Es usada con licencia por los productos creados por Netscape Communications y entidades actuales como la Fundación Mozilla.

Microsoft dio como nombre a su dialecto de JavaScript «JScript», para evitar problemas relacionados con la marca. JScript fue adoptado en la versión 3.0 de Internet Explorer, liberado en agosto de 1996, e incluyó compatibilidad con el Efecto 2000 con las funciones de fecha, una diferencia de los que se basaban en ese momento. Los dialectos pueden parecer tan similares que los términos «JavaScript» y «JScript» a menudo se utilizan indistintamente, pero la especificación de JScript es incompatible con la de ECMA en muchos aspectos.

1.2.1.5 AJAX

Fig. 1.2.1.5 Ajax Logo

AJAX no es más que la transferencia de información utilizando el lenguaje JavaScript para controlar procedimiento de transferencia, Sin la necesidad de recargar la página.

Esta información fluye en 2 canales independientemente de que va y que viene (Específicamente es una conversación a destiempo entre el servidor y el cliente).

Claro que el formato XML no es el único que se utiliza, también se puede usar texto simple para enviar la información o se codifica o formatea usando otros estándares como JSON.

Tecnologías Implicadas

• XHTML o HTML

• CSS

• DOM

• XMLHttpRequest

• XML

1.2.1.6 PHP Hypertext Preprocessor

Fig. 1.2.1.6 PHP Logo

PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollos web y el cual puede ser incrustado en páginas HTML. La mayoría de su sintaxis es similar a C, Java y Perl y es fácil de aprender. La meta de este lenguaje es permitir escribir a los creadores de páginas web, páginas dinámicas de una manera rápida y fácil, aunque se pueda hacer mucho más con PHP.

Lo que distingue a PHP de algo lado-cliente como JavaScript, es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá los resultados de ejecutar el script, sin ninguna posibilidad de determinar qué código ha producido el resultado recibido. El servidor web puede ser incluso configurado para que procese todos los archivos HTML con PHP y entonces no hay manera que los usuarios puedan saber que tienes debajo de la manga.

Nota: Cabe Mencionar que el lenguaje de programación que se implementa sobre el Framework de desarrollo antes mencionado (Zend Framework) sigue siendo PHP en una de sus versiones 5.

Capítulo 2

Análisis

Introducción

A continuación se presenta información recopilada de documentos anteriores, ya que aquí solo se hace referencia al análisis ya hecho.

La Consultoría IOFractal pretende automatizar el de control de Clientes, Proyectos, Usuarios, Prospectos, Proyectos, Empleados, Facturas, Nómina, Actividades Diarias, Perfil, Inventario de Equipo, Almacén, Clientes, Gastos, Cuentas por Pagar, y generar información nueva resultado de la relación correcta entre los módulos.

El sistema será manipulado por todos los miembros de IOFractal, además de que habrá un control de los mismos a través de los privilegios otorgados a estos, el Administrador tendrá la posibilidad de registrar, modificar y eliminar la información de los Clientes, Proyectos, Usuarios y en Cuentas por Cobrar, Prospectos, Empleados, Facturas, Nómina, Actividades Diarias, Perfil, Inventario de Equipo, Almacén, Clientes, Gastos, Cuentas por Pagar la información debe generarse y variar según la información que este módulo obtiene de cruzar datos.

En el sistema Horus Robot Empresarial y los distintos módulos aquí permitirán que el sistema como tal mantenga actualizada la información de las empresas que susciten dicho software y todo lo que involucre el managment bussiness.

Como mecanismo de seguridad, el sistema pedirá a los usuarios su nombre clave y una contraseña (password) con la reducción criptográfica MD5 para tener acceso a los módulos del mismo, así como la validación de privilegios y la prevención de inyección SQL.

Horus será desarrollado bajo el lenguaje de programación orientado a la Web PHP y el manejador de Base de Datos será MySQL el cual será manipulado mediante la terminal de MySQL, workbench, PHPMyAdmin.

2.1 Arquitectura del sistema

Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y la Lógica de

Negocio y el controlador es el responsable de recibir los eventos de entrada desde la vista.

2.2 Descripción del patrón

2.2.1 Modelo

Es la representación específica de la información con la cual el sistema opera. La lógica de datos asegura la integridad de estos y permite derivar nuevos datos.

2.2.2 Vista

Presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.

2.2.3 Controlador

Responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista.

La Arquitectura del Sistema Administrativo estará basada en las 4+1Vistas de la Notación de UML, utilizando como herramienta Racional Rose.

2.2.4 Use Case View

Representa la funcionalidad deseada en el sistema, en ella se encuentran los modelos relacionados con la captura de los requisitos (Modelo de Casos de Uso, Modelo del Negocio y sus Realizaciones).

2.2.5 Logical View

Se encuentran los modelos que muestran la estructura y comportamiento del sistema, a través de un conjunto de colaboraciones que se representan a través de los Diagramas de Secuencia y/o colaboración.

2.2.6 Deployment View

Aquí se encuentra la distribución de los componentes a los Nodos de Procesamiento del Sistema, muestra la topología, distribución e instalación del sistema.

2.2.7 Component View

Representa la implementación del sistema mediante componentes. Un componente está relacionado con un archivo de software y un lenguaje de programación. Las clases de la vista lógica, deben ser asignadas a los componentes de la vista de componentes.

Capítulo 3

Base de Datos

Introducción

A continuación se presenta información recopilada de documentos anteriores, ya que aquí solo se hace referencia al diseño de la Base de Datos ya hecho.

Las bases de datos son un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.

Cada base de datos se compone de una o más tablas que guardan un conjunto de datos, cada tabla tienen una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro, en este apartado se detalla la base de datos que sostiene al sistema de administración, específicamente con los módulos de clientes, proyectos, usuarios y cuentas por cobrar, también se muestran las tablas catálogos pertinentes.

La base de datos fue creada con el motor de base de datos InnoDB y establecida con la codificación de caracteres UTF-8 lo que nos proporciona en primer lugar la posibilidad de mantener la integridad de la información mediante el relacionamiento de las tablas y en segundo, la correcta de interpretación de los caracteres para el idioma español.

3.1 Diccionarios de datos

Las columnas que muestra cada tabla son:

3.1.1 Columna: Nombre del campo.

3.1.2 Tipo: Que dato se espera en el campo.

3.1.3 Cotejamiento: Tipo de codificación queremos usar para los valores de estos campos.

3.1.4 Atributos: Para los números, significa si lleva signo o no, zerofill si se rellena con ceros a la izquierda.

3.1.5 Nulo: Especifica si el campo es obligatorio o no.

3.1.6 Extra: Características especiales del campo.

3.2 Modelo de Datos Entidad-Relación

El modelo entidad-relación es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades.

Fig. 3. 2.1 Representación E-R BD

Capítulo 4

Desarrollo

Introducción

Las páginas Web o sitios web se han convertido, con el tiempo, en excelentes herramientas de venta y proyección de cualquier tipo de negocio. Gracias a la constante evolución tecnológica, hoy podemos presentar un diseño Web mucho más atractivo. Un diseño Web ahora se puede valer de todas estas herramientas visuales que, utilizadas de manera funcional, hacen que su página sea considerada y valorada por quienes la visitan.

Por tanto, la consultoría decide rediseñar y agregar nuevos módulos como de los cuales se irán describiendo conforme el documento avance teniendo una demostración gráfica de el modulo en cuestión, enseguida de una descripción de la funcionalidad o funcionalidad que involucren el cambio o restructuración del módulo, o la elaboración el mismo sea el caso.

Inicialmente la web era simplemente una colección de páginas estáticas, documentos, etc., que podían consultarse o descargarse.

El siguiente paso en su evolución fue la inclusión de un método para confeccionar páginas dinámicas que permitiesen que lo mostrado fuese dinámico (generado o calculado a partir de los datos de la petición). Dicho método fue conocido como CGI (Common Gateway interface) y definía un mecanismo mediante el cual podíamos pasar información entre el servidor HTTP y programas externos. Los CGI siguen siendo muy utilizados, puesto que la mayoría de los servidores web los soportan debido a su sencillez. Además, nos proporcionan total libertad a la hora de escoger el lenguaje de programación para desarrollarlos.

El esquema de funcionamiento de los CGI tenía un punto débil: cada vez que recibíamos una petición, el servidor web lanzaba un proceso que ejecutaba el programa CGI. Como, por otro lado, la mayoría de CGI estaban escritos en algún lenguaje interpretado (Perl, Python, etc.)O en algún lenguaje que requería Runtime Environment (VisualBasic, Java, etc.), esto implicaba una gran carga para la máquina del servidor.

Además, si la web tenía muchos accesos al CGI, esto suponía problemas graves.

Por ello se empiezan a desarrollar alternativas a los CGI para solucionar este grave problema de rendimiento. Las soluciones vienen principalmente por dos vías. Por un lado se diseñan sistemas de ejecución de módulos más integrados con el servidor, que evitan que éste tenga que instanciar y ejecutar multitud de programas. La otra vía consiste en dotar al servidor de un intérprete de algún lenguaje de programación (RXML, PHP, VBScript, etc.) que nos permita incluir las

Páginas en el código de manera que el servidor sea quien lo ejecute, reduciendo así el tiempo de respuesta.

A partir de este momento, se vive una explosión del número de arquitecturas y lenguajes de programación que nos permiten desarrollar aplicaciones web. Todas ellas siguen alguna de las dos vías ya mencionadas. De ellas, las más útiles y las que más se utilizan son aquellas que permiten mezclar los dos sistemas, es decir, un lenguaje de programación integrado que permita al servidor interpretar comandos que “incrustemos” en las páginas HTML y un sistema de ejecución de programas más enlazado con el servidor que no presente los problemas de rendimiento de los CGI.

Es este apartado de desarrollo se mencionan los cambios realizados en los módulos o si es el caso claro la explicación entera e integra del modulo con un flujo de información (E-P-S) (Entrada-Proceso-Salida), si no es el caso se da una breve pero importante reseña de la funciona y el apartado en el que fue hecho la modificación.

Si el modulo fue implementado desde “cero”, es decir es un nuevo modulo desde principio a fin, entonces si se toma en cuenta el flujo de información (E-P-S).

Por cuestiones y arreglos de confidencialidad hacía con la empresa IOFractal Consultoría, no se puede publicar código en esta denominada memoria, por fines de lucro u otras cuestiones.

4.1 Interfaces del sistema

4.1.1 Módulo de Inventario de Equipo

Este tiene como objetivo el control de ubicación y uso de cada unidad de Inventario de Equipo, tales como computadores o partes componentes de un sistema de Computación, por ejemplo: bocinas, CPU, monitores, teclados, Módems, reguladores de voltaje, etc., así como de otros equipos y bienes muebles, tales como calculadora, escritorios, teléfonos, máquinas de escribir, cámaras fotográficas, cámaras, filmadoras, etc.

Entrada

Para ingresar ir al menú principal, en Horus, espera a que se despliegue el menú y dar clic para seleccionar inventario de equipo, tal como lo muestra la Fig. 4.1.1.1 Inventario de equipo.

Fig. 4.1.1.1 Inventario de equipo.

Enseguida muestra la siguiente página, en donde retorna un listado de todos los equipos que están en el inventario. Cómo se observa en la Fig. 4.1.1.2

Fig. 4.1.1.2 Listado de Equipo.

Crear

Para realizar la entrada de nuevo equipo tenemos que dar clic en el botón

Que se encuentra en la tabla, después de pulsar el botón nos lleva al formulario en el cual se realiza el registro de equipo.

En la parta superior del formulario se encuentra una leyenda que especifica que todos los campos marcados con (*) son obligatorios de tal forma que si no están llenos esos campos no se podrá continuar con el registro. Cómo se observa en la Fig. 4.1.1.3.

Fig. 4.1.1.3 Formulario de Inventario de Equipo

Para continuar con el registro de equipo presionar el botón guardar, enseguida muestra un dialogo modal que pregunta si se desea guardar los cambios. Se da clic en aceptar y la tabla de inventario de equipo se actualiza con el nuevo registro. Cómo se observa en la Fig. 4.1.1.4.

Fig. 4.1.1.4 Dialogo Modal

Enseguida muestra la tabla con todos los registros que existen en el inventario de equipo. Cómo se observa en la Fig. 4.1.1.5.

Fig. 4.1.1.5 Listado Actualizado Inventario de Equipo.

Editar

Para editar un registro de inventario de equipo, ir a la tabla de inventario, entonces dar clic en el botón en forma de lápiz que muestra el formulario que se va a editar. Cómo se observa en la Fig. 4.1.1.6.

Fig. 4.1.1.6 Formulario para editar Equipo

Si se toma como referencia este registro, los campos en rojo son los cambios que se realizan en este, de tal forma que se ven reflejados en el listado del inventario de equipo. Cómo se observa en la Fig. 4.1.1.7.

Fig. 4.1.1.7 Tabla actualizada de Inventario

Eliminar

Para realizar la eliminación del registro dar clic en el botón que se ubica en la tabla, esta acción desplegara un dialogo modal que pregunta si se esta seguro de eliminar el registro, si quiere conservar el registro simplemente dar clic en cancelar, es importante recalcar que en este módulo no se realiza un eliminado físico en la base de datos, en este se realiza un borrado lógico el cual se maneja por un status, de tal forma que simula que es eliminado y no se lista en la tabla de inventario de equipo si no que se envía a un historial para llevar un mejor control de este. Cómo se observa en la Fig. 4.1.1.8.

Fig. 4.1.1.8 Dialogo de Eliminación de Equipo.

Listado de inventario de equipo después del borrado. Cómo se observa en la Fig. 4.1.1.9.

Fig. 4.1.1.9 Inventario de Equipo después de la eliminación del registro.

Historial

En este es en donde se listan todos los equipos que se encuentran activos o inactivos, de tal forma que se lleva un control con el inventario, en la tabla de inventario de equipo solo se listan los equipos que se encuentran activos, en este se encuentran ambos. Para entrar al historial simplemente dar clic en la parte superior donde dice Historial este nos llevara al listado. Cómo se observa en la Fig. 4.1.1.10.

Fig. 4.1.1.10 Historial de Inventario de Equipo.

En la Fig. 4.1.1.10 se puede observar 2 registros activos y el marcado en rojo anteriormente habíamos borrado.

Errores

Como ya se había mencionado antes los elementos que tengan un (*) son obligatorios de tal forma que si se hace caso omiso a esto, mostrara una serie de advertencias y los que campos son obligatorios. Cómo se observa en la Fig. 4.1.1.11.

Fig. 4.1.1.11 Errores del Formulario.

4.1.2 Módulo de Órdenes de Compra

Una orden de compra es un documento que emite la organización o entidad compradora para adquirir un bien o un servicio y cubrir así, alguna necesidad o requerimiento existente de acuerdo a las prácticas de negocio establecidas.

Este de manera implícita formaliza los acuerdos comerciales y garantiza la contraprestación que por lo general corresponde al pago del bien o servicio; asimismo, se considera el detonador del proceso comercial. Condiciones acordadas entre el vendedor y el comprador del bien a adquirir; así como los términos de entrega, las penalidades por incumplimiento, descuentos, bonificaciones, etc.

Entrada

Para ingresar ir al menú principal, en Egresos, espera a que se despliegue el menú y dar clic para seleccionar Orden de Compra, tal como lo muestra la Fig. 4.1.2.1 Orden de Compra.

Fig. 4.1.2.1 Orden de Compra

Enseguida muestra la siguiente página, en donde se presenta un listado de todos las ordenes de compra que se han hecho.

Fig. 4.1.2.2 Listado de Orden de Compra

Crear

Para realizar una nueva orden de compra dar clic en el botón

Que se encuentra en la tabla, después de pulsar el botón llevara al formulario en el cual se podrá realizar el registro de una orden de compra.

En la parta superior del formulario se encuentra una leyenda que especifica que todos los campos marcados con (*) son obligatorios de tal forma que si no están llenos esos campos no se puede continuar con el registro. Cómo se observa en la Fig. 4.1.2.3.

Fig. 4.1.2.3 Formulario de orden de compra

Antes de continuar si se desea agregar un nuevo artículo, dar clic en donde dice agregar nuevo artículo ahí se despliega un pop-up para poder agregar un artículo. Cómo se observa en la Fig. 4.1.2.4.

Fig. 4.1.2.4 Popup Agregar Nuevo Articulo.

Para continuar dar clic en guardar y el artículo recién creado se agrega al combo Box de artículos, listo para ser seleccionado.

Para continuar con la orden de compra presionar el botón guardar, enseguida muestra un dialogo modal que pregunta si se desea guardar los cambios. Dar clic en aceptar y la tabla de órdenes de compra se actualiza con el nuevo registro. Cómo se observa en la Fig. 4.1.2.5.

Fig. 4.1.2.5 Listado Actualizado Orden de Compra.

En el listado de orden de compra podemos observar nuestras compras solo basta con pulsar sobre el registro en el apartado que dice ver compras, esto desplegara un pop-up que nos muestra todas nuestras compras. Cómo se observa en la Fig. 4.1.2.6.

Fig. 4.1.2.6 Pop-up de Compras.

Editar

Para editar una orden de compra, estar en la tabla de órdenes, enseguida dar clic en el botón en forma de lápiz este muestra el formulario con la orden de compra. Cómo se observa en la Fig. 4.1.2.7.

Fig. 4.1.2.7 Editar Orden de Compra.

Si se toma como referencia el registro anterior se observa que los campos subrayados en rojo son los que se modificaron, esta acción provoca que el listado de órdenes de compra se actualice y muestre obviamente los cambios hechos. Cómo se observa en la Fig. 4.1.2.8.

Fig. 4.1.2.8 Listado Actualizado de Orden de Compra.

Estos son algunos cambios que se notan en la tabla otros cambios realizados se encuentran en ver compras. Cómo se observa en la Fig. 4.1.2.9.

Fig. 4.1.2.9 Compras Actualizadas.

Eliminar

Para realizar la eliminación del registro dar clic en el botón que se encuentra en la tabla, esta acción desplegara un dialogo modal que pregunta si se esta seguro de eliminar el registro, si se quiere conservar el registro simplemente dar clic en cancelar. Cómo se observa en la Fig. 4.1.2.10.

Fig. 4.1.2.10 Eliminar Registro.

Listado de inventario de equipo después del borrado. Cómo se observa en la Fig. 4.1.2.11.

Fig. 4.1.2.11 Listado después del borrado.

4.1.3 Login

El login por definición es la interfaz o parte inicial de este sistema; Horus Robot Empresarial, que se centra, en el acceso al sistema con una nombre de usuario y una contraseña del mismo, esto para poder accesar al Software y con ello a toda su funcionalidad como se puede ver en la Fig. 4.1.3.1 Login Horus Robot.

La modificación que se le aplico a esta ya elaborada interfaz fue de tipo Front-End es decir se aplicó un efecto de “engrane” al activar los espacios para teclear el usuario o la contraseña, incluso al entrar desde un inicio al sistema desde la URL, esto para que los usuarios que se les “recuerdan los datos”, como se dice en el argot también lo experimenten.

El objetivo puntual de esta modificación de Front-end hacia esta la primera interfaz no fui sino para solo resaltar de alguna manera que el sistema Horus Robot empresarial empieza a funcionar.

Fue elaborado con CSS con efecto de transición y tiempo, dicho sea de paso contiene adaptabilidad de Resposive Web Design en español Diseño de Web Adaptable.

Fig. 4.1.3.2 Login Horus Robot.

4.1.3 Módulo de Usuarios & Empleados

La interfaz usuarios fue restructurada en recurridas ocasiones sin embargo uno de los cambios que se realizaron fue a la hora de agregar un usuario. Como sabemos un formulario común con campos obligatorios y otros no.

Un cambio fue a la hora de agregar, editar un usuario existen 3 nuevos campos en el formulario Sueldo, Periodo, Modo de Pago, dichos campos no son obligatorios, sin embargo se ven reflejados en el Modulo de “Nomina”, para que en un futuro esto sirva para diferencias que días y cuanto y en que modo se les paga a los empleados o usuarios respectivamente

Recalcando claro, que los campos del formulario están validados con JavaScript con funciones regulares cuando así lo requiero, aparte de un detalle en CSS que difumina el campo de color rojo cuando es erróneo o no es llenado, o de color verde cuando es correcto.

*Nota. Usuarios y Empleados dependen del mismo Formulario como se puede ver en la Fig. 4.1.3.2 Formulario de Usuario y Empleado. , por cuestiones de negocio y logística, la diferencia la otorga un “id”.

Fig. 4.2.3.2 Formulario de Usuario y Empleado.

4.1.4 Módulo de Nómina.

Como en funciones pasadas ya se había mencionado la nómina por definición aporta la funcionalidad de pago a los Empleados.

Estos empleados, que se pueden diferenciar por Usuarios Externos e Internos necesitan de una fecha de pago puntual y ordenado. Siguiendo la regla de pago que establecen los organismos centralizados en esto los pagos pueden ser Semanales, Quincenales o Mensuales. Esta regla de pago habla de los pagos quincenales y mensuales, ya que si caen en sábado se recorren un día y si caen en domingo se recorren dos pagando regularmente siempre los días viernes.

O en los pagos mensuales en último día del mes considerando que no todos los meses tienen de manera fija y consecutiva 30 días. Después de un análisis, se llega a la conclusión de que se pueden mostrar dicho empleados respecto a su tipo de pago y mostrarlos en un calendario que muestre a los empleados según su tipo de pago y solo listar a aquellos que existan en la BD.

Estos se pueden mostrar en el calendario en diferentes presentaciones Anual, Semanal, Mensual y cada día. Cabe destacar que el back-End se utilizaron funciones para repartir y saber el día de mago semana quincena o mes, integrar el calendario que esto es Front-end y combinar todo hasta el punto que se muestren las fechas de pago del año ...

7 y rojo representan el pago semanal, 15 y azul representan el pago quincenal y 30 y verde representan el pago mensual como se muestran a continuación en las figuras: 4.1.4.1, 4.2.4.3, 4.3.4.3, 4.4.4.4 respectivamente

Vista Anual

Fig. 4.5.4.1 Nómina Anual.

Vista Mensual

Fig. 4.1.4.2 Nómina Mensual.

Vista Semanal

Fig. 4.1.4.3 Nómina Semanal.

Vista Diaria

Fig. 4.1.4.4 Nómina Día.

4.1.5 Módulo de Prospecto & Propuesta de Proyecto.

En un principio los módulos Prospecto Cliente y Prospecto de Proyecto se encontraban de manera individual, esto quería decir que si se quería registrar a un cliente prospecto y un proyecto prospecto se tenían que dar muchos clic’s, es decir no era redundante, por lo cual se decidió Unificar ambos formularios en una sola pestaña indexada que es Prospectos como se puede ver en la Fig. 4.1.5.1Listado de Prospectos de Clientes.

Prospectos tiene la capacidad de ingresar borrar o actualizar cualquier Prospecto ya sea de cliente o de proyecto, haciendo más fácil al usuario los procesos de ingreso de datos del sistema.

Vista de alta prospecto cliente y prospecto proyecto como se puede ver en Fig. 4.1.5.2 Formulario de Prospecto de Clientes y Fig. 4.1.5.3 Formulario de Prospecto de Proyectos

Fig. 4.1.5.2 Listado de Prospectos de Clientes.

Fig. 4.2.5.2 Formulario de Prospecto de Clientes.

Fig. 4.2.5.3 Formulario de Prospecto de Proyectos.

4.1.6 Proyectos, Historial de Prospectos de proyecto

Un prospecto por definición lingüística es una transacción que es eso “un posible”, o todo lo contrario, esto significa que el historial de prospectos proyecto guarda en un apartado todo prospecto que se vuelve proyecto.

Después de ser Ingresado en Prospecto de proyecto, hay una opción que dice cambiar a proyecto, como se ve en la Fig. 4.1.6.1 Listado de Prospecto de Proyecto, eso no borra al prospecto sino que lo envía al historial de prospectos ubicado en el módulo de proyectos como se ve en la Fig. 4.1.6.3 Historial de Prospectos.

Fig. 4.1.6.2 Listado de Prospecto de Proyectos.

Fig. 4.1.6.2 Confirmación de Prospectos a Proyecto.

Fig. 4.2.6.3 Historial de Prospectos.

4.1.7 Preferencias

Los temas que cada usuario puede elegir según su gusto y conveniencia, están ubicados en este módulo, sin embargo solo lo mostraba por sesión, esto quiere decir que el usuario lo elegía y lo “guardaba”, se movía dentro del sistema a otro modulo este cambio no se reflejaba el cambio de tema.

Después de terminada su sesión, es decir que salía del sistema, cuando el usuario volvía a ingresar su tema que había elegido en alguna sesión pasada no se reflejaba en el sistema Horus Robot Empresarial.

La implementación nueva que se implemento fue guardar en forma el tema de la preferencia de cada usuario. La problemática que surgió fue que debido a la implementación del Framework Zend, el manejo de sesiones con datos tuvo que ser analizado y resuelto, como se dice en el argot con “puro PHP”, esto quiere decir que se recurrió a las sesiones que otorga PHP y así se pudo guardar el tema no por usuario si no por rol y usuario.

Así pues cada usuario o rol dependiendo de por donde se mire, puede guardar su Tema navegar por el sistema y salir del propio sin que los cambios desaparezcan, como se demuestra en las figuras 4.1.7.1, 4.1.7.2, 4.1.7.3, 4.1.7.4.

Fig. 4.1.7.2 Vista de preferencias.

Fig. 4.1.7.2 Navegación en el sistema.

Fig. 4.1.7.3 Cambio de preferencias.

Fig. 4.1.7.4 Vista de preferencias nueva.

4.1.8 Rol Visualizador

Por Rol se entiende Función, papel de un actor, este actor en Horus Robot Empresarial es el cliente y su preciso papel que juega dentro del software, papel como Administrador, Cliente, Consultor, etc.

El Rol Visualizador como se muestra en la Fig. 4.1.8.1 Rol Visualizador que se implemento es precisamente eso, ese papel actúa, no puede hacer las funciones de borrar, agregar, modificar, etc. Que otros, no todos, los roles hacen o no hacen.

La problemática en el back-end fue resuelta dando permisos a cada módulo específico y con sus funciones primordiales a este nuevo rol, quitarlas y solo ser un observador del sistema, o en dado caso que los iconos de acción aparezcan, la sesión termina y el usuario es sacado del sistema como medida de seguridad.

¿Con que fin se puede tener un Rol, para algunos inútil como el de Visualizador?

IOFractal Consultores, cree que algunas personas ajenas a al proyecto o al sistema o a la empresa pueden ser útiles de esta manera.

Fig. 4.1.8.2 Rol Visualizador.

4.1.9 Cron Mails (Correo Electrónico)

La palabra CRON refiere a administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo. Esto mismo es la idea con los distintos correos electrónicos que el sistema Horus Robot Empresarial manda a los Usuarios como Bienvenida cuando se dan de alta en el sistema, Horus Robot Empresarial como se puede ver en la Fig. 4.1.9.1 Vista el nuevo Correo Electrónico de Bienvenida.

La implementación nueva consistió en incluirle datos de relevancia con datos relevantes como: Nombre de Usuario, Contraseña del Usuario y la URL del sistema.

Fig. 4.1.9.2 Vista el nuevo Correo Electrónico de Bienvenida.

Referencias

Zend Framework in Action, Rob Allen, Nick Lo Ed. Manning, 2007.

JavaScript: The Good Parts, Douglas Crockford, O'Reilly, May 2, 2008

JavaScript: The Definitive Guide, David Flanagan, O'Reilly, 2011.

Zend Framework documentation.

http://zfdes.com/

http://zfdes.com/index.php/Documentacion

http://framework.zend.com/manual/en/

Zend PDF.

http://framework.zend.com/manual/en/zend.pdf.html

http://doczf.mikaelkael.fr/1.10/es/zend.pdf.usage.html

http://sentidoweb.com/2006/07/24/laboratorio-creando-documentos-pdf-con-zend-framework.php

JQuery y JavaScript

http://api.jquery.com/

http://jquery.com/

http://datatables.net/api

Conclusiones

Desarrollar para la empresa IOFractal el Sistema Horus Robot Empresarial, ha sido una gran experiencia porque tuvimos la oportunidad de llevar a cabo un ciclo de vida de un sistema, conocer nuevas tecnologías, de saber que realmente es útil y que será utilizado es una de nuestras mayores recompensas.

Cumplir con horarios, tiempos de solicitud de actividades, presentación de tu persona son solo algunas de los aspectos a los que se tienen que enfrentar en el campo laboral y poder vivir esta experiencia desde el proceso de formación consideramos que es bastante enriquecedor, porque adquieres experiencia que te es solicitada desde que sales de la escuela y pocos te abren las puertas sino cuentas con ella, que a través de la Universidad te abran las puertas y tengas respaldo te ayuda a perder el miedo.

Adquieres responsabilidad y comprendes que si no cumples no solo reprobarás la estadía sino que también serás el responsable de una pérdida económica para tu empresa y pueden despedirte. El proceso de estadía no sólo te ayuda a obtener conocimientos técnicos e incorporarte a la vida laboral te acerca a un mundo donde ya no hay simulaciones como sucede en diversas ocasiones en la escuela dónde hay que presentar otro examen y puede arreglarse nuestra falta de compromiso.

Este proceso nos ha permitido convivir con personas amables y muy pacientes ante nuestra falta de experiencia. Podemos decir todos los momentos que vivimos, aprendimos la importancia de un buen ambiente de trabajo que un buen sueldo no lo sustituye, ser responsable con todos porque el trabajo también contribuye a nuestro crecimiento.

Al inicio del proyecto tuvimos temor de no poder desarrollarlo por no conocer las herramientas, pero al final aceptamos el reto y podemos decirle a futuras generaciones que nunca digan no a los retos, porque la vida se construye de ellos y no podrán renunciar a vivir.

Glosario

ANSI: Por sus siglas en inglés: (American National Standards Institute) es una organización sin ánimo de lucro que supervisa el desarrollo de estándares para productos, servicios, procesos y sistemas en los Estados Unidos

ASINCRONO: Se refiere al modo en el cual se realiza una Transmisión de Información en el cual cada momento en el cual es emitida, mediante cada carácter o bloque de caracteres se realiza una fijación arbitraria sincronizada mediante un método Start & Stop (es decir, Envío y No-Envío de información)

BITTORRENT: Protocolo diseñado para el intercambio de archivos peer-to-peer en Internet.

BPMN: En español Notación para el Modelado de Procesos de Negocio) es una notación gráfica estandarizada que permite el modelado de procesos de negocio, en un formato de flujo de trabajo (workflow).

BSD: En español, «distribución de software Berkeley, es un sistema operativo derivado del sistema Unix nacido a partir de los aportes realizados a ese sistema por la Universidad de California en Berkeley.

Back-end: Es la parte que procesa la entrada desde el front-End.

CRUD: En computación CRUD es el acrónimo de Crear, Obtener, Actualizar y Borrar (del original en inglés: Create, Read, Update and Delete). Es usado para referirse a las funciones básicas en bases de datos o la capa de persistencia en un software.

CRM: Sistemas informáticos de apoyo a la gestión de las relaciones con los clientes, a la venta y al marketing. Con este significado CRM se refiere al sistema que administra un data warehouse (almacén de datos) con la información de la gestión de ventas y de los clientes de la empresa.

CSS: Del inglés Cascading Style Sheets, del que toma sus siglas. CSS es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML2 (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores.

DOM: El Document Object Model o DOM ('Modelo de Objetos del Documento' o 'Modelo en Objetos para la Representación de Documentos') es esencialmente una interfaz de programación de aplicaciones (API) que proporciona un conjunto estándar de objetos para representar documentos HTML y XML, un modelo estándar sobre cómo pueden combinarse dichos objetos, y una interfaz estándar para acceder a ellos y manipularlos.

ERP: Por sus siglas en inglés, Enterprise Resource Planning, son sistemas de información gerenciales que integran y manejan muchos de los negocios asociados con las operaciones de producción y de los aspectos de distribución de una compañía en la producción de bienes o servicios.

ECMASCRIPT: Es una especificación de lenguaje de programación publicada por ECMA International. El desarrollo empezó en 1996 y estuvo basado en el popular lenguaje JavaScript propuesto como estándar por Netscape Communications Corporation. Actualmente está aceptado como el estándar ISO 16262.

FRAMEWORK: En el desarrollo de software, un framework (marco de trabajo) o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, con base a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Front-End: El front-end es la parte del software que interactúa con el o los usuarios

GNU: Es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a UNIX denominado Linux, que es usado con herramientas del sistema GNU

GUI: La interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user interface) es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz.

HTTP: Hypertext Transfer Protocol o HTTP (en español protocolo de transferencia de hipertexto) es el protocolo usado en cada transacción de la World Wide Web.

IBM: International Business Machines (IBM) (NYSE: IBM) es una empresa multinacional estadounidense de tecnología y consultoría con sede enArmonk, Nueva York.

IDE: Es un entorno de desarrollo integrado, llamado también IDE (sigla en inglés de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios.

JDT: El proyecto JDT proporciona la herramienta plug-ins que implementar una IDE Java apoyar el desarrollo de cualquier aplicación Java, incluyendo Eclipse plug-ins. Se añade un carácter Java proyecto y la perspectiva de Java para el entorno de trabajo de Eclipse, así como una serie de puntos de vista, editores, asistentes, constructores, y el código de la fusión y herramientas de refactorización. El proyecto Eclipse JDT permite ser un entorno de desarrollo para sí mismo.

MVC: Modelo Vista Controlador (MVC) es un patrón o modelo de abstracción de desarrollo de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de negocio en tres componentes distintos.

MD5: En criptografía, MD5 (abreviatura de Message-Digest Algorithm 5, Algoritmo de Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128 bits ampliamente usado.

NETSCAPE: Fue un navegador web y el primer producto comercial de la compañía Netscape Communications, creada por Marc Andreessen, uno de los autores de Mosaic, cuando se encontraba en el NCSA (Centro Nacional de Aplicaciones para Supercomputadores) de la Universidad en Urbana-Champaign. Netscape fue el primer navegador comercial.

NCSA: Es la sigla del National Center for Supercomputing Applications (Centro Nacional de Aplicaciones de Supercomputación). Es un organismo estadounidense relacionado con la investigación en el campo de la Informática y las Telecomunicaciones. Desempeñó un papel muy importante en el desarrollo del World Wide Web, sobre todo por la creación del navegador Mosaic.

RIA: Las rich Internet applications, o RIA (en español "aplicaciones de Internet enriquecidas"), son aplicaciones web que tienen la mayoría de las características de las aplicaciones de escritorio tradicionales. Estas aplicaciones utilizan un navegador web estandarizado para ejecutarse y por medio de complementos o mediante una máquina virtual se agregan las características adicionales.

RUP: El Proceso Unificado de Racional (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objeto

SINCRONO: Que tiene un intervalo de tiempo constante entre cada evento. Son procesos síncronos los que dependen de un acontecimiento externo que los dispara.

TERTULIA: Una tertulia es una reunión informal y periódica de gente interesada en un tema o en una rama concreta del arte, la ciencia o la filosofía, para debatir e informarse o compartir ideas y opiniones.

WIDGET: En informática, un widget es una pequeña aplicación o programa, usualmente presentado en archivos o ficheros pequeños que son ejecutados por un motor de widgets o Widget Engine. Entre sus objetivos está dar fácil acceso a funciones frecuentemente usadas y proveer de información visual.

Anexos

...

Descargar como  txt (83.8 Kb)  
Leer 50 páginas más »
txt