UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA
SISTEMA DE INFORMACIÓN PARA LA FACTURACIÓN DE TRANSPORTE INTERDEPARTAMENTAL EL DORADO (SIFTID)
MATERIA
:
INF - 162
DOCENTE
:
LIC. Miguel Cotaña
INTEGRANTES
FECHA
: - Gutiérrez Canasa Martin -
Llanos Mamani Grover Roberto
-
Mendoza Mendoza Luis Alberto
:
26 de Septiembre
TABLA DE CONTENIDOS CAPITULO 1
Pág.
1.1 INTRODUCCION 1.2 ANTECEDENTES 1.3 PLANTEAMIENTO DE PROBLEMAS 1.4 OBJETIVO GENERAL 1.4.1 OBJETIVOS ESPECIFICOS 1.5 ALCENCES 1.6 JUSTIFICACION 1.6.1 JUSTIFICACION ECONOMICA 1.6.2 JUSTIFICACION TÉCNICA 1.6.3 JUSTIFICACION SOCIAL 1.7 METODOS DE INVESTIGACION 1.7.1 INVESTIGACION CUALITATIVO 1.7.2 INVESTIGACION CUANTITATIVA
1 1 1 2 2 3 3 3 3 3 4 4 4
CAPITULO 2 2. MARCO TEORICO 2.1 ANTECEDENTES ANTECEDENTES DE LA ORGANIZACIÓN VISION MISION 2.2 INGENIERÍA DE REQUERIMIENTOS 2.2.1 FASES DE IMPLEMENTACIÓN 2.2.2 PROCESO UNIFICADO DE RACIONAL (RUP) 2.4 PARADIGMAS DE DESARROLLO
5 5 5 5 5 6 6 6
2.4.1 PROGRAMACION ORIENTADO A OBJETOS
7
CAPITULO 3 3. PLAN DE LAS FASES 3.1.1FASE DE INICIO 3.1.2 PLANIFICACIÓN DE LA FASE DE INICIO 3.1 FASE DE ELABORACION CONCLUSIÓN RECOMENDACIONES REFERENCIAS
9 10 10 10 1 1 1
1
CAPITULO 1 INTRODUCCION 1.1
INTRODUCCION
Hoy en día una de las razones fundamentales para que una empresa llegue a ser líder en el mercado es por el buen manejo de su información, así como la correcta automatización de procesos que la hagan más competitiva. Las empresas manejan grandes volúmenes de información, imposibles de manipularlas manualmente con eficiencia, es así que las empresas han optado por implementar sistemas de información computarizadas, que sean óptimos, que cumplan con los requerimientos y además este desarrollados con tecnologías actuales, tanto en las metodologías de desarrollo, como en los lenguajes de programación. Estos sistemas de información deben ser capaces de ayudar al desarrollo de las empresas, así como aumentar su competitividad en el mercado, para así poder llevar a las empresas al cumplimiento de sus objetivos y metas. Las empresas dedicadas al transporte interdepartamental no pueden quedar al margen de este fenómeno mundial, debido al duro mercado que que afrontan, a la precisión de información que requieren. La empresa de TRANSPORTE INTERDEPARTAMENTAL no queda indiferente al avance de la tecnología, es por eso que teniendo una visión a futuro, ha optado por la implementación de un software que le permitan automatizar sus principales procesos y el control de operaciones. La implementación de este software permitirá a la empresa tener un mejor control y seguimiento de los procesos mencionados, dando como resultado una información rápida y confiable, ahorrando tiempo y dinero.
1.2
ANTECEDENTES
Para brindar sus servicios actualmente la empresa carece de un sistema de información, los procesos y el manejo de la información se hace manualmente y el almacenamiento de la información se realiza en folios de acuerdo a métodos utilizados por empleados (alfabéticamente, por fecha, por uso). Este manejo de la información produce muchos inconvenientes a la empresa ya que conlleva un sin fin de problemas como: demorar la venta de pasajes, desorganización en el envío y entrega de encomiendas, perdida de información, perdida de tiempo en la repetición de procesos, mal control de horarios, falta de control de buses. LA empresa no cuenta con ningún tipo de computador ni otro tipo de tecnología que permita la implementación de un sistema
2
1.3
PLANTEAMIENTO DE PROBLEMAS
Los problemas fundamentales identificados se describen en el siguiente árbol de problemas y soluciones:
Numero 1
Problema
Solución
No se cuenta con información veraz, rápida, oportuna, coherente ni significativa
2
Retraso en la venta de boletos así como errores de duplicación en la asignación de asientos, mala asignación de bus, sobrecarga de buses o incorrecto llenado
Es posible contar con información veraz, rápida, coherente, significativa, confiable y actualizada de la empresa, desarrollando un sistema computarizado sustentada por una base de datos propia y un entorno visual amigable al usuario, de fácil comprensión y manejo para ser utilizada en la toma de decisiones y el control de los procesos que la empresa realiza Con la construcción del nuevo sistema y su implementación se podrá proporcionar una herramienta para la rápida generación e impresión de un boleto así como la automatización de la asignación en el bus y el asiento
3
Errores en el llenado de la factura en forma manual y la repetición de solicitud de datos del cliente
4
Falta de un control serio y fiable en la llegada y salida de buses así como los pasajeros que van en el y las encomiendas
El sistema a implementarse brindara una herramienta que facilite el llenado y la impresión de la factura, así como almacenar la información de clientes en la base de datos para el llenado automático de algunos campos de la factura El sistema que se pretende implementar registrara las salidas tanto de llegada como salida, los pasajeros en cada bus, las encomiendas y será capaz de calcular la hora de
3
5
control inadecuada encomiendas
6
Fallas en cuentas de cajas tanto de venta de pasajes, como de encomiendas
7
Falta de centralización información
de
de
Tabla 1.1 1.4
la
llegada a su destino El sistema brindara mecanismos que permitan al usuario ver listas de encomiendas recibidas, enviadas, fechas de llegadas, así como observaciones en las mismas Con reportes periódicos el nuevo sistema presentara los totales de ingresos a la empresa. Se creara un sistema capaz de funcionar en redes de conexión que permitan compartir la información entre empleados y así poder generar información actualizada para una mejor atención
OBJETIVO GENERAL
Desarrollar e implementar un sistema de información que permita permita la facturación de una empresa de transporte.
1.4.1 OBJETIVOS ESPECIFICOS
Desarrollar una aplicación que permita la venta de boletos. Desarrollar una aplicación que permita el control de encomiendas. Construir una base de datos que contenga información de los clientes, empleados, buses y fechas .Para la alimentación del sistema, así como la generación de reportes. Desarrollar una aplicación que genere reportes periódicos de ingresos de efectivo a la empresa. Instalar una red para el funcionamiento de terminales de manera sincronizada.
1.5 ALCANCES El presente trabajo tendrá los siguientes alcances: Será desarrollado hasta lograr su funcionamiento en la empresa. Automatización de la emisión de facturas, boletos, recibos de encomiendas para la empresa. Control de totales de ventas en determinados periodos, así como control de llegadas.
4
Problemas que excedan el control de la empresa y sean de responsabilidad de las terminales no se tomaran en cuenta. No se tomara en cuenta procesos que no se tomaron en cuenta en el árbol de problemas
Los aportes que con este trabajo se pretenden lograr: Cubrir las necesidades que la empresa presente en sus diferentes tareas. La información del sistema será eficiente, precisa y confiable. Aporte a futuros proyectos sobre empresas de transporte que puedan ser desarrollados por otros alumnos, brindando una base para la construcción de nuevos sistemas o mejoras a este.
1.6 JUSTIFICACION 1.6.1 JUSTIFICACION TÉCNICA El sistema planteado permitirá soportar adecuadamente los posibles cambios y adiciones de nuevos módulos de operación debido a su flexibilidad. Así podrá crecer junto con la empresa o servir también para pequeñas sucursales que la empresa decida abrir en un futuro.
1.6.2 JUSTIFICACION ECONOMICA El proyecto se justifica económicamente ya que el costo de desarrollo para la empresa es mínimo y los beneficios que obtendrá la empresa con su implementación es alto. Como ya se describió actualmente la empresa afronta perdidas de tiempo, dinero, como de efectividad. El software permitirá la mejora tangible en los procesos de la empresa.
1.6.3 JUSTIFICACION SOCIAL El proyecto se justifica socialmente ya que permite crecer y mejorar a la empresa. Así como permite un manejo eficiente en el manejo de la información produciendo un mejor ambiente de trabajo y control para los empleados. Se justifica también socialmente por la mejora en la atención a los clientes de la empresa reduciendo tiempos de espera y errores en la documentación emitida para estos.
1.7 METODOS DE INVESTIGACION Para el desarrollo del presente trabajo se utilizara el modelo UML Orientado a Objetos y el método a emplearse es el RUP.
5
1.7.1 INVESTIGACION CUALITATIVA Se opto como método de investigación cualitativa el siguiente método: Investigación participativa. Se realizo visitas en las cuales se pudo observar la interacción social de los empleados.
1.7.2 INVESTIGACION CUANTITATIVA Se opto como método de investigación cuantitativa por el siguiente Investigación descriptiva. Ya que se realizo un estudio de los procesos que actualmente contaba la empresa.
6
CAPITULO 2 MARCO TEORICO 2.1
ANTECEDENTES DE LA ORGANIZACION
La empresa “Diamante”, fue creada el 26 de julio de 1995 bajo iniciativa del Sr. Pablo Medina Jiménez, con el objetivo de brindar servicios de transporte tanto de pasajeros como de encomiendas a distintos departamentos del país.
Aunque como nació como una pequeña empresa familiar, hoy en día se ha llegado a convertir en una importante empresa en su rubro que sigue y proyecta un crecimiento veloz dentro del transporte. La empresa “Diamante” para el mejor cumplimiento de tareas se divide en áreas funcionales: Dueño, Gerencia general, Administración financiera, Servicios. La relación y organización esta dada por el organigrama de la figura 1.1
DESTINOS: La empresa brinda sus servicios desde-hacia diferentes ciudades capitales de departamento de Bolivia estas son: La Paz Oruro Potosí Sucre Cochabamba Tarija Santa Cruz
VISION Hacer que “El Dorado” sea una empresa de reconocido prestigio nacional, con autonomía administrativa, con excelencia en brindar servicios de excelente calidad y en donde el mejoramiento continuo en todas las áreas sean de agrado a nuestros clientes, de eficiente gestión, competitiva, con alianzas estratégicas en el ámbito nacional e internacional, comprometida con el servicio al cliente, la formación integral de su recurso humano y tecnológico. Y ser un ejemplo para la sociedad a lo que se refiere en buen servicio.
MISION La empresa “Diamante” brinda servicios de transporte interdepartamental de pasajeros, envío y recepción de encomiendas a todos sus usuarios de las diferentes ciudades capitales de departamento en las que opera.
7
2.2 INGENIERÍA DE REQUERIMIENTOS REQUERIMIENTOS La Ingeniería de requerimientos requerimientos comprende todas las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisfacer para un software nuevo o modificado, tomando en cuenta los diversos requerimientos de los inversores, que pueden entrar en conflicto entre ellos. Puede ser conocida también como "Análisis de requerimientos", "especificación de requerimientos", etc.
El propósito de la ingeniería de requerimientos es hacer que los mismos alcancen un estado óptimo antes de seguir adelante con el proyecto. Los buenos Requerimientos deben ser
2.2.1 FASES DE IMPLEMENTACION Desde un punto de vista conceptual, las actividades son de 5 clases.
Obtener requerimientos: A través de entrevistas o comunicación con clientes o usuarios, para saber cuáles son sus deseos. Analizar requerimientos: Detectar y corregir las falencias comunicativas, transformando los requerimientos obtenidos de entrevistas y requerimientos, en condiciones apropiadas para ser tratados por el diseño. Documentar requerimientos: Igual que todas las etapas, los requerimientos deben estar debidamente documentados. Verificar los requerimientos: Consiste en comprobar el correcto funcionamiento de un requerimiento en la aplicación Validar los requerimientos: Comprobar que los requerimientos implementados se corresponden con lo que inicialmente se pretendía.
2.2.2 PROCESO UNIFICADO UNIFICADO DE RACIONAL (RUP) RUP es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo a necesidades. El RUP divide el proceso de desarrollo en ciclos, teniendo un producto final al culminar cada una de ellos, estos a la vez se dividen en fases que finalizan con un hito donde se debe tomar una decisión importante:
8
Concepción: se hace un plan de fases, se identifican los principales casos de uso y se identifican los riesgos Elaboración: se hace un plan de proyecto, se completan los casos de uso y se eliminan los riesgos Construcción: se concentra en la elaboración de un producto totalmente operativo y eficiente y el manual de usuario Transición: se Instala el producto en el cliente y se entrena a los usuarios. Como consecuencia de esto suelen surgir nuevos requisitos a ser analizados. Mantenimiento: una vez instalado el producto, el usuario realiza requerimientos de ajuste, esto se hace de acuerdo a solicitudes generadas como consecuencia del interactuar con el producto.
2.3 Paradigmas de Desarrollo Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language ) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; aún cuando todavía no es un estándar oficial, está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables.
Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional), pero no especifica en sí mismo qué metodología o proceso usar. UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.
PROGRAMACIÓN ORIENTADA A OBJETOS La Programación Orientada a Objetos ) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo, y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:
9
Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase. Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas, (de c a d),Es la facilidad mediante la cual la clase D ha definido en ella cada uno de los atributos y operaciones de C, como si eso atributos y operaciones hubiesen sido definidos por las misma D. Método: algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema. Evento: un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera. Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. Propiedad o atributo : contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método. Estado interno : es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). Componentes de un objeto : atributos, identidad, relaciones y métodos. Representación de un objeto : un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable", no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.
10
CAPITULO 3 3.1 PLAN DE LAS FASES El desarrollo se llevará a cabo en base a fases con una o más iteraciones en cada una de ellas. La siguiente tabla muestra una la distribución de tiempos de cada fase (para las fases de Construcción y Transición es sólo una aproximación muy preliminar)
Fase
Nro. Iteraciones Duración
Fase de Inicio
2
2 semana
Fase de Elaboración
1
1 semana
Fase de Construcción
2
3 semana
Fase Transición
1
4 días
de
Los hitos que marcan el final de cada fase se describen en la siguiente tabla.
Descripción
Hito
Fase de Inicio
En esta fase desarrollarán los requisitos del producto desde la perspectiva del usuario, los cuales serán establecidos en el artefacto Visión. Los principales casos de uso serán identificados y se hará un refinamiento del Plan de Desarrollo del Proyecto. La aceptación del cliente /usuario del artefacto Visión y el Plan de Desarrollo marcan el final de esta fase.
Fase Elaboración
de
En esta fase se analizan los requisitos y se desarrolla un prototipo de arquitectura (incluyendo las partes más relevantes y / o críticas del sistema). Al final de esta fase, todos los casos de uso correspondientes a requisitos que serán implementados en la primera parte de la fase de Construcción deben estar analizados y diseñados (en el Modelo de Análisis / Diseño). La revisión y aceptación del prototipo de la arquitectura del sistema marca el final de esta fase. En nuestro caso particular, por no incluirse las fases siguientes, la revisión y entrega de todos los artefactos hasta este punto de desarrollo también se incluye
11
como hito. La primera iteración tendrá como objetivo la identificación y especificación de los principales casos de uso, así como su realización preliminar en el Modelo de Análisis / Diseño, también permitirá hacer una revisión general del estado de los artefactos hasta este punto y ajustar si es necesario la planificación para asegurar el cumplimiento de los objetivos. Ambas iteraciones tendrán una duración de una semana. Fase de Construcción
Durante la fase de construcción se terminan de analizar y diseñar todos los casos de uso, refinando el Modelo de Análisis / Diseño. Se comienza la elaboración de material de apoyo al usuario. El hito que marca el fin de esta fase es una versión , con la capacidad operacional parcial del producto que se haya considerado como crítica, lista para ser entregada a los usuarios para pruebas beta.
Fase Transición
En esta fase se asegura una implantación y cambio del sistema previo de manera adecuada, incluyendo el entrenamiento de los usuarios. El hito que marca el fin de esta fase incluye, la entrega de toda la documentación del proyecto con los manuales de instalación y todo el material de apoyo al usuario, la finalización del entrenamiento de los usuarios y el empaquetamiento del producto.
de
A continuación se presenta un resumen del las principales tareas del proyecto un sus distintas disciplinas variando en cada fase de trabajo a realizar: En la primera fase se realiza la planificación del negocio y requisitos. En la segunda fase se desarrolla el análisis y diseño tomando en cuenta los estudios realizados de los requerimientos. En la tercera fase se desarrolla la construcción de acuerdo al análisis de diseño realizado por anterioridad. En la cuarta fase se realiza las pruebas posibles de conclusión de la modificación y conclusión de la documentación.
3.1.1 FASE DE INICIO 3.1.2 PLANIFICACIÓN DE LA FASE DE INICIO En la siguiente tabla se muestra
la planificación de la fase de inicio que se
realizara aproximadamente en dos semanas. En esta primera fase se realiza la planificación del negocio y requisitos. Dentro de la fase de inicio se incluyen fases de la ingeniería de requerimientos
Tareas
Semana 1
Semana 2
12
Reunirse con los clientes Identificar
necesidades
X y
las X
limitaciones
X
Realizar encuestas con personas clave
X
Gestión de riesgos
X
Identificación de requisitos mediante
X
diagramas del UML
3.2 Fase de Elaboración
Figura 1
13
Figura 2
Figura 3
Figura 4
14
CONCLUSIÓN Como en un principio del proyecto se estableció realizar la programación en lenguaje java y una base de datos Oracle, al momento de implementar el modulo venta de pasajes se tropezó con la falta de librerías, para solucionar este problema acudimos a otra versión de lenguaje. El prototipo desarrollado aun necesita re-finamiento que ejecutara en las siguientes iteraciones del proyecto, actualmente cumple con un 80% de respuesta a los requisitos obtenidos con la ingeniería de requerimientos, en lo que respecta a venta de boletos, el modelo de componentes todavía esta sujeto a cambios y mejoras así como toda la arquitectura del proyecto, pero se logro generar un aplicativo que era lo que se esperaba.
REFERENCIAS Senn, James A. “Análisis y Diseño de Sistemas de Información”. Segunda
Edición. McGraw Hill. 1992.
Direcciones electrónicas sobre este tema IEEE Task Force on Requirements Engineering. http://www.shu.ac.uk/tfre/web.links.html Software Engineering Resources by Roger S. Pressman & Associates Inc. http://www.rspa.com/spi/index.html