1. “AÑO DE INTEGRACIÓN NACIONAL Y EL RECONOCIMIENTO DE NUESTRA DIVERSIDAD”
UNIVERSIDAD PERUANA DEL ORIENTE
CARRERA PROFESIONAL DE INGENIERÍA DE SISTEMAS
PLAN DE TRABAJO DE PRÁCTICAS PRE PROFESIONALES I
“Análisis, Diseño e Implementación del Sistema de Inscripciones vía
Web para el área de capacitación en la empresa EDUTEC E.I.R.L de
Iquitos, del mes de abril a julio del 2012.”
Practicante:
WONG LOPEZ, Crionni Deiby
Empresa de Prácticas:
EDUTEC E.I.R.L.
Profesional Asesor:
Ing. Ronald Melchor
San Juan Bautista, abril del 2012
2. 2
ÍNDICE
1. TÍTULO DE PRÁCTICA ................................................................................................ 3
2. MARCO TEÓRICO DE PRÁCTICA .......................................................................... 3
2.1. INTRODUCCIÓN ............................................................................................................. 3
2.2. OBJETIVOS ....................................................................................................................... 3
Objetivo General ...................................................................................................................... 3
Objetivos Específicos ............................................................................................................... 3
2.3. ANTECEDENTES Y JUSTIFICACIÓN.............................................................................. 4
2.4. FUNDAMENTOS TEÓRICOS .......................................................................................... 4
VISIÓN GENERAL ........................................................................................................................ 6
3. METODOLOGÍA.......................................................................................................... 9
4. CRONOGRAMA....................................................................................................... 11
5. REFERENCIAS BIBLIOGRAFICAS............................................................................ 12
Bibliografía........................................................................................................................ 12
Web grafía ....................................................................................................................... 12
3. 3
1. TÍTULO DE PRÁCTICA
Análisis, Diseño e Implementación del Sistema de Inscripciones vía Web para el
área de capacitación en la empresa EDUTEC E.I.R.L de Iquitos, del mes de abril a julio del
2012.
2. MARCO TEÓRICO DE PRÁCTICA
2.1. INTRODUCCIÓN
Los procesos automatizados, son factores de vital importancia en la organización,
en esta era se ha observado una gran innovación y desarrollo de tecnologías de las
cuales dan grandes aportes a los distintos sectores económicos, sociales, políticos,
educativos, entre otros.
Actualmente en la empresa EDUTEC E.I.R.L la cual brinda el servicio de cursos de
capacitación en el área de informática, es necesario desarrollar in sistema basado en un
modelo de promotores y comisiones para incrementar la captación de estudiantes, así
mismo la información almacenada se debe poder utilizar de una forma más efectiva
para agilizar el procesos de inscripción y tener el control integral de las actividades de
esta en la organización en el área de Capacitación.
Al establecer este sistema poseerá un impacto psicosocial positivo en la
organización, la cual proporcionará a la misma, una información confiable, agilizando y
facilitando el trabajo en el proceso de inscripción.
Las personas que laboran en la empresa, en el departamento de capacitación,
durante este complicado proceso, exige un cambio que englobe la exigencia de la
nueva era, esto nos da más fuerza para continuar y a fin conseguir su implantación.
2.2. OBJETIVOS
Objetivo General
Desarrollar un sistema que permita implementar un modelo de promotoría basado en
comisiones para la captación de alumnos.
Objetivos Específicos
Implementar la oferta de cursos, inscripciones y consulta de comisiones vía web.
Permitir a los usuarios conocer “online” los cursos y grupos ofertados e inscribirse
“online”.
Permitir a los promotores acceder a la oferta de cursos y realizar pre inscripciones
“online”
Registrar las inscripciones y los pagos por derecho de inscripción.
4. 4
Generar las comisiones a promotores por pagos de inscripción.
Permitir a los promotores consultar su estado de cuenta de comisiones.
2.3. ANTECEDENTES Y JUSTIFICACIÓN
La empresa EDUTEC E.I.R.L. brinda el servicio de cabina de internet y cursos de
capacitación del área de informática al público en general, Actualmente la oferta de
los cursos se realiza de manera temporal utilizando los medios de comunicación como
radio y TV a demás se utiliza también y de manera más permanente el sistema de
volantearía. Aun así a pesar de los esfuerzos de publicidad no se ha logrado captar una
cantidad satisfactoria de estudiantes. Es por eso que la empresa se ha propuesto mejorar
la captación de estudiantes mediante la implementación de un modelo basado en
promotores y comisiones.
2.4. FUNDAMENTOS TEÓRICOS
2.4.1. APLICACIONES WEB EN LAS EMPRESAS
SERGIO LUJÁN MORA 1 afirma que Internet y la Web han influido enormemente tanto
en el mundo de la informática como en la sociedad en general. Si nos centramos en la
Web, en poco menos de 10 años ha transformado los sistemas informáticos: ha roto las
barreras físicas (debido a la distancia), económicas y lógicas (debido al empleo de
distintos sistemas operativos, protocolos, etc.) y ha abierto todo un abanico de nuevas
posibilidades. Una de las áreas que más expansión está teniendo en la Web en los últimos
años son las aplicaciones web.
Las aplicaciones web permiten la generación automática de contenido, la
creación de páginas personalizadas según el personal del usuario o el desarrollo del
comercio electrónico. Además, una aplicación web permite interactuar con los sistemas
informáticos de gestión de una empresa, como puede ser gestión de clientes,
contabilidad o inventario, a través de una página web.
Las aplicaciones web se encuadran dentro de las arquitecturas cliente/servidor:
un ordenador solicita servicios (el cliente) y otro está a la espera de recibir solicitudes y las
responde (el servidor).
ELENA LÓPEZ ORTEGA2 afirma que Tradicionalmente, y exceptuando una parte de la
sociedad entusiasta con la aparición de nuevas tecnologías, los denominados “early
1 SERGIO LUJÁN MORA (31 de octubre de 2002), Programación de aplicaciones web: historia, principios
básicos y clientes web. Alicante.
2 ELENA LÓPEZ ORTEGA (octubre de 2009), Uso de las herramientas de la web 2.0 en la empresa: situación
actual y tendencias. Universidad Autónoma de Madrid.
5. 5
adopters”, la empresa siempre fue pionera en la adopción de tecnologías entrantes al
mercado puesto que esto podía reportar enormes beneficios en sus cuentas anuales. Sin
embargo, con la Web 2.0 no ha ocurrido así. Los usuarios, satisfechos de poder expresar
sus opiniones y participar en el mundo web de una forma sencilla, así como de poder
comunicarse y compartir experiencias con otros de una forma hasta el momento
desconocida para ellos, han adoptado las herramientas surgidas con la Web 2.0 muy
rápidamente, dejando atrás a las empresas cuyo proceso de incorporación de estas
herramientas en sus actividades habituales está siendo más lento que para el resto la
sociedad.
Por ello, se puede decir que la Web 2.0 ha supuesto un fenómeno tanto tecnológico
como social que ha revolucionado la forma de comunicarse y relacionarse de las
personas, así como la manera de utilizar la red. Como una era donde lo importante son
las opiniones y gustos del consumidor, lo que éste pueda decir o aportar, lo cual abre una
amplia gama de posibilidades a empresas de todo tipo. En definitiva, ha dado lugar a
una nueva sociedad, participativa y en muchos casos comprometida donde el poder del
ciudadano cobra importancia gracias a la extensión del término “2.0”, a todo lo relativo
con lo “social” llegando a caracterizarse la propia Web 2.0 como Web Social y los
canales y herramientas sobre los que se sustenta como “medios sociales”. La siguiente
figura nos da una percepción de la fotografía actual de los medios sociales.
2.4.2. ARQUITECTURA WEB
INFORMACION RECOGIDA DE INTERNET3 menciona que la misma forma en que los
arquitectos tradicionales diseñan y coordinan la construcción de edificios, los arquitectos
web diseñan y coordinan el desarrollo de sitios web.
Los sitios web son una conjunción muy compleja de distintos sistemas integrados
entre sí (Bases de datos, servidores, redes, componentes de backup y seguridad, etc.).
El resultado final será un sitio que pueda resolver las necesidades de negocios:
Vender productos y servicios online y servir mejor a las necesidades de los clientes.
En el diseño de sitios web, igual que en el diseño de edificios, se requiere un firme
conocimiento de las tecnologías aplicadas.
En el diseño de edificios estos conocimientos son sobre las propiedades
estructurales de los materiales, electricidad, mecánica, plomería, etc. en el desarrollo
web se requieren de conocimientos de lenguajes programación y estructura de bases de
datos, el protocolo TCP/IP, el lenguaje HTML y muchos otros.
3 INFORMACION RECOGIDA DE INTERNET, Arquitectura WEB, http://www.inteligenciaweb.com/diseno-paginas-
web/arquitectura-web.htm
6. 6
En ambos casos es necesario tener conocimientos generales y ser un voraz
estudiante de las tecnologías, dado que estas están en continuo desarrollo y avanzan día
a día.
Sin embargo, hay algo que se mantiene constante... la gente debe poder usarlos.
Si no se irán de nuestra web y será un fracaso. Y se desperdiciaría una gran cantidad de
dinero.
2.4.3. DESARROLLO PHP
INFORMACION RECOGIDA DE INTERNET4 PHP es un lenguaje de programación
interpretado (Lenguaje de alto rendimiento), diseñado originalmente para la creación de
páginas web dinámicas. Se usa principalmente para la interpretación del lado del
servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de
línea de comandos o en la creación de otros tipos de programas incluyendo
aplicaciones con interfaz gráfica.
VISIÓN GENERAL
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor
(inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por
Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida
ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una
especificación formal. Publicado bajo la PHP License, la Free Software Foundation
considera esta licencia como software libre.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado
en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP
ha compartido algo de su preponderante dominio con otros nuevos lenguajes no tan
poderosos desde agosto de 2005. El sitio web de Wikipedia está desarrollado en PHP. Es
también el módulo Apache más popular entre las computadoras que utilizan Apache
como servidor web.
El gran parecido que posee PHP con los lenguajes más comunes de programación
estructurada, como C y Perl, permiten a la mayoría de los programadores crear
aplicaciones complejas con una curva de aprendizaje muy corta. También les permite
involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un
nuevo grupo de funciones.
4 INFORMACION RECOGIDA DE INTERNET, PHP, http://es.wikipedia.org/wiki/PHP
7. 7
Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es
posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión
PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma
manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI
(Command Line Interface).
Cuando el cliente hace una petición al servidor para que le envíe una página
web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que
generará el contenido de manera dinámica (por ejemplo obteniendo información de
una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se
lo envía al cliente. Mediante extensiones es también posible la generación de archivos
PDF, Flash, así como imágenes en diferentes formatos.
Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL,
PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.
PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas
operativos, tales como Unix (y de ese tipo, como Linux o Mac OS X) y Microsoft Windows, y
puede interactuar con los servidores de web más populares ya que existe en versión CGI,
módulo para Apache, e ISAPI.
PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# y Visual
Basic .NET como lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java y a CGI/Perl.
Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia
GNU, existe además un entorno de desarrollo integrado comercial llamado Zend Studio.
CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado
un entorno de desarrollo integrado para PHP, denominado 'Delphi for PHP. También
existen al menos un par de módulos para Eclipse, uno de los entornos más populares.1
Características
Orientado al desarrollo de aplicaciones web dinámicas con acceso a información
almacenada en una base de datos.
El código fuente escrito en PHP es invisible al navegador web y al cliente ya que es
el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al
navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
8. 8
Capacidad de expandir su potencial utilizando módulos (llamados ext's o
extensiones).
Posee una amplia documentación en su sitio web oficial, entre la cual se destaca
que todas las funciones del sistema están explicadas y ejemplificadas en un único
archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite aplicar técnicas de programación orientada a objetos.
Biblioteca nativa de funciones sumamente amplia e incluida.
No requiere definición de tipos de variables aunque sus variables se pueden
evaluar también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la
hora de programar (muchos otros lenguajes tampoco lo hacen), aun haciéndolo,
el programador puede aplicar en su trabajo cualquier técnica de programación o
de desarrollo que le permita escribir código ordenado, estructurado y manejable.
Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de
diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y
acceso a los datos, la lógica de control y la interfaz de usuario en tres
componentes independientes.
Inconvenientes
Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede
resultar un inconveniente que el código fuente no pueda ser ocultado. La
ofuscación es una técnica que puede dificultar la lectura del código pero no
necesariamente impide que el código sea examinado.
Debido a que es un lenguaje interpretado, un script en PHP suele funcionar
considerablemente más lento que su equivalente en un lenguaje de bajo nivel, sin
embargo este inconveniente se puede minimizar con técnicas de cache tanto de
en archivos y memoria.
Las variables al no ser tipadas dificulta a los diferentes IDEs para ofrecer asistencias
para el tipeado del código, aunque esto no es realmente un inconveniente del
lenguaje en sí. Esto es solventado por Zend Studio añadiendo un comentario con
el tipo a la declaración de la variable.
9. 9
XAMPP, LAMP, WAMP
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.
LAMP presenta una funcionalidad parecida a XAMP, pero enfocada en Linux, y WAMP lo
hace enfocado en Windows.
3. METODOLOGÍA
Para el proceso del Sistema se empleará la metodología RUP: Proceso Unificado de
RATIONAL.
El desarrollo se llevará a cabo en base a las fases que contempla la metodología que son: inicio,
elaboración, construcción y transición, cada una con una sola iteración.
La metodología empleada en el presente proyecto, es una adaptación del Rational Unified Process
(RUP - Proceso Unificado de Desarrollo de Software), el cual es un proceso de análisis y diseño
orientado a objetos, la más completa y disciplinada forma de asignar tareas y responsabilidades en
un proyecto en desarrollo.
El Proceso Unificado es definido como un proceso de desarrollo de software. El proceso de
ingeniería de software se define como "un conjunto de etapas parcialmente ordenadas con la
intención de lograr un objetivo, en este caso, la obtención de un producto de software de calidad".
El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en
requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado
en código, el código es probado, documentado y certificado para su uso operativo".
Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto
objetivo"5.
El proceso unificado actúa como un modelo que puede adaptarse a cualquier tipo de proyecto y
empresa. Las características del proceso unificado de modelado son:
Centrado en los Modelos: Los diagramas son un vehículo de comunicación más expresivo
que las descripciones en lenguaje natural. Se trata de minimizar el uso de descripciones y
especificaciones textuales del sistema.
Guiado por lo casos de uso: Los casos de uso son el instrumento para validar la arquitectura
del software y extraer los casos de prueba.
Centrado en la arquitectura: Los modelos son proyecciones del análisis y el diseño
constituye la arquitectura del producto a desarrollar.
5 BOOCH, JACOBSON & RUMBAUGH. “El Proceso Unificado de Desarrollo de Software”. Adison Wesley. 2001
10. 10
Iterativo e incremental: Durante todo el proceso de desarrollo se producen versiones
incrementales (que se acercan al producto terminado) del producto en desarrollo.
RUP emplea de una manera eficaz el lenguaje UML, se centra en la producción y
mantenimiento de modelos del proceso del sistema y aumenta la productividad de los
desarrolladores otorgándoles herramientas y plantillas, así como acceso a una sólida base de
conocimientos.
En el desarrollo de sistemas actuales no es posible utilizar metodologías como el de
cascada o estructurada, debido a la complejidad natural de los sistemas. RUP describe cómo
capturar los requisitos y éstos si son funcionales se representan en modelos visuales utilizando la
notación UML.
El modelamiento es el marco o estructura de cómo se deberán hacer los procedimientos,
páginas Webs, funciones, etc., con el fin que sean desarrollados en las siguientes etapas:
Construcción e implementación. Por tanto el Modelamiento comprende tres de las más
importantes etapas en el desarrollo del Software: Planeamiento, Análisis y Diseño.
El análisis de estas tres etapas se evalúan en tres capítulos los cuales son: Modelo del
Negocio, Modelo de Requisitos y Análisis y Diseño.
Planeamiento Modelo del Negocio
Análisis Modelo de Requisitos
Diseño Análisis y Diseño
Unified Modeling Language (UML)
Unified Modeling Language (UML), es un lenguaje de modelado unificado basado en una
notación grafica la cual permite especificar, construir, visualizar y documentar los objetos de un
sistema programado. UML modela sistemas mediante el uso de objetos que forman parte de él, así
como, las relaciones estáticas o dinámicas que existen entre ellos.
UML es la respuesta de OMG (Object Managmnet Group) para definir una notación
estándar para el modelado de las aplicaciones construidas mediante objetos. UML es una
notación, no una metodología.
UML pretende trabajar correctamente con todos o al menos con la mayoría de los
procesos de desarrollo existente. UML incluye todos los conceptos que son considerados necesarios
para utilizar un proceso moderno iterativo, basado en construir una sólida arquitectura para resolver
requisitos dirigidos por caso de uso.
UML combina notaciones provenientes desde:
Modelado Orientado a Objetos.
Modelado de Datos
Modelado de Componentes
Modelado de Flujos de Trabajo (WorkFlows)
UML es un lenguaje de modelado para la especificación, visualización, construcción y
documentación de los artefactos de un proceso intensivo
11. 11
Especifica el sistema de software y ayuda a construir modelos completos, precisos, sin
ambigüedades
Construye modelos de sistemas de software que pueden comunicarse directamente con
una variedad de lenguajes de programación. Documenta los modelos del sistema de software,
incluyendo requerimientos del sistema, durante los estados de desarrollo y despliegue.
UML Proporciona a los usuarios un lenguaje de modelado visual, expresivo y utilizable para
el desarrollo e intercambio de modelos significativos6.
Diagramas UML
Varias vistas UML incluyen diagramas que proveen múltiples perspectivas de la solución que
está siendo desarrollada: Diagramas de Clase, Objetos, Casos de Uso, Componente, Despliegue,
Colaboración, Secuencia y Estado.
4. CRONOGRAMA
6 TABOADA JIMÉNEZ, ALBERTO. “Análisis de Procesos y Datos usando IDEF y la Notación UML”. GrapPeru SAC.
2005
FASES
16 ‐ Abril al 30 01 ‐ Mayo al 15 16 ‐Mayo al 31 01 ‐ Junio al 15 16 ‐ Junio al 30 01 ‐ Julio al 31
semana
1
semana
2
semana
3
semana
4
semana
5
semana
6
semana
7
semana
8
semana
9
semana
10
semana
11‐12
semana
13‐14
INICO
Modelado del negocio. X
Modelado de Requerimientos X
ELABORACIÓN
Análisis y Diseño X X X X
CONSTRUCCIÓN
Implementación X X X X X
TRANSICIÓN
Resultados y Discusión X
12. 12
5. REFERENCIAS BIBLIOGRAFICAS
Bibliografía
SERGIO LUJÁN MORA (31 de octubre de 2002), Programación de aplicaciones web: historia,
principios básicos y clientes web. Alicante.
ELENA LÓPEZ ORTEGA (octubre de 2009), Uso de las herramientas de la web 2.0 en la empresa:
situación actual y tendencias. Universidad Autónoma de Madrid.
BOOCH, JACOBSON & RUMBAUGH. “El Proceso Unificado de Desarrollo de Software”.
Adison Wesley. 2001
TABOADA JIMÉNEZ, ALBERTO. “Análisis de Procesos y Datos usando IDEF y la Notación
UML”. GrapPeru SAC. 2005
Web grafía
INFORMACION RECOGIDA DE INTERNET, Arquitectura WEB,
http://www.inteligenciaweb.com/diseno-paginas-web/arquitectura-web.htm
INFORMACION RECOGIDA DE INTERNET, PHP, http://es.wikipedia.org/wiki/PHP