You are on page 1of 76

Ao del Centenario de Machu Picchu para el Mundo

UNIVERSIDAD CATOLICA LOS ANGELES DE CHIMBOTE Facultad: Ingeniera

Escuela:

Ingeniera de sistemas

Curso:

Practicas pre profesionales II

Catedrtico:

Ing. Wilmer Gonzales Morillo

Tema:

Informe de prcticas II

Alumno:

Miguel Federico Nez Varillas

Ciclo:

Fecha:

Diciembre del 2011

AGRADECIMIENTOS Primeramente doy infinitamente gracias a mi familia, por haberme permitido llegar hasta este punto y doy gracias a Dios por darme salud para lograr mis objetivos, adems de su infinita bondad y amor. A mis hermanos por la compaa y el apoyo que me brindan. S que cuento con ellos siempre. Al amor de mi vida que siempre est conmigo en todo momento apoyndome. A mis amigos que siempre estuvieron cuando los necesitaba en todo momento por la confianza y lealtad que tienen hacia mi persona. A el catedrtico Ing. Wilmer Gonzales Morillo por su disposicin y ayuda brindada durante la realizacin del informe de prcticas pre profesional II.

DEDICATORIA A mi familia por iluminarme el camino a seguir y que siempre estn conmigo en los buenos momentos y sobre todo en los malos momentos, y en memoria de mi Padre Federico Nez, por inculcarme los buenos valores y los consejos que me los diera en vida; pues es mi inspiracin para salir adelante pese a cualquier adversidad. A mis hijos Mateo Demetrius y Marco Tulio por su inspiracin, me dan fuerza para luchar por ellos y asegurar su futuro.

INDICE pg. AGRADECIMIENTOS DEDICATORIA INTRODUCCION CAPITULO I: FORMULACION DEL PROYECTO 1.1.- Datos generales de la organizacin 1.1.1.- Nombre de la organizacin 1.1.2.- Ubicacin 1.1.3.- Direccin 1.1.4.- Representante Legal 1.1.5.- Grupos de inters 1.1.6.- Visin de la organizacin 1.1.7.- Misin de la organizacin 1.1.8.- Objetivos de la organizacin 1.1.9.- Organigrama de la organizacin 1.2.- Titulo del proyecto 1.3.- Situacin problemtica 1.3.1.- Descripcin de la situacin problemtica 1.3.2.- Formulacin del problema 1.4.- Objetivos del proyecto 1.4.1.- Objetivo general 1.4.2.- Objetivos especficos 1.5.- Justificacin del proyecto 1.5.1.- Justificacin tecnolgica 1.5.2.- Justificacin econmica 1.5.3.- Justificacin operativa 1.6.- Factibilidad del proyecto 1.6.1.- Factibilidad tecnolgica 1.6.2.- Factibilidad econmica 1.6.3.- Factibilidad operativa 1.7.- Limitaciones y riesgos 1.8.- Alcance del proyecto 1.9.- Recursos 9 9 9 9 9 9 9 9 9 10 11 11 11 11 11 11 11 12 12 12 12 13 13 13 13 13 14 14
4

2 3 8

1.9.1.- Tecnolgicos 1.9.1.1.- Hardware 1.9.1.2.- Software 1.9.2.- Humanos 1.9.2.1.- Profesionales 1.9.2.2.- Stakeholders 1.9.3.- Materiales 1.9.4.- Servicios 1.10.- Cronograma de actividades 1.11.- Costeo general del proyecto 1.12.- Financiamiento del proyecto CAPITULO II: MARCO TEORICO 2.1.- Metodologa RUP 2.1.1.- Caractersticas 2.1.2.- Fases 2.1.3.- Artefactos 2.2.- UML 2.2.1.- Definicin 2.2.2.- Diagramas 2.3.- Base de datos 2.3.1.- Definicin 2.3.2.- Base de Datos Relacional CAPITULO III: DESARROLLO DEL PROYECTO 3.- Anlisis 3.1.- Modelos de Negocio A.- Diagrama de caso de uso de negocio B.- Descripcin y las reglas de los procesos de negocio C.- Modelos objeto negocio D.- Diagrama o modelo de dominio 3.2.- Diagrama de actividades forma de flujo de trabajo. 3.3.- Especificacin de los requerimientos del sistema 3.3.1.- Funcionales

14 14 14 15 15 16 16 16 16 17 17

18 18 18 19 20 20 20 21 21 21

23 23 23 23 24 25 26 27 27
5

3.3.2.- No funcionales 3.3.3.- Externos. 3.4.- Diseo 3.4.1.- Diagrama de casos de uso de Empadronamiento de agricultores y sus campos 3.4.2.- Diagrama de casos de uso de gestin clientes de los agricultores 3.4.3.- Diagrama de clases 3.4.4.- Diagrama de estado de los objetos 3.4.4.1.- Diagrama de estado del agricultor 3.4.4.2.- Diagrama de estado del asesor 3.4.5.- Diagramas de secuencia 3.4.5.1.- Diagrama de secuencia de guiAcceso hasta guiEspecifico 3.4.5.2.- Diagrama de secuencia de registro agricultor 3.4.5.3.- Diagrama de secuencia de modificacin de datos de agricultor 3.4.5.4.- Diagrama de secuencia de registro de campos de cultivo 3.4.5.5.- Diagrama de secuencia de modificacin de datos de campos de cultivo 3.4.5.6.- Diagrama de secuencia de registro de suelos 3.4.5.7.- Diagrama de secuencia de modificacin de datos de suelos 3.4.6.- Diagrama de componentes 3.4.7.- Diagrama de despliegue 3.4.8.- Diseo lgico de la base de datos 3.4.9.- Mapeo de las entidades de la base de datos 3.4.10.- Diseo de interfaces de entrada y salida 3.5.- Desarrollo 3.5.1.- Trasformacin del modelo de datos a la base de datos 3.5.2.- Codificacin de las interfaces ms importantes del sistema 3.5.3.- Cd, con el software BIBLIOGRAFIA CONCLUSIONES RECOMENDACIONES

28 28 29 29 30 31 32 32 33 34 34 35 36 37 38 39 40 41 42 43 43 45 49 49 56 73 74 75 76

INTRODUCCION Uno de los pasos ms importantes para el estudiante dentro de su carrera profesional es la realizacin de sus prcticas Pre-Profesionales. Dichas prcticas es de carcter obligatorio para la Facultad de Ingeniera y ms aun los que estamos dentro de la carrera profesional de Ingeniera de Sistemas, ya que tiene por finalidad ampliar y aplicar los conocimientos que el estudiante ha ido adquiriendo a lo largo de su formacin profesional y que permite que el estudiante adquiera habilidades y destrezas que solo puede cultivarse con el ejercicio de la profesin, as como tambin desarrollar la sensibilidad del estudiante con respecto a la sociedad, dndole la oportunidad de conocer las necesidades y problemas de nuestra sociedad. El objetivo general es poner en prctica conocimientos y habilidades adquiridos en Tecnologa de la Informacin, as como asimilar la orientacin profesional en el rea o rubro en que se ha de desempaarse y las prcticas Pre-Profesionales sirven en este caso para la capacitacin y complementacin de la formacin profesional en esta rea especfica, ya que nos pone en contacto con el mundo laboral existente. El informe de prcticas es la parte final de este proceso de capacitacin Pre-profesional. En este informe, se plasma las actividades desarrolladas en el tiempo que duraron estas, adems de informar de forma especfica los trabajos realizados durante la permanencia en el lugar de prcticas.

CAPITULO I FORMULACION 1.1- Datos generales de la organizacin 1.1.1.- Nombre de la organizacin: ONG Agroecoser 1.1.2.- Ubicacin: Huaraz, Ancash, Per. 1.1.3.- Direccin: Av. Sucre 526 Beln. 1.1.4.- Representante Legal: Ing. Gladys Zegarra Crdova. 1.1.5.- Grupos de inters: El directorio ejecutivo, los ingenieros agrnomos de la institucin, los ingenieros ambientales de la institucin, los tcnicos en agronoma, el grupo desarrollador del software. 1.1.6.- Visin de la organizacin: La ONG Agroecoser es un ente con liderazgo en el sector agrario, basado en una gestin innovadora de calidad y eficiencia, con profesionales consientes de la realidad agraria del pas, tendientes a los cambios e innovaciones tecnolgicas, orientados a una igualdad social, con el nico objetivo de contribuir al desarrollo del sector agrario, con identidad y prcticas de valores. 1.1.7.- Misin de la organizacin y La ONG Agroecoser es una institucin sin fines de lucro, dedicada a la asesora en el sector agrario. y Cumplir con el desarrollo de su trabajo de manera integral y con valores. y Asesorar al sector agrario desde una perspectiva multidisplinaria valindose de las Tics y de la tecnologa ecolgica. y Desarrollar en sus clientes los conocimientos teoricos-practicos para realizar agricultura ecolgica. 1.1.8.- Objetivos de la organizacin Alcanzar el desarrollo institucional, incluyendo el uso de tecnologa, para liderar e innovar la calidad de servicio en el sector agrario, con solida cultura organizacional, con un enfoque multidisciplinario y con igualdad social.

1.1.9.- Organigrama de la organizacin

1.2.- Titulo del proyecto Implementacin de un sistema web para el control de las campaas agrcolas de la ONG Agroecoser en la regin Ancash, en el ao 2011. 1.3.- Situacin problemtica 1.3.1.- Descripcin de la situacin problemtica La ONG Agroecoser filial Huaraz en la actualidad tiene su informacin desordenada y almacenada en files, que no estn en orden alfabtico, existen problemas al momento de buscar los datos de un agricultor porque la informacin est en unas columnas de fichas puestas al azar y desordenadas, se pierde mucho tiempo en encontrar los datos de los agricultores, de sus campos de cultivo y de sus sembrios. El proceso de llenado de datos y bsqueda se hace muy lento, no pudindose dar los asesoramientos muchas veces de manera adecuada y oportuna y presentndose dificultades en relacin al control de las asesoras que a recibido determinado agricultor. 1.3.2.- Formulacin del problema En qu medida se optimizara el control del asesoramiento respecto a las campaas agrcolas de los agricultores, a cargo de la ONG Agroecoser, con la implementacin de un sistema Web? 1.4.- Objetivos del proyecto 1.4.1.- Objetivo general Implementar un sistema web para el control del asesoramiento que brinda la ONG Agroecoser a los agricultores a su cargo respecto a sus campaas agrcolas en la regin Ancash en el ao 2011. 1.4.2.- Objetivos especficos o Realizar la recopilacin de la informacin necesaria de manera adecuada con el fin de que se pueda entender como est organizada y como se usa.
10

o Realizar el modelado de los artefactos del software utilizando la notacin UML y as lograr considerables niveles de estandarizacin o Elaborar el Modelo de base de datos utilizando como herramienta de modelamiento de datos, el programa Mysql Workbench. o Realizar la implementacin de la base de datos del sistema haciendo uso del DBMS Mysql y asi lograr una eficiente gestin de base de datos. o Realizar la codificacin de los programas de la aplicacin utilizando como editor el programa CS3 Dreamweaver y lenguaje de servidores PHP, teniendo en cuenta la seguridad e integridad de datos. o Monitorear, evaluar y probar el sistema de informacin para verificar el correcto funcionamiento de los diferentes mdulos de la pgina web. o Realizar de manera eficiente la configuracin de la arquitectura de las comunicaciones para poner en marcha la aplicacin web. o Llevar a cabo una capacitacin de manera oportuna a los empleados de la organizacin para que hagan un uso correcto y eficiente de los diferentes mdulos de la aplicacin o portal web. 1.5.- Justificacin del proyecto 1.5.1.Justificacin tecnolgica.El portal web facilitara el

almacenamiento de los datos de los agricultores, de sus cultivos, y de sus campaas de produccin, tambin ser ms rpido la bsqueda de sus datos, con el portal web se podr predecir cuanto va a ganar el agricultor al final de la campaa. El portal web permitir tener el historial de lo efectuado en cada campo de cultivo. As tambin esta aplicacin har posible que la administracin de las fciles. La pgina web va a permitir que la organizacin cuente con una herramienta tecnolgica que le ayude a realizar una gestin ms eficiente campaas agrcolas sean ms

11

y eficaz en cuanto a las actividades llevadas a cabo en la administracin agrcola de los diferentes agricultores atendidos por esta organizacin. 1.5.2.- Justificacin econmica.- Con la implementacin de esta aplicacin web, se disminuirn sustancialmente los costos relacionados con la gestin de las actividades de los agricultores que son atendidos por esta organizacin. Se ahorrara dinero en la organizacin porque va a agilizar los procesos de flujo de datos, tales como llenado de fichas y creacin de documentos que trae consigo un considerable consumo de materiales principalmente papel, tambin se ahorrara dinero porque disminuir las horas requeridas en cuanto a recursos humanos, pudiendo estas horas ser utilizadas en otras actividades de importancia para la organizacin. 1.5.3.- Justificacin operativa.- Con la aplicacin web se agilizaran los procesos de llenado y bsqueda de datos de los agricultores; pues estos se realizaran de una manera ms fcil y rpida. Con lo que se conseguir que el personal que labora en el rea de informtica realice su trabajo de manera cmoda, ordenada y eficiente. Todo esto contribuir a mejorar el estado de nimo de los empleados, lo que se ver reflejado en una mejor atencin a los usuarios (agricultores), fortalecindose de esta manera la calidad de servicio que le brindan, siendo esta la principal preocupacin de la administracin actual. 1.6.- Factibilidad del proyecto 1.6.1.- Factibilidad tecnolgica.- La organizacin cuenta actualmente, con 4 equipos de cmputo cuyas caractersticas son PIII 2.1 Mhz 150 HD y dos impresoras Lasser jet, as tambin la administracin de esta organizacin a realizado la aprobacin correspondiente, para alquilar un servidor web de linea dedicada y la compra de una Laptop HP PIV 300 Gb HP, con todos estos recursos tecnolgicos sumado al hecho que la implementacin de la aplicacin, se har utilizando el lenguaje PHP, que es una de las herramientas tecnologas junto con Mysql mas utilizadas en este tipo de aplicaciones, por su alta performance, facilidad y flexibilidad, queda entonces garantizada la factibilidad tecnolgica del presente proyecto.

12

1.6.2.- Factibilidad econmica.- La organizacin actualmente cuenta con recursos econmicos que estn dirigidos u orientados al mejoramiento tecnolgico, de sus diferentes oficinas, es por ello de que existe ya los presupuestos aprobados para la compra de cierto equipamiento en el que destaca por ejemplo el alquiler de un servidor web y la compra de la Laptop, todo este escenario permite garantizar el desarrollo del proyecto desde el mbito econmico. 1.6.3.- Factibilidad operativa.- El portal web si ser utilizado por la organizacin, por ser de gran utilidad, no habr resistencia al cambio debido a que el portal web ser amigable y fcil de usar, adems habr una capacitacin adecuada para los usuarios, con la finalidad de garantizar el correcto uso y operatividad de la aplicacin. As tambin se ha podido corroborar de que el personal que labora en esta organizacin, tiene un alto grado de manejo de herramientas de tecnologa de informacin y comunicaciones; lo cual se constituye como un aspecto a favor de la operatividad del presente proyecto. 1.7.- Limitaciones y riesgos Riesgo Probabilidad Perdida El cliente 25% tiempo puede cambiar los requerimientos del software. No cumplir con 35% el cronograma de actividades. Que disminuyan el tiempo parte de por los el 20% dinero Tiempo dinero y Ajustar y ampliar fechas programadas de cada una de las actividades afectadas. Aumento de personal Contingencia Modificar rpidamente el modelado para ajustarlo a los nuevos requerimientos.

usuarios, para terminar proyecto


13

Cancelacin del proyecto Mala estimacin del presupuesto

15% 20%

Tiempo dinero dinero

y Llegar a una solucin con los usuarios Reestructurar y ajustar al proyecto el tema de costos.

Limitaciones y Poco tiempo para desarrollar el portal web y No contar con licencia de programas privativos y Poca experiencia por parte del desarrollador en este tipo de aplicaciones. 1.8.- Alcance del proyecto.- En este proyecto se va a realizar el anlisis, diseo y desarrollo de un sistema web que busca automatizar la gestin, es decir pretende llevar un control ms eficiente del llenado y bsqueda de los datos de los agricultores, tambin procesar los datos de los campos de cultivo y sus caractersticas, el portal web ser finalmente implantado en un servidor web, al cual tendrn acceso los profesionales de la oficina de agricultura y de ingeniera ambiental de la ONG Agroecoser. 1.9.- Recursos 1.9.1.- Tecnolgicos 1.9.1.1.- Hardware y 1 Laptop HP, AMD turion 64x2, 2.1 GHz, 4Gb Ram, 250 Gb HD, wifi y 1 Servidor web con S.O. linux, alquilado, lnea a internet. y 1 USB Kingston, 8 Gb y 1 Impresora Canon 1.9.1.2.- Software y S.O. Windows vista y S.O. Linux-Ubuntu v 8.9 y Microsoft office 2010 y Mysql workbench y Mysql query browser y Mysql administrator y Adobe Dreamveaver CS3 y Adobe Flash CS3 y PhpMyAdmin version 5.0.67 y Rational rose y Servidor apache y Servidor php y Mozilla firefox y Microsoft paint
14

y y y y y y

Gimp 2.0 Inskape 2.3 Adobe reader 9.0 Antivirus AVG 2011 Winrar 3.80 Framework Jquery-1.4.4

1.9.1.3.- Accesorios y Tinta para impresora y Libros de Php y Mysql y 1 Cd rom regrabable y 1 kit de limpieza para computadoras 1.9.2.- Humanos 1.9.2.1.- Profesionales Nombre Cargo Nez Varillas Miguel Analista Federico programador

Capacidades y Abstraccin y Negociacin y Disear la base de datos y Programacin en PHP y Monitorear y evaluar el sistema.

1.9.2.2.- Stakeholders El directorio ejecutivo, los directores de informtica, los ingenieros agrnomos, ambientales los tcnicos de agronoma, los clientes, las otras ONGs, las cooperativas agrarias, las comunidades campesinas, el ministerio de agricultura. Si estn dispuestos a colaborar. 1.9.3.- Materiales y Cuaderno de apuntes y Lpiz y Borrador y Lapiceros y 1 ciento de papel boom y 5 flderes manila y 1 Engrampadora y 1 Perforador y 1 Maletn para laptop 1.9.4.- Servicios y Internet y Transporte y Fluido elctrico y Servicio de fotocopiado
15

Anillado

1.10.- Cronograma de actividades


Actividad Entrevista con el director ejecutivo y personal administrativo Recoleccin de documentos y fichas de llenado de datos Identificacin del problema Modelado del sistema utilizando UML Modelado de la base de datos relacional Codificacin del sistema y upload al servidor web. Monitoreo, evaluacin y pruebas Puesta en marcha de la aplicacin web. Capacitacin del personal Responsable Setiembre s1 s2 s3 s4 Miguel Nez V. Miguel Nez V. Miguel V. Miguel V. Miguel V. Miguel V. Miguel V. Miguel V. Miguel V. Nez Nez Nez Nez Nez Nez Nez s1 Periodo Octubre s2 s3 s4 Noviembre s2 s3 s4

s1

1.11.- Costeo general del proyecto Descripcin Bienes de inversin Laptop HP Disco duro externo 1 USB 8 Gb Impresora canon Scaner canon Alquiler servidor web anual Material bibliogrfico tiles de librera Maletn para Laptop Servicios Internet 2Mb Cantidad 1 1 1 1 1 1 3 10 1 3 meses Costo S/ 2800 S/ 400 S/ 80 S/ 200 S/ 120 S/ 400 S/ 120 S/ 20 S/ 100 S/ 600
16

Sub Total

S/ 5120

Transporte Fluido elctrico Fotocopiado Anillado Servicios profesionales Analista programador Total

3 meses 3 meses 100 2 3 meses

S/ 600 S/ 100 S/ 10 S/ 10 S/ 4500

S/ 1320 S/ 4500 S/ 10,140.00

1.12.- Financiamiento del proyecto El 99% del proyecto es financiado por la organizacin y el 1% es con recursos propios.

17

CAPITULO II MARCO TEORICO 2.1.- METODOLOGIA RUP El Proceso Racional Unificado (Rational Unified Process en ingls,

habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologas adaptables al contexto y necesidades de cada organizacin. Tambin se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye informacin entrelazada de diversos artefactos y descripciones de las diversas actividades. Est incluido en el Rational Method Composer (RMC), que permite la personalizacin de acuerdo con las necesidades. Originalmente se dise un proceso genrico y de dominio pblico, el Proceso Unificado, y una especificacin ms detallada, el Rational Unified Process, que se vendiera como producto independiente. 2.1.1.- Caractersticas y Forma disciplinada de asignar tareas y responsabilidades (quin hace qu, cundo y cmo) y y Pretende implementar las mejores prcticas en Ingeniera de Software Desarrollo iterativo

y Administracin de requisitos y Uso de arquitectura basada en componentes y Control de cambios y Modelado visual del software y Verificacin de la calidad del software

18

El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el cdigo fuente, etc.) y roles (papel que desempea una persona en un determinado momento, una persona puede desempear distintos roles a lo largo del proceso). 2.1.2.- Fases Fase de Inicio: Esta fase tiene como propsito definir y acordar el alcance del proyecto con los patrocinadores, identificar los riesgos asociados al proyecto, proponer una visin muy general de la arquitectura de software y producir el plan de las fases y el de iteraciones posteriores. Fase de elaboracin: En la fase de elaboracin se seleccionan los casos de uso que permiten definir la arquitectura base del sistema y se desarrollaran en esta fase, se realiza la especificacin de los casos de uso seleccionados y el primer anlisis del dominio del problema, se disea la solucin preliminar. Fase de Desarrollo: El propsito de esta fase es completar la funcionalidad del sistema, para ello se deben clarificar los requisitos pendientes, administrar los cambios de acuerdo a las evaluaciones realizados por los usuarios y se realizan las mejoras para el proyecto. Fase de Cierre: El propsito de esta fase es asegurar que el software est disponible para los usuarios finales, ajustar los errores y defectos encontrados en las pruebas de aceptacin, capacitar a los usuarios y proveer el soporte tcnico necesario. Se debe verificar que el producto cumpla con las especificaciones entregadas por las personas involucradas en el proyecto. 2.1.3.- Artefactos RUP en cada una de sus fases (pertenecientes a la estructura esttica) realiza una serie de artefactos que sirven para comprender mejor tanto el anlisis como el diseo del sistema (entre otros). Estos artefactos (entre otros) son los siguientes:
19

Inicio:
y y

Documento Visin Especificacin de Requisitos

Elaboracin:
y

Diagramas de caso de uso

Construccin:
y Documento Arquitectura que trabaja con las siguientes vistas: Vista Lgica

Diagrama de clases Modelo E-R (Si el sistema as lo requiere) Vista de Implementacin


y y

Diagrama de Secuencia Diagrama de estados Diagrama de Colaboracin Vista Conceptual


y y y y Modelo de dominio Vista fsica y

Mapa de comportamiento a nivel de hardware.

2.2.- UML 2.2.1.- Definicin Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases de datos y componentes reutilizables. 2.2.2.- Diagramas En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es til categorizarlos jerrquicamente, como se muestra en la figura de la derecha.
20

Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:
y y y y y y

Diagrama de clases Diagrama de componentes Diagrama de objetos Diagrama de estructura compuesta (UML 2.0) Diagrama de despliegue Diagrama de paquetes

Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado:


y y y

Diagrama de actividades Diagrama de casos de uso Diagrama de estados

Los Diagramas de Interaccin son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado:
y y

Diagrama de secuencia Diagrama de comunicacin, que es una versin simplificada del Diagrama de colaboracin (UML 1.x) Diagrama de tiempos (UML 2.0) Diagrama global de interacciones o Diagrama de vista de interaccin (UML 2.0)

y y

2.3.- BASE DE DATOS 2.3.1.- Definicin Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para
21

su consulta. En la actualidad, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos estn en formato digital (electrnico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rpida y estructurada. Las propiedades de estos SGBD, as como su utilizacin y administracin, se estudian dentro del mbito de la informtica. Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas. Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar la informacin experimental. 2.3.2.- Base de Datos Relacional ste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las bases de datos relacionales creadas por Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La informacin puede ser recuperada o almacenada mediante "consultas"
22

que ofrecen una amplia flexibilidad y poder para administrar la informacin. El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Consultas, un estndar implementado por los

Estructurado de relacionales.

principales motores o sistemas de gestin de bases de datos

Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como normalizacin de una base de datos.

23

CAPITULO III DESARROLLO DEL PROYECTO 3.- Anlisis 3.1.- Modelos de Negocio A.- Diagrama de caso de uso de negocio

B.- Descripcin y las reglas de los procesos de negocio Descripcin del proceso Actores Reglas Empadronar a los agricultores y y Para que el sus campos. y y El asesor se dirige al campo El asesor le pide su recibo de consumo elctrico y dni al agricultor y El asesor escribe sus datos del agricultor, tambien sobre las caractersticas de sus campos, cuando incio la campaa agrcola, la rentabilidad y costo de su campaa y El asesor le pide datos sobre las caractersticas de los suelos de sus campos. y El asesor registra todos los datos en una ficha. Gestin clientes de los y Tcnicos y Para que el
24

y Tcnicos y Ingenieros agrnomos y Ingenieros ambientales de la organizacin. y Agricultor

agricultor sea empadronado debe presentar su recibo de consumo elctrico y DNI. y El llenado de la ficha solo puede hacerlo personal de la organizacin.

agricultores. y El asesor se dirige al campo y le pide informacin al agricultor sobre sus datos personales. y El asesor le pide al agricultor datos sobre sus clientes potenciales, y caractersticas. y El asesor luego registra los datos en una ficha.

y Ingenieros agrnomos y Ingenieros ambientales de la organizacin. y Agricultor

asesor llene la ficha de clientes del agricultor, este debe presentar su recibo de consumo elctrico y DNI. y El llenado de la ficha solo puede hacerlo personal de la organizacin.

25

C.- Modelos objeto negocio Modelo objeto negocio de Empadronamiento de agricultores y sus campos.

26

Modelo objeto negocio de gestin clientes de los agricultores

D.- Diagrama o modelo de dominio

27

3.2.- Diagrama de actividades forma de flujo de trabajo. Diagrama de actividades de empadronamiento de agricultores y sus campos

28

Diagrama de actividades de gestin clientes de los agricultores.

3.3.- Especificacin de los requerimientos del sistema 3.3.1.- Funcionales. y Registrar los datos de los agricultores que se empadronan, en el cual se tendr en cuenta los nombres, apellidos, direccin, telfono, distrito, nmero de DNI. y Registrar los datos sobre los campos de los agricultores, sus caractersticas como nombre, zona donde est el campo, rea del campo, permetro, cultivos anteriores, latitud, longitud. y Registrar los datos de las campaas agrcolas como nombre, fecha de inicio, fecha de trmino, costo de la campaa, rentabilidad. y Registrar los datos de los suelos de los campos como conductividad, materia orgnica, ph, cantidad de k, de p.

29

y Registrar los datos de los clientes de los agricultores, como nombre, apellidos, razn social, direccin, telfono, e-mail. y Consultar en la aplicacin, los agricultores por nombre. y Consultar en la aplicacin, los campos de los agricultores por nombre. y Consultar en la aplicacin, las campaas agrcolas por nombre. y Registrar cambios efectuados en los registros de agricultores, campos, campaas, suelos y clientes de los agricultores. y Controlar el acceso al sistema mediante el reconocimiento de usuario y contrasea. 3.3.2.- No funcionales. Interfaces La aplicacin web debe de permitir el ingreso de datos en forma sencilla, permitiendo al usuario la utilizacin de las herramientas usuales en entorno web para el manejo de links, scroll, paginacin web y otros. 3.3.3.- Externos. Hardware: La aplicacin web se debe de implementar en un servidor web. Se alquilara o subir la aplicacin en un servidor de internet. Software: La aplicacin funcionara en el sistema operativo Linux versin para servidores. Usuario: Los usuarios debern tener conocimientos bsicos de computacin.

30

3.4.- DISEO 3.4.1.- Diagrama de casos de uso de Empadronamiento de agricultores y sus campos

31

3.4.2.- Diagrama de casos de uso de gestin clientes de los agricultores

32

3.4.3.- DIAGRAMA DE CLASES

33

3.4.4.- DIAGRAMA DE ESTADO DE LOS OBJETOS 3.4.4.1.- Diagrama de estado del agricultor

34

3.4.4.2.- Diagrama de estado del asesor

35

3.4.5.- DIAGRAMAS DE SECUENCIA 3.4.5.1.- Diagrama de secuencia de guiAcceso hasta guiEspecifico Descripcin: esta secuencia se realiza una o muchas veces, pero como mnimo es una vez, el proceso consiste en ingresar al interfaz de acceso su nombre de usuario y una contrasea con el que tendr acceso como mnimo a la pantalla principal, se comprobara que el usuario tiene permisos en la guiEspecifica.

36

3.4.5.2.- Diagrama de secuencia de registro agricultor

37

3.4.5.3.- Diagrama de secuencia de modificacin de datos de agricultor

38

3.4.5.4.- Diagrama de secuencia de registro de campos de cultivo

39

3.4.5.5.- Diagrama de secuencia de modificacin de datos de campos de cultivo

40

3.4.5.6.- Diagrama de secuencia de registro de suelos

41

3.4.5.7.- Diagrama de secuencia de modificacin de datos de suelos

42

3.4.6.- DIAGRAMA DE COMPONENTES

43

3.4.7.- DIAGRAMA DE DESPLIEGE

44

3.4.8.- DISEO LGICO DE LA BASE DE DATOS

3.4.9.- MAPEO DE LAS ENTIDADES DE LA BASE DE DATOS Entidad: Agricultor campo Tipo datos idagricultor varchar nombres varchar apellidos varchar dni varchar direccion varchar Tipo llave Primary key ----------------------------------------------------------------N/NN No nulo No nulo No nulo nulo nulo Rango [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9] [0-9],[a-z] ejemplo 0745 Pablo Pedro Lopez Antunes 08090810 Jr. Centenario 567 ejemplo 203 El arrabal papa 10/10/2010 12/08/2011 papa

Entidad: Campaa campo Tipo datos idcampaa varchar nombre varchar Fecha_inicio date Fecha_fin date cultivo varchar Entidad: campos campo Tipo datos

Tipo llave N/NN Primary key No nulo ---------------- No nulo ---------------- No nulo ---------------- nulo ---------------- nulo

Rango [0-9],[a-z] [0-9],[a-z] [0-9],/ [0-9],/ [0-9],[a-z]

Tipo llave

N/NN

rango

ejemplo
45

idcampos nombre distrito zona area cultivos_ante perimetro Latitud longitud

varchar varchar varchar varchar int varchar int Varchar varchar

Primary key No nulo ---------------- No nulo ---------------- nulo ---------------- nulo ---------------------------------------------------------------------------Tipo llave Primary key -------------------------------------------------------------------------------------------------------------------------------------------------------Tipo llave Primary key ----------------------------------------------------------------------------Tipo llave nulo nulo nulo Nulo nulo N/NN No nulo No nulo nulo nulo nulo nulo nulo nulo nulo nulo nulo N/NN No nulo No nulo No nulo No nulo nulo nulo N/NN

[0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9] [0-9],[a-z] [0-9] [0-9],[a-z] [0-9],[a-z] rango [0-9],[a-z] [0-9],/ [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] rango [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z] [0-9]

098 Campo papasa pariacoto Rio alto santa 3000 Maz, trigo 150 S15O N45E ejemplo 012 10/12/2010 4 amp. 10 m. 5% 2% 2.3% 1.9% 0.6% 0.3% 2.5 ejemplo 0303 123456 Mateo Luis Seminario Garca Tcnico agricola 08090829 ejemplo 0984 Sandro Carlos Messi Diaz Mercado abastos sur
46

Entidad: suelos campo Tipo datos idsuelo varchar Fecha date conductividad varchar profundidad varchar materia_orga varchar nitrogeno varchar humedad varchar arcilla varchar carbono varchar mg varchar ph varchar Entidad: asesor campo Tipo datos idasesor varchar password varchar nombres varchar apellidos varchar cargo DNI varchar varchar

Entidad: clientes campo Tipo datos idclientes int nombres apellidos varchar varchar

rango [0-9] [0-9],[a-z] [0-9],[a-z] [0-9],[a-z]

Razn_social varchar

Primary key No nulo ---------------- No nulo --------------- No nulo ---------------- nulo

direccion Telfono email

varchar Varchar varchar

---------------- nulo ---------------- Nulo ---------------- nulo

[0-9],[a-z] [0-9] [0-9],[a-z]

Calle universo 290 Ate 4367890 sjueik@gmail.com

Entidad: rentabilidad campo Tipo dato idrentabilidad int rendimiento decimal precio decimal utilidad decimal tasa decimal Entidad: costos campo Tipo dato idcostos int Mano_obra decimal Insumos decimal Maquinaria decimal Cosecha decimal envasado decimal transporte decimal Asist_tecnica decimal Costos_adm decimal Costo_total decimal

Tipo llave Primary key ------------------------------------------------------------Tipo llave Primary key --------------------------------------------------------------------------------------------------------------------------------

N/NN No nulo No nulo nulo nulo nulo N/NN No nulo nulo nulo nulo nulo nulo nulo nulo nulo nulo

rango [0-9] [0-9] [0-9] [0-9] [0-9] rango [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]

ejemplo 7890 1000890 8907 900678 1.2% ejemplo 6001 250000 3000 25000 789 2340 2000 500 1200 300000

47

3.4.10.- DISEO DE INTERFACES DE ENTRADA Y SALIDA. Gui Acceso

Gui principal

48

Gui agricultor

Gui modificacin agricultor

49

Gui campaas

Gui modificacin de campaas

50

Gui campos

Gui suelos

51

Gui mensaje usuario errneo

Gui mensaje tiene que logearse

52

Gui mensaje cerrar sesin

53

3.5.- DESARROLLO 3.5.1.- TRASFORMACIN DEL MODELO DE DATOS A LA BASE DE DATOS. EL modelo de datos se ha hecho con el software Mysql Workbench, despus se ha aplicado ingeniera directa para generar la base de datos, el cdigo es el siguiente:

CODIGO DE LA BASE DE DATOS SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; CREATE SCHEMA IF NOT EXISTS `agro` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ; USE `agro`; DROP TABLE IF EXISTS `agro`.`asesor` ; CREATE TABLE IF NOT EXISTS `asesor` ( `idusuario` VARCHAR(4) NOT NULL , `password` VARCHAR(6) NOT NULL , `nombres` VARCHAR(45) NULL , `apellidos` VARCHAR(45) NULL , `cargo` VARCHAR(45) NULL , `dni` VARCHAR(8) NULL , PRIMARY KEY (`idusuario`) ) ENGINE = InnoDB; DROP TABLE IF EXISTS `agro`.`agricultor` ; CREATE TABLE IF NOT EXISTS `agricultor` (

54

`idagricultor` VARCHAR(4) NOT NULL , `nombres` VARCHAR(45) NULL , `apellidos` VARCHAR(45) NULL , `dni` VARCHAR(8) NULL , `direccion` VARCHAR(45) NULL , `telefono` VARCHAR(9) NULL , `asesor_idusuario` VARCHAR(4) NULL , PRIMARY KEY (`idagricultor`) , CONSTRAINT `fk_agricultor_asesor1` FOREIGN KEY (`asesor_idusuario` ) REFERENCES `asesor` (`idusuario` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_agricultor_asesor1` ON `agricultor` (`asesor_idusuario` ASC) ; DROP TABLE IF EXISTS `agro`.`campos` ; CREATE TABLE IF NOT EXISTS `campos` ( `idcampos` VARCHAR(3) NOT NULL , `nombre` VARCHAR(45) NULL , `provincia` VARCHAR(45) NULL , `zona` VARCHAR(45) NULL , `area` INT(5) NULL , `cultivos_ante` VARCHAR(45) NULL ,

55

`perimetro` INT(6) NULL , `latitud` VARCHAR(6) NULL , `longitud` VARCHAR(6) NULL , `agricultor_idagricultor` VARCHAR(4) NULL , PRIMARY KEY (`idcampos`) , CONSTRAINT `fk_campos_agricultor1` FOREIGN KEY (`agricultor_idagricultor` ) REFERENCES `agricultor` (`idagricultor` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_campos_agricultor1` ON `campos` (`agricultor_idagricultor` ASC) ; DROP TABLE IF EXISTS `agro`.`suelo` ; CREATE TABLE IF NOT EXISTS `suelo` ( `idsuelo` VARCHAR(3) NOT NULL , `fecha` DATE NULL , `conductividad` VARCHAR(45) NULL , `profundidad` VARCHAR(45) NULL , `materia_orga` VARCHAR(45) NULL , `nitrogeno` VARCHAR(45) NULL , `humedad` VARCHAR(45) NULL , `arcilla` VARCHAR(45) NULL , `carbobo` VARCHAR(45) NULL , `mg` VARCHAR(45) NULL ,

56

`na` VARCHAR(45) NULL , `p` VARCHAR(45) NULL , `k` VARCHAR(45) NULL , `s` VARCHAR(45) NULL , `ph` VARCHAR(45) NULL , `ca` VARCHAR(45) NULL , `observaciones` VARCHAR(100) NULL , `campos_idcampos` VARCHAR(3) NULL , PRIMARY KEY (`idsuelo`) , CONSTRAINT `fk_suelo_campos1` FOREIGN KEY (`campos_idcampos` ) REFERENCES `campos` (`idcampos` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_suelo_campos1` ON `suelo` (`campos_idcampos` ASC) ; DROP TABLE IF EXISTS `agro`.`campana` ; CREATE TABLE IF NOT EXISTS `campana` ( `idcampana` VARCHAR(3) NOT NULL , `nombre` VARCHAR(45) NULL , `fecha_inicio` DATE NULL , `fecha_fin` DATE NULL , `cultivo` VARCHAR(45) NULL , `agricultor_idagricultor` VARCHAR(4) NULL ,

57

PRIMARY KEY (`idcampana`) , CONSTRAINT `fk_campana_agricultor1` FOREIGN KEY (`agricultor_idagricultor` ) REFERENCES `agricultor` (`idagricultor` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_campana_agricultor1` ON `campana` (`agricultor_idagricultor` ASC) ; DROP TABLE IF EXISTS `agro`.`costos` ; CREATE TABLE IF NOT EXISTS `costos` ( `idcostos` INT NOT NULL AUTO_INCREMENT , `mano_obra` DECIMAL(12,2) NULL , `insumos` DECIMAL(12,2) NULL , `maquinaria` DECIMAL(12,2) NULL , `cosecha` DECIMAL(12,2) NULL , `envasado` DECIMAL(12,2) NULL , `transporte` DECIMAL(12,2) NULL , `asistencia_tec` DECIMAL(12,2) NULL , `gastos_admin` DECIMAL(12,2) NULL , `costo_total` DECIMAL(12,2) NULL , `campana_idcampana` VARCHAR(3) NULL , PRIMARY KEY (`idcostos`) , CONSTRAINT `fk_costos_campana1` FOREIGN KEY (`campana_idcampana` )

58

REFERENCES `campana` (`idcampana` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_costos_campana1` ON `costos` (`campana_idcampana` ASC) ; DROP TABLE IF EXISTS `agro`.`rentabilidad` ; CREATE TABLE IF NOT EXISTS `rentabilidad` ( `idrentabilidad` INT NOT NULL AUTO_INCREMENT , `rendimiento` DECIMAL(12,2) NULL , `precio` DECIMAL(12,2) NULL , `utilidad` DECIMAL(12,2) NULL , `tasa` DECIMAL(12,2) NULL , `campana_idcampana` VARCHAR(3) NULL , PRIMARY KEY (`idrentabilidad`) , CONSTRAINT `fk_rentabilidad_campana1` FOREIGN KEY (`campana_idcampana` ) REFERENCES `campana` (`idcampana` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_rentabilidad_campana1` ON `rentabilidad` (`campana_idcampana` ASC) ; DROP TABLE IF EXISTS `agro`.`proveedores` ; CREATE TABLE IF NOT EXISTS `proveedores` ( `idproveedores` INT NOT NULL AUTO_INCREMENT ,

59

`nombre_empresa` VARCHAR(45) NULL , `contacto` VARCHAR(45) NULL , `repre_legal` VARCHAR(45) NULL , `producto` VARCHAR(45) NULL , `direccion` VARCHAR(45) NULL , `telefono` VARCHAR(10) NULL , `celular` VARCHAR(10) NULL , `fax` VARCHAR(10) NULL , `email` VARCHAR(50) NULL , `agricultor_idagricultor` VARCHAR(4) NULL , PRIMARY KEY (`idproveedores`) , CONSTRAINT `fk_proveedores_agricultor1` FOREIGN KEY (`agricultor_idagricultor` ) REFERENCES `agricultor` (`idagricultor` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_proveedores_agricultor1` ON `proveedores` (`agricultor_idagricultor` ASC) ; DROP TABLE IF EXISTS `agro`.`clientes` ; CREATE TABLE IF NOT EXISTS `clientes` ( `idclientes` INT NOT NULL AUTO_INCREMENT , `nombres` VARCHAR(45) NULL , `apellidos` VARCHAR(45) NULL , `razon_social` VARCHAR(45) NULL ,

60

`direccion` VARCHAR(45) NULL , `telefono` VARCHAR(11) NULL , `email` VARCHAR(50) NULL , `agricultor_idagricultor` VARCHAR(4) NULL , PRIMARY KEY (`idclientes`) , CONSTRAINT `fk_clientes_agricultor` FOREIGN KEY (`agricultor_idagricultor` ) REFERENCES `agricultor` (`idagricultor` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE INDEX `fk_clientes_agricultor` ON `clientes` (`agricultor_idagricultor` ASC) ; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

61

3.5.2.- CODIFICACIN DE LAS INTERFACES MS IMPORTANTES DEL SISTEMA. Index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Empadronamiento de Agricultores y sus Campos de Cultivo</title> <style type="text/css"> <!-.Estilo1 {font-family: Verdana, Arial, Helvetica, sans-serif} --> </style> <link rel="stylesheet" type="text/css" href="Estilos.css"> <Script language="JavaScript" type="text/javascript" src="Teclado.js"></Script> </head> <body onLoad="marcador('contenedor','pass');"> <br><br><br><br> <center> <table width="850" border="0"> <tr> <td><div align="center" class="Estilo1"><img src="imagenes/empa.jpg" width=840></div></td> </tr> </table> <form id="form1" name="form1" method="post" action="login.php"> <table width="850" border="0"> <tr> <td width="327"></td> <td width="89"></td> <td width="167"></td> <td width="250"><div align="center">Teclado Virtual</div></td> </tr> <tr> <td>&nbsp;</td> <td><span class="Estilo1">Usuario</span></td> <td><input type="text" name="usu" id="usu" /></td> <td rowspan="4"><div id="contenedor"></div></td>
62

</tr> <tr> <td>&nbsp;</td> <td><span class="Estilo1">Password</span></td> <td><input type="password" name="pass" id="pass" readonly="true"/></td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td><label> <input type="submit" name="enviar" id="enviar" value="Ok" /> </label></td> <td>&nbsp;</td> </tr> </table> </form> <p>&nbsp;</p> <table width="850" border="0"> <tr bordercolor="#0033FF"> <td width="213">&nbsp;</td> <td width="112">&nbsp;</td> <td width="502" align="right">Desarrollado para la ONG Agroecoser</td> </tr> </table> </center> <p>&nbsp;</p> </body> </html> Agricultor.php <?php require("cabecera.php"); include("conection.php");$link=Conectarse(); ?> <div class="imagen" align="left"> <table>
63

<tr><td> <form action="" method="post"> Apellido:<input type="text" name="ape" class="input" /> <input type="submit" name="buscar" value="Buscar" class="button" /> </form> </td> <td><a class="boton" href="nuevoAgricultor.php">Nuevo</a></td> </tr> </table> <?php $bus=$_POST['buscar']; if (strlen($bus)!=0){ $ape=$_POST['ape']; $SQL1="select * from agricultor where apellidos like '%$ape%'"; $rs=mysql_query($SQL1,$link);

if($row=mysql_fetch_array($rs)){ mysql_field_seek($rs,0); while($field=mysql_fetch_field($rs)){ } ?> <br><font color="#FFFFFF"><B>Lista de Agricultores</B> </font> <br> <table border=1> <tr bgcolor="#FFFFFF"> <td>Codigo</td> <td>Nombres</td> <td>Apellidos</td> <td>DNI</td> <td>Distrito</td> <td colspan="2" align="center">Opciones</td> </tr> <?php do{ ?> <tr> <td><?php echo $row[0]; ?></td>
64

<td><?php echo $row[1]; ?></td> <td><?php echo $row[2]; ?></td> <td><?php echo $row[3]; ?></td> <td><?php echo $row[7]; ?></td> <td><a href="modiAgricultor.php?agriID=<?php echo $row[0]; ?>">[Modificar]</a></td> <td><a onclick="return confirm('esta seguro de eliminar el registro?');" href="eliAgricultor.php?agriID=<?php echo $row[0]; ?>">[Eliminar]</a></td> </tr> <?php } while($row=mysql_fetch_array($rs)); ?> </table> <?php } else { ?> <script> alert('No se encontraron resultados'); </script> <?php } }?> </div> <?php require("pie.php"); ?> nuevoAgricultor.php <?php require("cabecera.php"); include("conection.php");$link=Conectarse(); ?> <div class="imagen"> Datos Agricultor <br> <table border="0"> <tr> <td>Nombres</td><td><input type="text" name="nombre"></td> </tr> <tr> <td>Apellidos</td><td><input type="text" name="ape"></td> </tr>
65

<tr> <td>DNI</td><td><input type="text" name="nombre"></td> </tr> <tr> <td>Direccion</td><td><input type="text" name="nombre"></td> </tr> <tr> <td>Telefono</td><td><input type="text" name="nombre"></td> </tr> <tr> <td>Asesor</td> <td> <select name="asesorID" id="asesorID"> <?php $SQL2="select idusuario, nombres, apellidos from asesor order by nombres"; $res2=mysql_query($SQL2,$link); if ($row=mysql_fetch_array($res2)){ mysql_field_seek($res2,0); while ($field=mysql_fetch_field($res2)){ } do{ echo "<option value=".$row[0].">".$row[1].$row[2]."</option>"; }while ($row=mysql_fetch_array($res2)); } else{ echo "no se encontraron resultados"; } ?> </select> </td> </tr> </table> </div> <?php require("pie.php"); ?> modiCampana.php <?php require("cabecera.php"); include("conection.php");$link=Conectarse(); $campID=$_GET['camID'];
66

$SQL1="select * from campana where idcampana='$campID'"; $res1=mysql_query($SQL1,$link); if ($row=mysql_fetch_array($res1)){ mysql_field_seek($res1,0); while ($field=mysql_fetch_field($res1)){ }do { $nom=$row[1]; $fi=$row[2]; $ff=$row[3]; $cultivo=$row[4]; $agriID=$row[5]; }while ($row=mysql_fetch_array($res1)); }else{ echo "No se encontraron resultados"; } $dia1=substr($fi,8,2); if ($dia1<10) $dia1=substr($dia1,1,1); $mes1=substr($fi,5,2); $year1=substr($fi,0,4); $dia2=substr($ff,8,2); if ($dia2<10) $dia2=substr($dia2,1,1); $mes2=substr($ff,5,2); $year2=substr($ff,0,4); ?> <div class="imagen"> Datos de Campa&ntilde;a<br> <form action="guardar2Campana.php" method="post"> <table border="0" width="388"> <tr> <td width="81">Nombre</td> <td width="297"><input name="nombre" type="text" class="input" size="36" width="150" value="<?php echo $nom; ?>"></td> </tr> <tr> <td>Fecha Inicio</td> <td>Dia<select name="dia1" id="dia1"><?php for($i=1;$i<32;$i++){ ?> <option value=<?php echo $i; ?><?php if ($i==$dia1){?> selected <?php } ?>><?php echo $i; ?></option> <?php } ?></select> Mes<select name="mes1" id="mes1"> <option value="01" <?php if($mes1=="01") {?> selected <?php }?>>Enero</option>
67

<option value="02" <?php if($mes1=="02") {?> selected <?php }?>>Febrero</option> <option value="03" <?php if($mes1=="03") {?> selected <?php }?>>Marzo</option> <option value="04" <?php if($mes1=="04") {?> selected <?php }?>>Abril</option> <option value="05" <?php if($mes1=="05") {?> selected <?php }?>>Mayo</option> <option value="06" <?php if($mes1=="06") {?> selected <?php }?>>Junio</option> <option value="07" <?php if($mes1=="07") {?> selected <?php }?>>Julio</option> <option value="08" <?php if($mes1=="08") {?> selected <?php }?>>Agosto</option> <option value="09" <?php if($mes1=="09") {?> selected <?php }?>>Setiembre</option> <option value="10" <?php if($mes1=="10") {?> selected <?php }?>>Octubre</option> <option value="11" <?php if($mes1=="11") {?> selected <?php }?>>Noviembre</option> <option value="12" <?php if($mes1=="12") {?> selected <?php }?>>Diciembre</option> </select> A&ntilde;o<select name="year1" id="year1"> <?php for($i=2008;$i<2016;$i++) { ?> <option <?php if ($i==$year1) {?> selected <?php } ?>><?php echo $i; ?></option> <?php } ?></select> </select> </td> </tr> <tr> <td>Fecha Fin</td> <td>Dia<select name="dia2" id="dia2"><?php for($i=1;$i<32;$i++){ ?> <option value=<?php echo $i; ?><?php if ($i==$dia2){?> selected <?php } ?>><?php echo $i; ?></option> <?php } ?></select> Mes<select name="mes2" id="mes2"> <option value="01" <?php if($mes2=="01") {?> selected <?php }?>>Enero</option> <option value="02" <?php if($mes2=="02") {?> selected <?php }?>>Febrero</option> <option value="03" <?php if($mes2=="03") {?> selected <?php }?>>Marzo</option>

68

<option value="04" <?php if($mes2=="04") {?> selected <?php }?>>Abril</option> <option value="05" <?php if($mes2=="05") {?> selected <?php }?>>Mayo</option> <option value="06" <?php if($mes2=="06") {?> selected <?php }?>>Junio</option> <option value="07" <?php if($mes2=="07") {?> selected <?php }?>>Julio</option> <option value="08" <?php if($mes2=="08") {?> selected <?php }?>>Agosto</option> <option value="09" <?php if($mes2=="09") {?> selected <?php }?>>Setiembre</option> <option value="10" <?php if($mes2=="10") {?> selected <?php }?>>Octubre</option> <option value="11" <?php if($mes2=="11") {?> selected <?php }?>>Noviembre</option> <option value="12" <?php if($mes2=="12") {?> selected <?php }?>>Diciembre</option> </select> A&ntilde;o<select name="year2" id="year2"> <?php for($i=2008;$i<2016;$i++) { ?> <option <?php if ($i==$year2) {?> selected <?php } ?>><?php echo $i; ?></option> <?php } ?></select> </select> </td> </tr> <tr><td>Cultivo</td><td> <select name="cul" id="cul"> <option <?php if ($cultivo=="Papa") {?> selected <?php } ?>>Papa</option> <option <?php if ($cultivo=="Maiz") {?> selected <?php } ?>>Maiz</option> <option <?php if ($cultivo=="Trigo") {?> selected <?php } ?>>Trigo</option> <option <?php if ($cultivo=="Algodon") {?> selected <?php } ?>>Algodon</option> <option <?php if ($cultivo=="Cebada") {?> selected <?php } ?>>Cebada</option> <option <?php if ($cultivo=="Oca") {?> selected <?php } ?>>Oca</option> </select> </td></tr> <tr><td>Agricultor</td><td> <select name="agriID" id="agriID" >
69

<?php $SQL2="select idagricultor, nombres, apellidos from agricultor order by idagricultor"; $res2=mysql_query($SQL2,$link); if ($row=mysql_fetch_array($res2)){ mysql_field_seek($res2,0); while ($field=mysql_fetch_field($res2)){ } do{?> <option value=<? echo $row[0]; ?><? if ($agriID==$row[0]){?> selected <?php } ?>><?php echo $row[1]." ".$row[2] ?></option> <?php }while ($row=mysql_fetch_array($res2)); } else{ echo "no se encontraron resultados"; } ?> </select> </td></tr> <tr> <td>&nbsp;</td> <td></td></tr> <tr><td colspan="2" align="center"><input type="submit" value="Guardar" class="button"></td></tr> <tr><td><input name="campID" type="hidden" value="<?php echo $campID; ?>"></td></tr> </table> </form> </div> <?php require("pie.php"); ?> Campos.php <?php require("cabecera.php"); include("conection.php");$link=Conectarse(); ?> <div class="imagen" align="left">
70

<table> <tr><td> <form action="" method="post"> Distrito<select name="dis" id="dis"> <option>---Seleccionar---</option> <option>Huaraz</option> <option>Cochabamba</option> <option>Colcabamba</option> <option>Huanchay</option> <option>Jangas</option> <option>La libertad</option> <option>Olleros</option> <option>Pampas</option> <option>Pariacoto</option> <option>Pira</option> <option>Tarica</option> <option>Independencia</option> </select> Direccion<input type="text" name="dir" class="input"> <input type="submit" name="buscar" value="Buscar" class="button"> </form> </td> <td><a class="boton" href="nuevoCampo.php">Nuevo</a></td> </tr> </table> <?php $bus=$_POST['buscar']; if (strlen($bus)!=0){ $dis=$_POST['dis']; $dir=$_POST['dir']; $SQL1="select * from campos where provincia='$dis' and zona like '%$dir%'"; $rs=mysql_query($SQL1,$link);

if($row=mysql_fetch_array($rs)){ mysql_field_seek($rs,0); while($field=mysql_fetch_field($rs)){ }


71

?> <br><font color="#FFFFFF"><B>Lista de Campos</B> </font> <br> <table border=1> <tr bgcolor="#FFFFFF"> <td>Codigo</td> <td>Nombre</td> <td>Distrito</td> <td>Direccion</td> <td colspan="3" align="center">Opciones</td> </tr> <?php do{ ?> <tr> <td><?php echo $row[0]; ?></td> <td><?php echo $row[1]; ?></td> <td><?php echo $row[2]?></td> <td><?php echo $row[3]; ?></td> <td><a href="modiCampo.php?camID=<?php echo $row[0]; ?>">[Modificar]</a></td> <td><a onclick="return confirm('esta seguro de eliminar el registro?');" href="eliCampo.php?camID=<?php echo $row[0]; ?>">[Eliminar]</a></td> <td><a href="detalleCampo.php?camID=<?php echo $row[0]; ?>">[Detalle]</a></td> </tr> <?php } while($row=mysql_fetch_array($rs)); ?> </table> <?php } else { ?> <script> alert('No se encontraron resultados'); </script> <?php } }?> </div> <?php require("pie.php"); ?>

72

3.5.3.- CD, CON EL SOFTWARE

73

BIBLIOGRAFIA y Presman, Roger S. Ingenieria del Software. Barcelona, Espaa: Editorial Mac Graw hill; 2005. y Elmasri, Rames. Fundamentos de Sistemas de Base de Datos. Madrid, Espaa: Editorial Addison Wesley; 2006. y Adoracion de Miguel, Juan. Ingenieria del Software. Barcelona, Espaa: Editorial Alfaomega; 2005. y Piattini, M. Anlisis y diseo detallado de Aplicaciones Informticas de Gestin. Madrid, Espaa: Editorial Ra-ma; 2004. y Jacobson, Rumbaugh. El Proceso Unificado de Desarrollo de Software. Barcelona, Espaa: Editorial Addison Wesley; 1999. y De la Cruz Villar, Joel. Php & Mysql 5.0. Lima, Peru: Editorial Megabyte; 2009. y Bustamante Gutierrez, Cesar. Php & Mysql 5.0. Lima, Peru: Editorial Graperu; 2008.

74

CONCLUSIONES y Se puede mejorar el proceso de empadronamiento de agricultores y sus campos de cultivo, a travs de la implementacin de la aplicacin web con base de datos. y La metodologa de desarrollo de proyecto software es apropiada para estos casos, ya que cuenta con muchas ventajas desde la creacin de un estudio detallado de la situacin problemtica hasta la ejecucin del sistema en s. y Si es posible aplicar ingeniera de software, para solucionar la necesidad de empadronar a los agricultores y sus campos de cultivo. y Es muy importante el lenguaje de modelado UML, es una gran ayuda para desarrollar proyectos de software, se basa en los requerimientos de los procesos a automatizar.

75

RECOMENDACIONES y Se debe dedicar un presupuesto ms extenso, por parte de la organizacin (ONG Agroecoser), para implementar proyectos software a fin de simplificar trmites y procesos administrativos. y Se debe mejorar la infraestructura de hardware para poder llevar a cabo la creacin de nuevos proyectos, mucho ms sofisticados. y Se puede usar distintas metodologas segn se requiera por parte de los ingenieros de sistemas, siempre que se preste real atencin a las necesidades de la empresa. y Se debe de realizar todos los procesos para hacer un proyecto software a fin de que se obtenga un buen sistema de informacin acorde a los requerimientos del usuario final. y El proyecto software debe estar alineado estratgicamente con los objetivos de la organizacin.

76

You might also like