• No se han encontrado resultados

Análisis y diseño de un Sistema Informático para mejorar el control del proceso de registro de comprobantes de compra y venta de la Empresa Constructora P&M S.A.C.

N/A
N/A
Protected

Academic year: 2020

Share "Análisis y diseño de un Sistema Informático para mejorar el control del proceso de registro de comprobantes de compra y venta de la Empresa Constructora P&M S.A.C."

Copied!
158
0
0

Texto completo

(1)

UNIVERSIDAD PRIVADA ANTONIO GUILLERMO URRELO

CARRERA PROFESIONAL DE INGENIERIA INFORMATICA Y DE SISTEMAS

“ANÁLISIS Y DISEÑO DE UN SISTEMA INFORMATICO PARA MEJORAR EL CONTROL DEL PROCESO DE REGISTRO DE COMPROBANTES DE

COMPRA Y VENTA DE LA“EMPRESA CONSTRUCTORA P&M S.A.C.”

TRABAJO DE INVESTIGACION

PARA OPTAR POR EL TITULO DE INGENIERO INFORMÁTICO Y DE SISTEMAS

PRESENTADO POR

Bach. Luis Adhemir Añazgo Delgado

(2)

COPYRIGHT © 2014 by Luis

Adhemir Añazgo Delgado

(3)

UNIVERSIDAD PRIVADA ANTONIO GUILLERMO URRELO FACULTAD DE DERECHO Y CIENCIA POLÍTICA

CARRERA PROFESIONAL DE INGENIERIA INFORMATICA Y DE SISTEMAS

APROBACIÓN DE TRABAJO DE INVESTIGACION PARA OPTAR TITULO DE INGENIERO INFORMÁTICO Y DE

SISTEMAS

“ANÁLISIS Y DISEÑO DE UN SISTEMA INFORMATICO PARA MEJORAR EL CONTROL DEL PROCESO DE REGISTRO DE COMPROBANTES DE COMPRA

Y VENTA DE LA “EMPRESA CONSTRUCTORA P&M S.A.C.”

Presidente:

Secretario:

Vocal:

(4)

DEDICATORIA

A Dios por darme la vida y fortaleza en los

momentos más difíciles de mi vida.

A mis padres y mi hermano por haberme

brindado su amor, valores, educación.

A mi abuela por ser mi mayor fuente de

aprendizajes y valores que tuve en mi vida.

A Paola mi razón de salir adelante y superar

(5)

AGRADECIMIENTO

A mi familia por su constante e inconmensurable apoyo, quienes contribuyen día a día a

esforzarme por ser mejor persona y un ejemplo para ellos.

Al señor Abraham Eusalio Portilla Mendoza, Gerente General de EMPRESA

CONSTRUCTORA P&M S.A.C. por su apoyo incondicional y brindarme las

(6)

PRESENTACIÓN

Señores Miembros del jurado:

De acuerdo a lo establecido para la obtención del Título Profesional de Ingeniero

Informático y de Sistemas presento a vuestra consideración Miembros del Jurado el

siguiente informe titulado “ANÁLISIS Y DISEÑO DE UN SISTEMA

INFORMÁTICO PARA MEJORAR EL CONTROL DEL PROCESO DE REGISTRO

DE COMPROBANTES DE COMPRA Y VENTA DE LA “EMPRESA

CONSTRUCTORA P&M S.A.C.” ”.

El presente informe, lo propongo para que sea analizado con la finalidad de ser

sometido a evaluación y se emita el dictamen respectivo.

Cajamarca, Julio del 2014

(7)

RESUMEN

El presente trabajo de investigación se ha realizado para el control de comprobantes de

compra y ventas de la EMPRESA CONSTRUCTORA P&M S.A.C. ubicada en la

Ciudad de Chimbote realizándose estudios previos sobre la problemática, los procesos

críticos, pasando por el análisis y diseño siguiendo los lineamientos de la metodología

de desarrollo ágil eXtreme Programming (XP) y finalizando con la construcción de un

prototipo funcional llamado "Sistema de Control de Comprobantes de Compra y Venta"

que va a permitir en un futuro controlar todos los comprobantes de compra y venta

emitidos y recibidos por conceptos de las actividades de obra realizadas, brindando a los

distintos usuarios que utilicen dicha aplicación, acceso rápido, ágil, fácil de entender y

oportuna para poder tener una rápida y oportuna decisión respecto al control de dichos

comprobantes.

Para la elaboración del prototipo funcional del Sistema de Control de Comprobantes de

Compra y Venta se ha utilizado eXtreme Programming (XP) por ser una metodología

centrada en el usuario, rápida, haciendo que este forme parte del equipo de desarrollo.

La aplicación de este proyecto será implementado haciendo uso de los lenguajes de

programación JavaServer Faces, Spring Framework y utilizará como repositorio de

datos a MySQL. Las herramientas de desarrollo a utilizar serán de software libre e

incluirán: ArgoUML, Power Designer.

Con la elaboración del prototipo de Sistema de Control de Comprobantes de Compra y

Venta se busca generar un prototipo funcional que sea útil, de fácil uso, entendimiento y

muy confiable que permita evaluar su funcionamiento real y así obtener los resultados

(8)

ABSTRACT

This research work has been done to control proof of purchase and sales of P & M

CONSTRUCTION COMPANY SAC Chimbote previous studies carried out on the

problem, critical processes, through the analysis and design following the guidelines of

the agile development methodology eXtreme Programming (XP) and ending with the

construction of a functional prototype called "Control System Voucher Buy and Sell

"which will allow in the future to control all buying and selling vouchers issued and

received by concepts of work activities performed, giving different users using that

application, quick, agile, easy to understand and access timely to have a quick and

timely decision regarding the control of these vouchers.

To prepare the working prototype of the Control System of Proof of Purchase and Sale

was used eXtreme Programming (XP) methodology for being user-centric, fast, making

this part of the development team. The implementation of this project will be

implemented using programming languages JavaServer Faces, Spring Framework and

used as a data repository to MySQL. The development tools are free to use software and

include: ArgoUML, Power Designer.

With the development of the prototype control system Proof of Purchase and Sale is to

generate a reliable functional prototype that is useful, easy to use, understanding and to

evaluate its actual performance and get the results for the control of receipts, providing

delivery of timely and accurate information, as this will serve to make better decisions

(9)

INTRODUCCIÓN

El presente informe de tiene por objeto la aplicación de los conocimientos adquiridos

durante mi formación académica universitaria dentro del marco empresarial, para el

caso en la “EMPRESA CONSTRUCTORA P&M S.A.C.”, y plasmarlo mediante la

Metodología XP, para la futura implementación y puesta en marcha del sistema

informático.

El presente proyecto de estudio surge de la necesidad de realizar un control del registro

de comprobantes de compra y venta de manera eficiente en el área de contabilidad de

EMPRESA CONSTRUCTORA P&M S.A.C. de tal forma que se pueda tener un mejor

verificación de entradas y salidas de sus recursos económicos.

También permitiendo obtener información confiable, rápida y actualizada de los

comprobantes que están por pagar y cobrar así también como su respectiva fecha,

cantidad y proveedor o cliente.

A continuación resumiré el presente trabajo por capítulos:

En el capítulo I: La Institución

En este capítulo se definen las generalidades de la empresa, objetivos generales,

objetivos específicos, estructura orgánica, misión, visión.

En el capítulo II: El Problema

En este capítulo se describe la realidad problemática, análisis de la problemática, la

(10)

En el capítulo III: Marco Teórico

En este capítulo se describen todas las teorías utilizadas para el desarrollo de esta

investigación.

En el capítulo IV: Aplicación de la Metodología XP

En este capítulo se realiza el desarrollo del prototipo funcional del sistema.

En el capítulo V: Viabilidad del Sistema

En este capítulo se describe la viabilidad del sistema informático.

En el capítulo VI: Conclusiones y Recomendaciones

En este capítulo se detallan las conclusiones generales, específicas y recomendaciones.

Referencias

(11)

INDICE

Pág.

DEDICATORIA I

AGRADECIMIENTO II

PRESENTACION III

RESUMEN IV

ABSTRACT V

INTRODUCCION VI

LISTA DE TABLAS XVI

LISTA DE FIGURAS XVII

CAPITULO I

LA INSTITUCIÓN

1.1.NATURALEZA 1

1.1.1. Nombre o Razón Social 1

1.1.2. Finalidad 1

1.1.3. Objetivos 1

1.1.3.1. Objetivo General 1

(12)

1.2.2. Base Legal 3

1.2.3. Ubicación Geográfica 3

1.2.4. Estructura Orgánica 3

1.2.4.1. Alta Dirección 4

1.2.4.2. Dirección Intermedia 4

1.2.4.3. Estructura de Apoyo 4

1.2.5. Organigrama 5

1.2.6. Funciones 5

1.2.6.1. Alta Dirección 5

1.2.6.2. Dirección Intermedia 6

1.2.6.3. Estructura de Apoyo 6

1.3.MISION 7

1.4.VISION 7

1.5.DIAGNOSTICO INFORMÁTICO 8

1.5.1. Hardware 8

1.5.2. Software 9

CAPITULO II

EL PROBLEMA

2.1. PROBLEMA 10

2.1.1. Realidad Problemática 10

(13)

2.3. OBJETIVO 12

2.3.1. Objetivo General 12

2.3.2. Objetivos Específicos 13

2.4. JUSTIFICACIÓN E IMPORTANCIA 13

2.4.1. Justificación 13

2.4.2. Importancia 14

CAPITULO III

MARCO TEÓRICO

3.1. SISTEMA 15

3.1.1. Definición 15

3.1.2. Clasificación de los Sistemas 16

3.1.2.1. Según su relación con el medio ambiente 16

3.1.2.2. Según su Naturaleza 17

3.1.2.3. Según su Origen 17

3.1.2.4. Según sus Relaciones 18

3.1.2.5. Según su Cambio con el Tiempo 18

3.1.2.6. Según el Tipo de Variables que lo Definen 19

3.1.2.7. Otras Clasificaciones 19

3.2. SISTEMA DE INFORMACION 19

(14)

3.2.2.2. Sistema de Información Gerencial 21

3.2.2.3. Sistema de Soporte a Decisiones 21

3.2.2.4. Sistema de Información Ejecutiva 21

3.2.3. Sistemas de Gestión 22

3.2.4. Aplicaciones de Escritorio 22

3.3. LENGUAJES DE PROGRAMACION 22

3.3.1. JavaServer Faces 24

3.3.2. RichFaces 27

3.3.3. Spring Framework 27

3.3.4. Spring Security 28

3.3.5. JPA + Hibernate 29

3.4. METODOLOGIAS DE DESARROLLO DE SOFTWARE 30

3.4.1. Definición 30

3.4.2. Metodologías Agiles de Desarrollo 31

3.4.2.1. Definición 31

3.4.2.2. Programación Extrema 32

3.5. BASE DE DATOS 35

3.5.1. Definición 35

3.5.2. Sistemas Gestores de Base de Datos 35

3.5.2.1. Definición 35

3.5.2.2. MYSQL 37

3.6. SOFTWARE GRATIS (FREEWARE) 37

3.6.1. Definición 37

3.6.1.1. Software de Desarrollo Gratuito 37

(15)

3.7.1. Definición 38

3.7.2. Objetivos de XP 39

3.7.3. Variables de XP 39

3.7.3.1. Coste 39

3.7.3.2. Tiempo 39

3.7.3.3. Calidad 40

3.7.3.4. Ámbito 40

3.7.4. Los Valores de XP 41

3.7.4.1. Comunicación 41

3.7.4.2. Sencillez 42

3.7.4.3. Retroalimentación 42

3.7.4.4. Valentía 42

3.7.5. Actividades Básicas de XP 43

3.7.5.1. Codificar 43

3.7.5.2. Hacer Pruebas 43

3.7.5.3. Escuchar 43

3.7.5.4. Diseñar 44

3.7.6. Las Fases de XP 45

3.7.6.1. Planificación del Proyecto 45

3.7.6.1.1. Historias de Usuario 45

3.7.6.1.2. Tareas de Ingeniería 46

3.7.6.1.3. Iteraciones 46

3.7.6.2. Diseño 47

(16)

3.7.6.3. Desarrollo 49

3.7.6.4. Pruebas 51

3.7.6.4.1. Test de Aceptación 52

3.8. ANTECEDENTES 53

3.9. MARCO CONCEPTUAL 54

3.10.HIPOTESIS 54

3.11.METODO DE INVESTIGACION 55

3.11.1.Tipo de Investigación 55

3.11.2.Diseño de Investigación 55

3.11.3.Área de Investigación 55

3.11.4.Población 55

3.11.5.Muestra 56

3.11.6.Técnicas e Instrumentos de Recolección de Datos 56

3.11.6.1.Técnicas 56

3.11.6.2.Instrumentos 56

3.11.7.Metodología de Investigación 56

CAPITULO IV

APLICACIÓN DE LA METODOLOGIA XP

4.1. FASE I: PLANIFICACION 58

4.1.1. Historias de Usuario 61

(17)

4.1.4. Iteraciones 85

4.1.5. Rotaciones 86

4.1.6. Reuniones 86

4.2. FASE II: DISEÑO 86

4.2.1. Metáfora Del Sistema 86

4.2.2. Tarjetas C.R.C. 89

4.2.3. Soluciones Puntuales 91

4.2.4. Reuniones 92

4.2.5. Funcionalidad Mínima 92

4.2.6. Reciclaje 93

4.3. DIAGRAMAS 93

4.3.1. Modelado de Negocio 94

4.3.2. Caso de Uso del Sistema 95

4.3.3. Casos de Uso 96

4.3.4. Diagrama de la Base de Datos 108

4.3.5. Diagrama de Despliegue 109

4.3.6. Diagrama de Componentes 110

4.3.7. Interfaces 111

CAPITULO V

(18)

5.1.2. Factibilidad Económica 120

5.1.3. Factibilidad Operativa 121

5.2. COSTOS Y BENEFICIOS DEL SISTEMA PROPUESTO 121

5.2.1. Costos de Desarrollo del Sistema 121

5.2.2. Costos de Mantenimiento del Sistema 122

5.2.3. Beneficios 123

5.2.4. Análisis Económico 126

5.3. RESULTADOS Y DISCUSION 127

5.3.1. Resultados 127

5.3.2. Discusión 127

CAPITULO VI

CONCLUSIONES Y RECOMENDACIONES

6.1. CONCLUSIONES GENERALES 128

6.2. CONCLUSIONES ESPECIFICAS 128

6.3. RECOMENDACIONES 129

REFERENCIAS

A. BIBLIOGRAFIA 131

(19)

LISTA DE TABLAS

Nº Título de la Tabla Pág. Tabla N 01: Características de la Computadora 8 Tabla N 02: Características de la Impresora 8 Tabla N 03: Características del Modem 9 Tabla N 04: Características del Software 9 Tabla N 05: Personas Relacionadas con el Sistema 60 Tabla N 06: Costos del Desarrollo del Sistema 122 Tabla N 07: Beneficios obtenidos del ahorro de tiempo 124

Tabla N 08: Beneficios Económicos 125

(20)

LISTA DE FIGURAS

Nº Título de la Figura Pág. Figura N 01: Organigrama de “EMPRESA CONSTRUCTORA P&M S.A.C.” 5 Figura N 02: Esquema Gráfico General De Un Sistema 16 Figura N 03: Reglas de Trabajo de XP 34 Figura N 04: Ejemplo de Historia de Usuario 46

Figura N 05: Tarjeta C.R.C. 48

Figura N 06: Test de Aceptación 53

Figura N 07: Fases de la Metodología XP 58

Figura N 08: Autenticar Usuario 61

Figura N 09: Diseño de la Interfaz de Autenticación 62

Figura N 10: Logueo de Usuario 62

Figura N 11: Gestionar Usuario del Sistema 63 Figura N 12: Diseño de la Interfaz para la Gestión de Usuarios 63

Figura N 13: Listar Usuarios 63

Figura N 14: Inserción De Usuarios 64

Figura N 15: Eliminación De Usuarios 64 Figura N 16: Modificación de Usuarios 65 Figura N 17: Gestionar Parámetros del Sistema 65 Figura N 18: Diseño de la Interfaz para la Gestión de Parámetros 65

Figura N 19: Listar Parámetros 66

(21)

Figura N 22: Modificación de Parámetros 67 Figura N 23: Gestionar Clientes y Proveedores 67 FIGURA N 24: Diseño de la Interfaz para la Gestión de Clientes y Proveedores 68 Figura N 25: Listar Clientes y Proveedores 68 Figura N 26: Inserción de Clientes y Proveedores 69 Figura N 27: Eliminación de Clientes y Proveedores 69 Figura N 28: Modificación de Clientes y Proveedores 70 Figura N 29: Gestionar Comprobantes de Compra y Venta 70 Figura N 30: Diseño de la Interfaz para la Gestión de Comprobantes de Compra y

Venta 70

(22)

Figura N 46: Eliminación De Documentos Sustentatorios 78 Figura N 47: Modificación de Documentos Sustentatorios 78 Figura N 48: Generar Reporte de Compras y Ventas 78 Figura N 49: Mostrar Reporte de Compras y Ventas de cada Obligación Mensual 79 Figura N 50: Generar Reporte de Compras y Ventas no Canceladas 79 Figura N 51: Mostrar Reporte de Compras y Ventas de cada Obligación Mensual que

aún no han sido Canceladas 80

Figura N 52: Generar Reporte de Pagos y Cobros Semanales 80 Figura N 53: Mostrar Reporte de los Pagos y Cobros que están por Realizarse en cada

Semana 81

Figura N 54: Generar Reporte de Doc. Sustentatorios sin Comprobantes Asignados 81 Figura N 55: Mostrar Reporte de Doc. Sustentatorios sin Comprobantes Asignados en

cada Semana 82

Figura N 56: Estimación de Esfuerzos 83 Figura N 57: Velocidad del Proyecto 84 Figura N 58: Tarjeta C.R.C. Conexión 89 Figura N 59: Tarjeta C.R.C. Usuario 89 Figura N 60: Tarjeta C.R.C. Parámetros 89 Figura N 61: Tarjeta C.R.C. Proveedores 90 Figura N 62: Tarjeta C.R.C. Comprobantes 90 Figura N 63: Tarjeta C.R.C. Documentos Sustentatorios 90 Figura N 64: Tarjeta C.R.C. Cronograma 91

Figura N 65: Modelado de Negocio 94

(23)
(24)
(25)

CAPITULO I

LA INSTITUCIÓN

1.1. NATURALEZA

1.1.1. Nombre o Razón Social:

”EMPRESA CONSTRUCTORA P&M S.A.C.”

1.1.2. Finalidad:

Ejecución y mantenimiento de obras civiles.

1.1.3. Objetivos:

1.1.3.1. Objetivo General:

 Brindar un servicio de alta calidad a sus clientes a fin de

satisfacer y mejorar sus necesidades ampliando el

posicionamiento en el mercado, mejorando la imagen y

servicios.

1.1.3.2. Objetivos Específicos:

 Satisfacer los requerimientos y necesidades de los clientes.

 Prestar servicios eficientes y de alta calidad.

 Mantener control en los procesos de la organización, con el

(26)

 Mejorar la calidad de los servicios prestados.

1.2. DESCRIPCION DE LA ORGANIZACION 1.2.1. Reseña Histórica

La “EMPRESA CONSTRUCTORA P&M S.A.C.”, es una empresa

familiar dedicada al rubro de la construcción, es una empresa constituida

el día 13 de Diciembre del 2006, conformada por los socios Abraham

Eusalio Portilla Mendoza y Tomas Francisco Portilla Mendoza.

Su origen se basa en la continuidad funcional y operativa en la Región

Ancash de emprendimientos empresariales, por lo que se considera

importante y valiosa la experiencia, ofreciendo servicios de construcción

de alta calidad.

Por lo tanto se constituye “EMPRESA CONSTRUCTORA P&M

S.A.C.”, con capital propio, es decir, sin requerimientos crediticios,

ofreciendo sus servicios al sector público y privado dentro del rubro de la

construcción de edificios, alquiler de equipos y maquinarias.

Ha volcado su experiencia en emprendimientos empresariales de obras

civiles, remodelación, adecuación, mantenimiento integral y todo lo

relacionado a la construcción tales como albañilería, instalaciones

(27)

1.2.2. Base Legal

Constitución y Estatutos de “EMPRESA CONSTRUCTORA P&M

S.A.C.”, realizada ante Notario Público Honorato W. Campos Iturrizaga.

Registro Único de Contribuyente (RUC) Nº 20445661687

1.2.3. Ubicación Geográfica

La “EMPRESA CONSTRUCTORA P&M S.A.C.” se encuentra ubicado

en:

Departamento : Ancash

Provincia : Santa

Distrito : Nuevo Chimbote

Urbanización : David Dasso

Calle : Mz E. Lt 23

1.2.4. Estructura Orgánica

La “EMPRESA CONSTRUCTORA P&M S.A.C.” tiene la siguiente

estructura orgánica:

Alta dirección.- Elemento que representa el papel de la dirección general

de la empresa o la función del empresario.

Dirección intermedia.- Elemento que representa el papel de los mandos

intermedios o de los ejecutivos o directivos de la línea jerárquica de la

(28)

Base operativa.- Elemento que recoge los centros operativos de la

empresa y el conjunto de personas (técnicos y trabajadores) que están

directamente relacionados con la producción y venta de los bienes y

servicios.

Tecnoestructura.- Elemento que representa el papel de los analistas,

especialistas o expertos en las distintas funciones de la dirección y de la

explotación.

Estructura de apoyo.- Elemento que integra el papel de los centros y de

los expertos que apoyan logísticamente y asesoran el desarrollo de las

actividades básicas y funciones directivas de la empresa.

1.2.4.1. Alta Dirección  Gerencia General

1.2.4.2. Dirección intermedia  Administración

o Recursos Humanos

o Contabilidad

 Asesoría Legal

1.2.4.3. Estructura de Apoyo  Logística

(29)

 Finanzas

 Informática

1.2.5. Organigrama

Figura 01: Organigrama de “EMPRESA CONSTRUCTORA P&M S.A.C.”

GERENCIA GENERAL

ADMINISTRACION

RECURSOS

HUMANOS CONTABILIDAD

ASESORIA LEGAL

LOGISTICA JEFATURA DE OBRAS FINANZAS INFORMATICA

Fuente: Elaboración propia

1.2.6. Funciones

La “EMPRESA CONSTRUCTORA P&M S.A.C.” tiene las siguientes

funciones:

1.2.6.1. Alta Dirección  Gerencia General

Dirigir, organizar, asesorar, supervisar y evaluar el

(30)

1.2.6.2. Dirección intermedia  Administración

Programar, dirigir, coordinar y supervisar las labores del

personal a su cargo.

o Recursos Humanos

o Coordinar y controlar la asistencia, puntualidad y

dedicación del personal de la institución.

o Contabilidad

o Operar las políticas, normas, sistemas y procedimientos

necesarios para garantizar la exactitud y seguridad en la

captación y registro de las operaciones financieras,

presupuestales de la entidad.

 Asesoría Legal

Analizar y estudiar expedientes de carácter legal y elaborar

los informes correspondientes.

1.2.6.3. Estructura de Apoyo  Logística

Gestionar, controlar y hacer el pago por adquisiciones de

recursos, bienes y servicios.

 Jefatura de Obras

Coordinar las actividades de mantenimiento preventivo y

correctivo de los bienes materiales e inmuebles, las

inspecciones de obras y los trabajos de construcción,

(31)

 Finanzas

Desarrollar de manera eficiente las actividades de control,

manejo y desembolso de fondos, valores y documentos

negociables de la empresa.

 Informática

Brindar la administración necesaria a los equipos y

tecnología para realizar acciones que permitan la

automatización y operación de los datos y sistemas de

información.

1.3. MISION

Proporcionar a nuestros clientes servicios de construcción con calidad superando

sus expectativas usando la mejor tecnología, materiales con personal altamente

calificado.

1.4. VISION

Posicionar en el ámbito estatal como la mejor empresa en el ramo de la

edificación y mantenernos a la vanguardia en cuanto a las nuevas tecnologías de

construcción, basándonos en la especialización y capacitación de nuestro

personal, respetando las normas para la conservación del medio ambiente.

Contando para ello con un capital humano de primer nivel con más de 7 años de

experiencia en el sector construcción, así como modernas maquinarias y equipos

(32)

1.5. DIAGNÓSTICO INFORMÁTICO 1.5.1. Hardware

La “EMPRESA CONSTRUCTORA P&M S.A.C.” cuenta actualmente

con 3 computadoras, 1 impresora, 1 modem.

03 Computadoras:

Tabla N 01: Características de la Computadora Características Detalle

Microprocesador Intel Core2 Quad Q8200 2.33GHz Memoria RAM 4 GB

Disco Duro 500 GB

Monitor Marca SAMSUNG 17” Disk Drive 3.5”

Lector Marca LG, RW-DVD Fuente: Elaboración Propia

01 Impresora:

Tabla N 02: Características de la Impresora Características Detalle

Marca CANON

Modelo MP2200

Tecnología Tinta Velocidad 12 ppm

(33)

01 Modem:

Tabla N 03: Características del Modem Características Detalle

Marca TP-LINK

Modelo TL-WA701ND

Puertos 4

Velocidad 100 Mpps Fuente: Elaboración Propia

1.5.2. Software

Tabla N 04: Características del Software Características Detalle Sistema Operativo Windows 7

Ofimática LibreOffice 4.2.0 Leguaje de Programación Ninguno

(34)

CAPITULO II

EL PROBLEMA

2.1. PLANTEAMIENTO DEL PROBLEMA

2.1.1. Descripción de la Realidad Problemática

“EMPRESA CONSTRUCTORA P&M S.A.C”, fue fundada en el año

2006 en la Ciudad de Chimbote por sus dos socios, constituyéndose

cómo una sociedad anónima cerrada, cuyo objeto es brindar los servicios

de ingeniería civil (Construcción y Mantenimiento de Obras Civiles

construyendo edificios públicos, plazas, veredas, mantenimiento de

carreteras tanto en el sector público y privado.

De acuerdo al Reglamento de la Ley de contrataciones del Estado, se

encuentra inscrita en el Registro Nacional de Contratistas, gozando de

una capacidad de contratación anual de 540 mil nuevos soles, lo cual le

permite ejecutar obras civiles por el mismo valor; además de ello cuenta

con licencia de funcionamiento, y estatutos correspondientes;

documentos que le permite realizar sus actividades brindando sus

servicios al Estado y entidades privadas.

La empresa por tener como actividad principal la construcción de obras

civiles, ejecuta de acuerdo a su capacidad de contratación una o más

obras en simultáneo ya sea en forma directa o consorciada, atendiendo a

(35)

Actualmente para el desarrollo de sus actividades administrativas cuenta

con nueve empleados fijos, pues la mayoría son contratados de manera

temporal dependiendo la duración de ejecución de la obra.

En todo el procedimiento de ejecución de las diversa obras que realiza en

simultaneo, Empresa Constructora P&M SAC, realiza una serie de

actividades comerciales, entre ellas de Compras al contado o a crédito de un bien o servicio, por lo cual la empresa realiza el respectivo pago de

su valor empleando diversos medios de cancelación como por ejemplo

cheques, depósitos, letras etc.

Por otro lado también realiza Ventas por lo general de Servicios de Construcción y Ejecución de obras, por lo cual la empresa emite su

respectivo comprobante (factura) a quien brindó sus servicios.

De esta manera la Empresa posee una serie de comprobantes tanto de

compras como ventas que realiza, los cuales son registrados solamente en

un formato de Excel, siéndoles dificultoso controlar y planificar el pago

puntual en la fecha pactada de cada obligación asumida con los

proveedores y demás acreedores.

Por lo expuesto; Empresa Constructora P&M S.A.C, se encuentra en la

imperiosa necesidad de implementar un programa que le permita

simplificar el procedimiento de registro de pagos y cobros de los

diferentes comprobantes que ingresan a la oficina de administración,

(36)

2.1.2. Análisis de la Realidad Problemática

Con el proceso actual, la empresa viene ordenando, registrando, y

realizando búsqueda de comprobantes de compra y venta de forma

manual, de acuerdo al periodo de facturación.

Además se debe de verificar que a los comprobantes con un monto

mayor a 1000 dólares o 3500 soles deben de adicionarse un documento

que sustente el pago o cobro por concepto de dicho comprobante

(voucher, cheque, depósito, etc) que justifique su cancelación.

Asimismo realiza manualmente la programación de pagos y cobros de

dichos comprobantes originando con ello demoras y conflictos sobre todo

al momento de cumplir oportunamente sus obligaciones para sus

proveedores y también poder solicitarles sus comprobantes de compra

por pagos ya realizados.

2.2. FORMULACIÓN DEL PROBLEMA

¿En qué medida el Análisis y Diseño de un Sistema Informático para el control

del proceso de registro de comprobantes de compra y venta podrá ser una

alternativa para mejorar el control de los ingresos y pagos a la “EMPRESA

CONSTRUCTORA P&M S.A.C.”?

2.3. OBJETIVOS

2.3.1. Objetivo General

 Analizar y diseñar un Sistema Informático que permite el control

del proceso de registro de comprobantes de compra y venta para

(37)

2.3.2. Objetivos Específicos

 Analizar y evaluar el proceso de registro de comprobantes actual.

 Aplicar la metodología XP en los flujos de trabajo del proyecto.

 Determinar si es factible la implementación de un Sistema

Informático.

 Modelar la Arquitectura mediante el Análisis y Diseño del Sistema

Informático.

2.4. JUSTIFICACION E IMPORTANCIA 2.4.1. Justificación

 Se busca reducir el tiempo del registro de comprobantes en la

brevedad posible y esto se lograra con la automatización de dicho

proceso mediante el análisis y diseño.

 Tener un Modelado Arquitectónico, en base al Análisis y Diseño de

las diferentes acciones que se desarrollan en el registro de

comprobantes.

 Se tendrá actualizado el registro de pagos y cobros de los diversos

comprobantes de pago y pueda agilizar la búsqueda de aquellos que

están pendientes por pagar o cobrar.

 Obtener beneficios directos como: Generación de reportes con

información actualizada y oportuna.

 Obtener beneficios indirectos como: Competitividad, eficiencia,

(38)

2.4.2. Importancia

El presente trabajo contribuirá en la elaboración de un prototipo el cual

servirá para una posterior implementación de un Sistema Informático

hecho a medida el cual controlara el registro de comprobantes de compra

(39)

CAPITULO III

MARCO TEÓRICO

3.1. Sistema

3.1.1. Definición

Un sistema es un conjunto de partes o elementos organizados y

relacionados que interactúan entre sí para lograr un objetivo. Los sistemas

reciben (entrada) datos, energía o materia del ambiente y proveen (salida)

información, energía o materia.

Un sistema puede ser físico o concreto (una computadora, un televisor, un

humano) o puede ser abstracto o conceptual (un software)

Cada sistema existe dentro de otro más grande, por lo tanto un sistema

puede estar formado por subsistemas y partes, y a la vez puede ser parte de

un súper sistema.

Los sistemas tienen límites o fronteras, que los diferencian del ambiente.

Ese límite puede ser físico (el gabinete de una computadora) o conceptual.

Si hay algún intercambio entre el sistema y el ambiente a través de ese

límite, el sistema es abierto, de lo contrario, el sistema es cerrado.

El ambiente es el medio en externo que envuelve física o conceptualmente

a un sistema. El sistema tiene interacción con el ambiente, del cual recibe

entradas y al cual se le devuelven salidas. El ambiente también puede ser

(40)

Un grupo de elementos no constituye un sistema si no hay una relación e

interacción, que de la idea de un "todo" con un propósito.

Figura N 02: Esquema Gráfico General De Un Sistema

Fuente: ALGESA

3.1.2. Clasificación de los Sistemas

La clasificación de un sistema al igual que el análisis de los aspectos del

mismo es un proceso subjetivo; depende del individuo que lo hace, del

objetivo que se persigue y de las circunstancias particulares en las cuales

se desarrolla. En este punto se dan lineamientos generales sobre las

diferentes clases de sistemas y algunos ejemplos que corresponden a su

definición.

3.1.2.1. Según su relación con el medio ambiente 3.1.2.1.1. Sistemas abiertos

Sistema que intercambia materia, energía o

información con el ambiente. Ejemplos: Célula, ser

humano, ciudad, perro, televisor, familia, estación de

(41)

3.1.2.1.2. Sistemas cerrados:

Sistema que no intercambia materia, energía o

información con el ambiente. Ejemplos: Universo,

reloj desechable, llanta de carro.

3.1.2.2. Según su Naturaleza

3.1.2.2.1. Sistemas concretos

Sistema físico o tangible. Ejemplos: Equipo de

sonido, edificio, pájaro, guitarra, elefante.

3.1.2.2.2. Sistemas abstractos

Sistema simbólico o conceptual. Ejemplos: Sistema

hexadecimal, idioma español, lógica difusa.

3.1.2.3. Según su Origen

3.1.2.3.1. Sistemas naturales

Sistema generado por la naturaleza. Ejemplos: Río,

bosque, molécula de agua.

3.1.2.3.2. Sistemas artificiales

Sistema producto de la actividad humana; son

concebidos y construidos por el hombre. Ejemplos:

(42)

3.1.2.4. Según sus Relaciones 3.1.2.4.1. Sistemas simples

Sistema con pocos elementos y relaciones. Ejemplos:

Juego de billar, péndulo, f(x) = x + 1, palanca.

3.1.2.4.2. Sistemas complejos

Sistema con numerosos elementos y relaciones entre

ellos. Ejemplos: Cerebro, universidad, cámara

fotográfica

Esta clasificación es relativa porque depende del

número de elementos y relaciones considerados. En la

práctica y con base en límites sicológicos de la

percepción y comprensión humanas, un sistema con

más o menos siete elementos y relaciones se puede

considerar simple.

3.1.2.5. Según su cambio en el tiempo 3.1.2.5.1. Sistemas estáticos

Sistema que no cambia en el tiempo. Ejemplos:

Piedra, vaso de plástico, montaña.

3.1.2.5.2. Sistemas dinámicos

Sistema que cambia en el tiempo. Ejemplos:

Universo, átomo, la tierra, hongo. Esta clasificación

es relativa porque depende del periodo de tiempo

(43)

3.1.2.6. Según el tipo de variables que lo definen 3.1.2.6.1. Sistemas discretos

Sistema definido por variables discretas. Ejemplos:

lógica booleana, alfabeto.

3.1.2.6.2. Sistemas continuos

Sistema definido por variables continúas. Ejemplos:

alternador, río.

3.1.2.7. Otras Clasificaciones

3.1.2.7.1. Sistemas jerárquicos

Sistema cuyos elementos están relacionados mediante

relaciones de dependencia o subordinación

conformando una organización por niveles. Ejemplos:

Gobierno de una ciudad.

3.1.2.7.2. Sistemas de control

Sistema jerárquico en el cual unos elementos son

controlados por otros. Ejemplos: Lámpara.

3.1.2.7.3. Sistemas de control con retroalimentación

Sistema de control en el cual los elementos

controlados envían información sobre su estado a los

(44)

3.2. Sistemas de Información

3.2.1. Definición

Un sistema de información es un conjunto de elementos que interactúan

entre sí con el fin de apoyar las actividades de una empresa o negocio.

Requiere usualmente el equipo computacional (hardware) que es

necesario para que el sistema de información pueda operar. No obstante

se puede diseñar un sistema de información sin que este esté ligado a

ningún software, debido a que el objetivo principal es apoyar las

actividades de la empresa.

Es necesario el recurso humano que interactúa con el Sistema de

Información, el cual está formado por las personas que utilizan el

sistema.

Un sistema de información realiza cuatro actividades básicas: entrada,

almacenamiento, procesamiento y salida de información.

3.2.2. Tipos de Sistemas de Información

3.2.2.1. Sistema de Procesamiento de Transacciones

Cuando un sistema recopila, almacena y altera la información

creada a partir de transacciones llevadas a cabo dentro de una

organización se denomina sistema de procesamiento de

transacciones. Tiene como finalidad procesar las transacciones

diarias de una empresa, acumulando toda la información

(45)

3.2.2.2. Sistema de Información Gerencial

Un sistema de información gerencial es aquel utilizado por la

empresa para solventar inconvenientes en la misma. Es decir, el

objetivo del mismo es la suministración de información para la

resolución de problemas a través de la interacción entre

tecnologías y personas.

Los datos aportados por el sistema deben disponer de cuatro

cualidades elementales: calidad, oportunidad, cantidad y

relevancia.

3.2.2.3. Sistema de soporte a Decisiones

Este sistema se basa en el estudio y la comparación entre un

conjunto de variables con el objeto de contribuir a la toma de

decisiones dentro de una empresa. El apoyo dado por el sistema

involucra la estimación, valoración y balance entre alternativas.

Al igual que el sistema de información gerencial, esta tecnología

interacciona con personas en el filtrado de información que

permite optar por la decisión más acertada.

3.2.2.4. Sistema de Información Ejecutiva

Esta tecnología es utilizada por los gerentes de una empresa, ya

que permite acceder a la información interna y externa de la

misma, disponiendo de los datos que puedan llegar a afectar su

(46)

De esta manera, el ejecutivo podrá conocer el estado de todos

los indicadores, incluso aquellos que no cumplan con las

expectativas y a partir de esto, tomar las medidas que considere

adecuadas.

3.2.3. Sistemas de Gestión

Un sistema de gestión es una estructura probada para la gestión y mejora

continua de las políticas, los procedimientos y procesos de la

organización.

3.2.4. Aplicaciones de Escritorio

Una aplicación de escritorio es una aplicación diseñada para su

funcionamiento a través del sistema operativo que la estación

computacional utiliza.

El software o aplicación de escritorio, también conocido como un recurso

o un "app", es un programa informático diseñado para ayudar al usuario a

realizar singulares o múltiples tareas específicas relacionadas. Ayuda a

resolver problemas en el mundo real. Los ejemplos incluyen software

empresarial, software de contabilidad, suites de oficina, software de

gráficos, y reproductores de medios.

3.3. Lenguajes de Programación

Un lenguaje de programación es un lenguaje diseñado para describir el conjunto

(47)

de programación es un modo práctico para que los seres humanos puedan dar

instrucciones a un equipo.

Por otro lado, el término "lenguaje natural" define un medio de comunicación

compartido por un grupo de personas (por ejemplo: inglés o francés).

Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada

que ver con los lenguajes de programación; se los conoce como protocolos de

comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de

programación es muy estricto:

A CADA instrucción le corresponde UNA acción de procesador.

El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata

de datos tal como llegan al procesador, que consisten en una serie de 0 y 1 (datos

binarios).

El lenguaje máquina, por lo tanto, no es comprensible para los seres humanos,

razón por la cual se han desarrollado lenguajes intermediarios comprensibles

para el hombre. El código escrito en este tipo de lenguaje se transforma en

código máquina para que el procesador pueda procesarlo.

El ensamblador fue el primer lenguaje de programación utilizado. Es muy

similar al lenguaje máquina, pero los desarrolladores pueden comprenderlo. No

obstante, este lenguaje se parece tanto al lenguaje máquina que depende

estrictamente del tipo de procesador utilizado (cada tipo de procesador puede

tener su propio lenguaje máquina). Así, un programa desarrollado para un

equipo no puede ser portado a otro tipo de equipo. El término "portabilidad"

describe la capacidad de usar un programa de software en diferentes tipos de

(48)

ensamblador en otro tipo de equipo, a veces será necesario volver a escribir todo

el programa.

Por lo tanto, un lenguaje de programación tiene varias ventajas:

 Es mucho más fácil de comprender que un lenguaje máquina.

 Permite mayor portabilidad, es decir que puede adaptarse fácilmente para

ejecutarse en diferentes tipos de equipos.

Existen muchos paradigmas relacionados a los lenguajes de programación. Para

esta investigación se tocará el tema de los lenguajes de programación orientados

a escritorio.

3.3.1. JavaServer Faces

JavaServer Faces (JSF) es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de

interfaces de usuario en aplicaciones Java EE. JSF usa JavaServer Pages

(JSP) como la tecnología que permite hacer el despliegue de las páginas,

pero también se puede acomodar a otras tecnologías

como XUL (acrónimo de XML-based User-interface Language, lenguaje

basado en XML para la interfaz de usuario).

JSF incluye:

 Un conjunto de APIs para representar componentes de una interfaz

de usuario y administrar su estado, manejar eventos, validar entrada,

definir un esquema de navegación de las páginas y dar soporte para

internacionalización y accesibilidad.

(49)

 Dos bibliotecas de etiquetas personalizadas para JavaServer Pages

que permiten expresar una interfaz JavaServer Faces dentro de una

página JSP.

 Un modelo de eventos en el lado del servidor.

 Administración de estados.

 Beans administrados.

La especificación de JSF fue desarrollada por la Java Community

Process como JSR 127, que definía JSF 1.0 y 1.1, JSR 252 que

define JSF 1.2 y JSR 314 para JSF 2.0

Versiones

 JSF 1.0 (11-03-2004) - Lanzamiento inicial de las especificaciones

de JSF.

 JSF 1.1 (27-05-2004) - Lanzamiento que solucionaba errores. Sin

cambios en las especificaciones ni en el renderkit de HTML.

 JSF 1.2 (11-05-2006) - Lanzamiento con mejoras y corrección de

errores.

 JSF 2.0 (12-08-2009) - Lanzamiento con mejoras de funcionalidad y

performance y facilidad de uso.

 JSF 2.1 (22-10-2010) - Lanzamiento de mantenimiento, con

mínimos cambios.

 JSF 2.2 (16-04-2013) - Lanzamiento que introduce soporte a HTML

(50)

Implementaciones

Las principales implementaciones de JSF son:

 JSF Reference Implementation de Sun Microsystems.

 MyFaces proyecto de Apache Software Foundation.

Extensiones

Algunas extensiones de JSF son:

 RichFaces Agrega componentes visuales y soporte para AJAX.

 ICEfaces Contiene diversos componentes para interfaces de usuarios

más enriquecidas, tales como editores de texto enriquecidos,

reproductores de multimedia, entre otros.

 jQuery4jsf Contiene diversos componentes sobre la base de uno de

los más populares framework javascript jQuery.

 PrimeFaces Es una librería muy liviana, todas las decisiones hechas

son basadas en mantener a PrimeFaces lo más liviano posible.

PrimeFaces es una librería muy simple que no necesita dependencias

y configuraciones.

 OpenFaces Librería open source que contiene diferentes

componentes JSF, un Framework Ajax y un Framework de

(51)

3.3.2. RichFaces

Richfaces es una biblioteca de código abierto basada en Java que permite crear aplicaciones web con Ajax.

Construye sobre el framework de Java Server Faces. Sobre él,

implementa unos filtros para permitir peticiones Ajax en la página. La

singularidad del planteamiento que ofrece es que la petición Ajax

provoca una ejecución en el servidor y finalmente una renderización

parcial o total de la página del navegador. Así, el control de lo que

sucede está en el servidor.

Richfaces está desarrollado y mantenido por JBoss.

3.3.3. Spring Framework

Spring es un framework para el desarrollo de aplicaciones y contenedor de inversión de control, de código abierto para laplataforma Java.

La primera versión fue escrita por Rod Johnson, quien lo lanzó junto a la

publicación de su libro Expert One-on-One J2EE Design and

Development (Wrox Press, octubre 2002). El framework fue lanzado

inicialmente bajo la licencia Apache 2.0 en junio de 2003. El primer gran

lanzamiento fue la versión 1.0, que apareció en marzo de 2004 y fue

seguida por otros hitos en septiembre de 2004 y marzo de 2005. La

versión 1.2.6 de Spring Framework obtuvo reconocimientos Jolt Awards

y Jax Innovation Awards en 2006.34 Spring Framework 2.0 fue lanzada

(52)

de 2009, y Spring 3.1 dos años más tarde. La versión actual es 3.2.0.5 El

inicio del desarrollo de la versión 4.0 fue anunciado en enero de 20136

Si bien las características fundamentales de Spring Framework pueden

ser usadas en cualquier aplicación desarrollada en Java, existen variadas

extensiones para la construcción de aplicaciones web sobre la

plataforma Java EE. A pesar de que no impone ningún modelo de

programación en particular, este framework se ha vuelto popular en la

comunidad al ser considerado una alternativa, sustituto, e incluso un

complemento al modelo EJB (Enterprise JavaBean).

3.3.4. Spring Security

Spring Security es uno de los framework de seguridad J2EE más

populares y completos usado por parte de instituciones, empresas e

universidades muy importantes. Con Spring Security es bastante trivial

incorporar la infraestructura básica de seguridad en una aplicación ya

implementada sin necesidad de escribir ni una línea de código gracias a

su naturaleza no invasiva. Además, posee componentes ya

implementados que permiten la integración con sistemas externos con

mucha facilidad. Inicialmente fue basado en el proyecto Acegi Security,

que con los años se fue convirtiendo en un producto robusto y maduro,

actualmente miembro de la familia de productos Spring. Debido a que

muchos de los conceptos como la inyección de dependencias y

programación orientada a aspectos los hereda de Spring, es aconsejable

(53)

La seguridad de la aplicación en sí se considera como un requisito

transversal, y por lo tanto se puede encapsular en forma de aspecto y más

tarde aplicarse de forma declarativa en cualquier punto de nuestra

aplicación. Spring Security ofrece módulos que aíslan ese tipo de lógica,

permitiendo además que la aplicación tenga una arquitectura robusta,

limpia y débilmente acoplada.

Otro de los elementos que ayuda a que los componentes de nuestra

aplicación tengan acoplamiento bajo es el patrón de diseño llamado

inyección de dependencias. En vez de que las clases se encarguen de

obtener sus propias referencias, éstas son instanciadas e inyectadas desde

una entidad externa llamada contenedor. El bajo acoplamiento también se

consigue con las interfaces. Es importante que los objetos conozcan sus

referencias a través de las interfaces, ya que se consigue ocultar la

implementación y cambiarla sin necesidad de tocar la referencia. Para

cualquier proyecto no trivial es casi un patrón de uso obligatorio

3.3.5. JPA + Hibernate

JPA – Java Persistence API es una especificación (concretamente

JSR-317 en su última versión) que debutó con JEE5 junto a EJB 3.0 y que

intentó superar la complejidad que suponía hasta el momento utilizar EJB

(en el caso de JPA hablaríamos de los EJB de Entidad usados para la

persistencia) , además de estandarizar hasta cierto punto los ORM que

(54)

de la especificación amplió sus capacidades con nuevas opciones de

mapeo y una API para la creación de consultas programáticamente, algo

con lo que Hibernate ya contaba bastante antes de la aparición de JPA

1.0.La versión 2.1 está ya muy cerca de su publicación final

Siempre que se habla de JPA tenemos que tener muy claro que no es más

que una especificación por lo que para utilizarla tendremos que recurrir a

un producto que implemente este estándar, y que además este producto

puede ofrecer soluciones y alternativas propias fuera del estándar

pudiéndose combinar ambas (aunque en este caso sería complicado

cambiar de implementación a posteriori). De todas implementaciones,

voy a utilizar Hibernate como “vendor” por ser la más conocida y

utilizada aunque existen otras alternativas excelentes comoOpenJPA de

Apache, ObjectDB o la ya mencionada TopLink.

3.4. Metodologías de desarrollo de Software

3.4.1. Definición

Una metodología de desarrollo de software se refiere al entorno que se

usa para estructurar, planificar y controlar el proceso de desarrollo de un

sistema de información.

Una determinada metodología no es necesariamente aplicable a todo tipo

de proyectos, más bien cada tipo de proyecto tiene una metodología a la

que se adapta mejor.

Una metodología de desarrollo de software consiste en:

- Una filosofía de desarrollo de software con una base de procesos de

(55)

- Múltiples herramientas, modelos y métodos, para asistir en el proceso

de desarrollo de software.

- Suele estar documentada de manera formal.

- Suele estar promovida por algún tipo de organización, ya sea esta

pública o privada, la cual se encarga de promover su uso.

Cada metodología de desarrollo tiene más o menos su propio enfoque de

en qué debe consistir un proyecto de desarrollo de software, pero todas se

basan en una serie de enfoques generalistas como:

 Waterfall Model – Lineal

 Prototyping – Iterativo

 Incremental – combinación de iterativo y lineal

 Spiral – Combinación de iterativo y lineal

 Rapid Application Development (RAD) – iterativo

3.4.2. Metodologías Ágiles de Desarrollo 3.4.2.1. Definición

El desarrollo ágil de software son métodos de ingeniería del

software basados en el desarrollo iterativo e incremental, donde

los requerimientos y soluciones evolucionan mediante la

colaboración de grupos auto organizados y multidisciplinarios.

Existen muchos métodos de desarrollo ágil; la mayoría

minimiza riesgos desarrollando software en lapsos cortos. El

(56)

iteración del ciclo de vida incluye: planificación, análisis de

requerimientos, diseño, codificación, revisión y documentación.

Una iteración no debe agregar demasiada funcionalidad para

justificar el lanzamiento del producto al mercado, sino que la

meta es tener una «demo» (sin errores) al final de cada iteración.

Al final de cada iteración el equipo vuelve a evaluar las

prioridades del proyecto.

Los métodos ágiles enfatizan las comunicaciones cara a cara en

vez de la documentación. La mayoría de los equipos ágiles están

localizados en una simple oficina abierta, a veces llamadas

"plataformas de lanzamiento" (bullpen en inglés). La oficina

debe incluir revisores, escritores de documentación y ayuda,

diseñadores de iteración y directores de proyecto. Los métodos

ágiles también enfatizan que el software funcional es la primera

medida del progreso. Combinado con la preferencia por las

comunicaciones cara a cara, generalmente los métodos ágiles

son criticados y tratados como "indisciplinados" por la falta de

documentación técnica.

3.4.2.2. Programación Extrema (eXtreme Programming)

El primer proyecto de programación extrema empezó el 6 de

marzo de 1996. XP es uno de los muchos procesos ágiles

populares. Ha sido comprobado que es una metodología exitosa

en muchas compañías de diferentes tamaños e industrias a nivel

(57)

El motivo de su éxito se debe a que hace énfasis en la

satisfacción del cliente. En vez de entregar todo lo que uno

podría desear en una fecha futura este proceso entrega el

Software que uno necesita cuando se lo necesita. XP da

empoderamiento a los desarrolladores para que éstos respondan

de manera segura a los cambios de los requerimientos del

cliente, incluso si estos se presentan en partes posteriores del

ciclo de vida.

XP se enfatiza en el trabajo en equipo. Administradores, clientes

y desarrolladores son todos participantes que se encuentran en

un mismo nivel dentro de un equipo colaborativo. La

programación extrema implementa un ambiente simple, y sin

embargo, efectivo que facilita a los equipos el alcanzar alta

productividad. Los equipos se auto – organizan alrededor del

problema para resolverlo tan eficientemente como sea posible.

 XP mejora un proyecto de software en cinco maneras

esenciales; comunicación, simplicidad, retroalimentación,

respeto y valentía.

 XP comunica constantemente con los clientes y los

compañeros programadores.

 Ellos mantienen su diseño simple y limpio.

 Consiguen retroalimentación al probar su software

(58)

 El sistema es entregado a los clientes tan pronto como es

posible y se implementan cambios de acuerdo a las

sugerencias.

 Cada pequeño éxito depende en el respeto hacia las

contribuciones únicas que cada miembro del equipo

aporta.

 Esta fundación permite a los programadores extremos

responder de forma valiente a los constantes

requerimientos y tecnología.

El aspecto más sorpresivo de XP son sus reglas simples. XP

puede ser asemejado a un rompecabezas. Existen muchas piezas

pequeñas. Individualmente las piezas no poseen sentido, pero

cuando son combinadas una imagen completa puede ser

diferenciada.

FIGURA N 03: Reglas de Trabajo de XP

(59)

Las reglas pueden parecer incómodas e incluso ingenuas al

inicio, pero están basadas en valores y principios.

Estas reglas proponen expectativas entre los miembros del

equipo pero no son la meta final por sí mismas. Estas reglas

definen un ambiente que promueve la colaboración en el equipo

y el empoderamiento, lo cual es la meta. Una vez que se ha

conseguido, el trabajo en equipo productivo continuará incluso

si las reglas cambian para encajar dentro de las necesidades de la

compañía.

3.5. Bases de Datos

3.5.1. Definición

El término de bases de datos fue escuchado por primera vez en 1963, en

un simposio celebrado en california – USA. Una base de datos se puede

definir como un conjunto de información relacionada que se encuentra

agrupada o estructurada. Desde el punto de vista de la informática, la

base de datos es 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.

3.5.2. Sistemas Gestores de Bases de Datos 3.5.2.1. Definición

(60)

Entre sus funciones está:

 Definir una base de datos: consiste en especificar los tipos

de datos, estructuras y restricciones para los datos que se

almacenarán.

 Construir una base de datos: es el proceso de almacenar los

datos sobre algún medio de almacenamiento.

 Manipular una base de datos: incluye funciones como

consulta, actualización, etc. de bases de datos.

Si el sistema soporta bases de datos relacionales se llama

RDBMS en inglés o SGBDR en español.

Otras funciones de los SGBD:

 En la manipulación de una base de datos, los SGBD deben

incluir un control de concurrencia, o sea, deben permitir a

varios usuarios tener acceso "simultáneo" a la base de datos.

Controlar la concurrencia implica que si varios usuarios

acceden a la base de datos, la actualización de los datos se

haga de forma controlada para que no haya problemas.

 Un SGBD también debe encargase de cumplir las reglas de

integridad y redundancias.

 Otra función importante en un SGBD es su capacidad de

realizar copias de seguridad y de recuperación de datos.

 Restricción de accesos no autorizados.

 Suministrar múltiples interfaces de usuario.

(61)

3.5.2.2. MYSQL

MySQL es un sistema de gestión de base de datos relacional de

código abierto. La información contenida en una base de datos

MySQL se almacena en forma de tablas relacionadas. Bases de

datos MySQL se utilizan normalmente para el desarrollo de

aplicaciones web (a menudo usando PHP).

Una base de datos MySQL se puede acceder (a través de

Querys) utilizando directamente, C, C + +, Eiffel, Java, Perl,

PHP y lenguajes de programación Python. También hay apoyo

de terceros para la conexión en un entorno Windows.

Las Bases de datos MySQL se consultan con un subconjunto de

los comandos de Lenguaje de consulta estructurado (SQL).

3.6. Software Gratis (Freeware)

3.6.1. Definición

El software gratis o freeware es un software distribuido libre para su uso,

sin costo y por tiempo ilimitado. Este software suele incluir una licencia

de uso para poder redistribuirlo con ciertas restricciones. A diferencia del

Software Libre, este software no se distribuye con el código fuente (salvo

algunas excepciones) y su uso está restringido a la licencia que acoge en

concreto el software.

(62)

3.6.1.1.1. Mysql

MySQl es una herramienta visual unificada para

arquitectura de bases de datos, desarrollo y

administradores de base de datos. Provee modelado

de data, desarrollo SQL y herramientas de

administración comprensiva para la configuración

del servidor, administración de usuarios y

herramientas adicionales. Está disponible para las

plataformas: Windows, Linux y Mac OS.

3.7. Programación extrema (eXtreme Programming)

3.7.1. Definición

La programación extrema o eXtreme Programming (XP) es una

metodología de desarrollo de la ingeniería de software formulada por

Kent Beck, autor del primer libro sobre la materia, Extreme

Programming Explained: Embrace Change (1999). Es el más destacado

de los procesos ágiles de desarrollo de software. Al igual que éstos, la

programación extrema se diferencia de las metodologías tradicionales

principalmente en que pone más énfasis en la adaptabilidad que en la

previsibilidad. Los defensores de la XP consideran que los cambios de

requisitos sobre la marcha son un aspecto natural, inevitable e incluso

deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a

los cambios de requisitos en cualquier punto de la vida del proyecto es

(63)

requisitos al comienzo del proyecto e invertir esfuerzos después en

controlar los cambios en los requisitos.

Se puede considerar la programación extrema como la adopción de las

mejores metodologías de desarrollo de acuerdo a lo que se pretende

llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el

ciclo de vida del software.

3.7.2. Objetivos de XP

Los objetivos de la programación extrema son:

 La satisfacción del cliente

 Potenciar el trabajo en grupo, involucrando a todos dentro del

desarrollo del software.

3.7.3. Variables de XP 3.7.3.1. Coste

XP nos propone que juguemos todas las partes implicadas en el

proyecto hasta que el valor que alcancen las cuatro variables sea

el correcto para todas las partes: “Si quieres más calidad en

menos tiempo tendrás que aumentar el equipo e incrementar el

coste”.

3.7.3.2. Tiempo

(64)

planteamientos maduros, esto repercutiría en la confianza de los

clientes, al entregarle trabajos con fallos.

3.7.3.3. Calidad

Con la calidad suele suceder un fenómeno extraño:

frecuentemente un proyecto que tratemos de aumentar la calidad

conduce a que el proyecto pueda realizarse en menos tiempo,

siempre con unos márgenes obviamente. Cuando un equipo de

desarrollo se acostumbra a realizar pruebas intensivas, se siguen

estándares de codificación, poco a poco se comenzara a andar

más rápido y más seguro, por tanto más preparados para futuros

cambios, sin estrés y así sucesivamente.

3.7.3.4. Ámbito

El ámbito del proyecto suele ser conveniente que sea establecida

por el equipo de desarrollo. Es una variable muy importante que

nos va a decir dónde vamos a llegar con nuestro software, que

problemas vamos a resolver y cuales vamos a dejar para

siguientes versiones.

Y es que los requisitos nunca son claros al principio y el mismo

desarrollo del software hace cambiar los requisitos. Por tanto el

ámbito debe de ser dúctil, podremos jugar con él, si el tiempo

para el lanzamiento es limitado, siempre habrá cosas que

(65)

Además con el agravante de que estas cuatro variables no

guardan una relación tan directa como en principio pueda

parecer. El incremento del número de programadores no

repercutirá de manera lineal en el tiempo de desarrollo del

proyecto.

3.7.4. Los valores de XP

Una de las cosas que a los programadores nos tiene que quedar muy claro

es que en el ciclo de vida del desarrollo de un proyecto software los

cambios van a aparecer, cambiarán los requisitos, las reglas de negocio,

el personal, la tecnología, todo va a cambiar. Por tanto el problema no es

el cambio en sí, ya que este va a suceder sino la incapacidad de

enfrentarnos a estos cambios.

Como en otra cualquier actividad humana necesitamos valores para

desarrollar nuestro trabajo y conseguir los planteamientos iniciales.

Estos cuatro valores son:

3.7.4.1. Comunicación

Cuántas veces hemos tenido problema en nuestro equipo de

desarrollo por falta de comunicación, por no comentar un

cambio crítico en el diseño, por no preguntar lo que pensamos al

cliente. La mala comunicación no surge por casualidad y hay

(66)

3.7.4.2. Sencillez

Lograr la sencillez no es fácil. Tenemos cierta tendencia a

pensar en qué programaremos mañana, la próxima semana y el

próximo mes.

La sencillez y la comunicación se complementan, cuanto más

simple es tu sistema menos tienes que comunicar de él.

3.7.4.3. Retroalimentación

Por medio de pruebas funcionales a nuestro software este nos

mantendrá informado del grado de fiabilidad de nuestro sistema,

esta información realmente no tiene precio. Los clientes y las

personas que escriben pruebas tienen una retroalimentación real

de su sistema.

La retroalimentación actúa junto con la sencillez y la

comunicación, cuanto mayor retroalimentación más fácil es la

comunicación. Cuanto más simple un sistema más fácil de

probar. Escribir pruebas nos orienta como simplificar un

sistema, hasta que las pruebas funcionen, cuando las pruebas

funcionen tendrá mucho hecho.

3.7.4.4. Valentía

Asumir retos, ser valientes antes los problemas y afrontarlos.

Nuestro trabajo se asimila al de un escalador cuando hacemos

Referencias

Documento similar

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

!  Relación entre el costes de compra de productos a proveedores respecto del precio de venta.. !  Análisis de

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

• Si un sujeto designado como emisor electrónico del SEE emite un comprobante de pago en formato preimpreso por una operación por la que está obligado a emitir un comprobante de

USD Terreno Medida Situación Legal Partida Ficha Fdn Actual Clasificación SubClasificación Situación Registral.. 57 5703

de dicha resolución; siempre que se inicie el traslado una vez que se cuente con la CDR – Factura con estado de aceptada, a que se refiere el numeral 13.1

Para asumir un riesgo moderado, un inversionista podría elegir acciones cíclicas y acciones defensivas, junto con acciones de primera clase (acciones ordinarias) e inversiones