Subido por CESAR MIER

42796

Anuncio
DESARROLLO DE UN APLICATIVO PARA EL REGISTRO Y SEGUIMIENTO DE
LA INFORMACIÓN DE LOS PROCESOS JUDICIALES EN EL CONSORCIO AJ
ABOGADOS
JUAN MANUEL VELA GOMEZ
JHONNATAN CAMILO ORTIZ SORIANO
PROYECTO DE GRADO
CLAUDIA RODRIGUEZ
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE TECNOLOGÍA
TECNOLOGÍA DE SISTEMAS
BOGOTA D. C.
2.008
1
DESARROLLO DE UN APLICATIVO PARA EL REGISTRO Y SEGUIMIENTO DE
LA INFORMACIÓN DE LOS PROCESOS JUDICIALES EN EL CONSORCIO AJ
ABOGADOS
JUAN MANUEL VELA GOMEZ
JHONNATAN CAMILO ORTIZ SORIANO
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE TECNOLOGÍA
TECNOLOGÍA DE SISTEMAS
BOGOTA D. C.
2.008
2
Nota de Aceptación:
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
__________________________________
Firma del presidente del jurado
_________________________________
Firma del jurado
_________________________________
Firma del jurado
Bogotá D. C., 24/05/2008/
3
CONTENIDO
INTRODUCCIÓN ..................................................................................................... 1
1. PLANTEAMIENTO DEL PROBLEMA .............................................................. 2
1.1 ANTECEDENTES .............................................................................................. 2
1.2 DESCRIPCIÓN DEL PROBLEMA ..................................................................... 2
1.3 JUSTIFICACIÓN ................................................................................................ 3
1.4 OBJETIVOS ....................................................................................................... 3
1.4.1 OBJETIVO GENERAL .................................................................................... 3
1.4.2 OBJETIVOS ESPECÍFICOS ........................................................................... 4
1.5 ALCANCES Y LIMITACIONES .......................................................................... 4
1.5.1 ALCANCES..................................................................................................... 4
1.5.2 LIMITACIONES ............................................................................................... 4
2. MARCO DE REFERENCIA............................................................................... 5
2.1 MARCO TEÓRICO – CONCEPTUAL ............................................................... 5
2.1.1 Metodologías .................................................................................................. 5
a. Programación Extrema ........................................................................................ 5
b. Programación RUP .............................................................................................. 5
c. Métrica V3 ........................................................................................................... 6
d. Microsoft Solution Framework (MSF) .................................................................. 6
2.1.2. Lenguajes de programación......................................................................... 10
a. JSP ................................................................................................................... 10
b. PHP .................................................................................................................. 10
2.1.3 Motores de bases de datos ........................................................................... 12
a. PostgreSQL ....................................................................................................... 12
b. MySQL .............................................................................................................. 13
2.2
MARCO LEGAL ........................................................................................... 22
3. METODOLOGÍA ............................................................................................. 23
3.1
ENFOQUE DE LA INVESTIGACIÓN ........................................................... 23
4
3.2 LÍNEA DE INVESTIGACIÓN / SUB-LÍNEA DE FACULTAD/ CAMPO
TEMÁTICO DEL PROGRAMA............................................................................... 23
4. DESARROLLO DEL PROYECTO .................................................................. 24
4.1 FASE 1°- PREVISION ..................................................................................... 24
4.2 FASE 2° - PLANIFICACIÓN............................................................................. 25
4.3 FASE 3° - DESARROLLO ............................................................................... 34
4.4 FASE 4° - ESTABILIZACIÓN ........................................................................... 36
4.5 FASE 5° - IMPLEMENTACIÓN ........................................................................ 36
5. PRESUPUESTO ................................................................................................ 37
BIBLIOGRAFÍA ..................................................................................................... 39
ANEXOS ................................................................................................................ 40
GLOSARIO ............................................................................................................ 61
5
LISTA DE TABLAS
Tabla 1. Cuadro comparativo metodologías…..………………………………………9
Tabla 2. Cuadro lenguajes de programación…………………………………………11
Tabla 3. Cuadro comparativo motores bases de datos……………………………..15
1
LISTA DE FIGURAS
Figura 1. Representación distribuida…………………………………………...……..20
Figura 2. Representación remota……………………………………………...………20
Figura 3. Lógica distribuida…………………………………………………...………..20
Figura 4. Gestión remota de datos…………………………………………………….22
Figura 5. Bases de datos distribuidos……………………………………...………....22
Figura 6. Cliente servidor a tres niveles…………………………………...………….22
Figura 7. Caso de uso contextual…………………………………………...…………25
Figura 8. Caso de uso gerente nivel 1……………………………………...…………25
Figura 9. Caso de uso gerente nivel 2……………………………………...…………26
Figura 10. Caso de uso abogado nivel 1…………………………………...……...…28
Figura 11. Caso de uso abogado nivel 2…………………………………...………...28
Figura 12. Caso de uso administrador 1…………………………………..…………30
Figura 13. Caso de uso administrador 2…………………………………..…………30
Figura 14. Caso de uso secretaria nivel 1………………………………...………….32
Figura 15. Caso de uso secretaria nivel 2………………………………...………….32
2
INTRODUCCIÓN
El mundo de hoy se está globalizando y cada vez se hace más necesario que
todas las partes que conforman esta sociedad se actualicen y estén a la
vanguardia con las demás, por tal motivo las pequeñas empresas en Colombia y
en el mundo buscan sistematizarse para así estar a la altura de las grandes
empresas y poder progresar.
De lo anterior surge la oferta que hace la tecnología para la solución de aquellos
problemas de organización que no permite que una empresa se supere. Muchas
de las labores realizadas hoy en día pueden ser o son más productivas cuando se
utiliza la tecnología o un software, sea cual sea el ámbito en que se esté
trabajando. Lastimosamente el área jurídica en Colombia es uno de los campos
que menos hace uso de la tecnología.
Por tal razón es importante el desarrollo de este proyecto, para mejorar los
procesos en los que son desarrollados en una oficina normal de abogados, dentro
de este trabajo se mostrará una posible solución que se les puede brindar a los
servidores de la Justicia del país.
Con este proyecto se pretende brindar una solución económica y a la medida de
un problema que esta afectando el gremio de los abogados, debido a la falta de un
aplicativo que se encuentre a su alcance en el mercado permitiendo realizar un
buen registro y seguimiento de los procesos; en el país se han desarrollado
software de estas características pero con algunas complicaciones de tipo
económico, de ahí la importancia de su realización.
1
1. PLANTEAMIENTO DEL PROBLEMA
1.1 ANTECEDENTES
A nivel internacional se han encontrado varias páginas en Internet1 que tratan de
algunas aplicaciones o software que son comercializados en países como México
y España, en estos programas se tienen en cuenta varios aspectos como
Jurisprudencia, Leyes y el manejo de los mismos procesos, en realidad son muy
completos y ya son comercializados en estos países, al parecer han tenido un
gran éxito.
En Colombia, la Rama Judicial posee un sistema de información para la gestión
judicial el cual le permite mantener controlado el flujo de información de parte de
los Juzgados, Tribunales, Cortes entre otros. Hasta el momento este sistema ha
funcionado pero con algunos vacíos tanto en la parte jurídica como al nivel de
tecnología, de tal forma que algunas entidades privadas y estatales han generado
su propio sistema de gestión con bases de datos, pero estas se crean únicamente
para el uso exclusivo de estas entidades.
Existen compañías nacionales que también han desarrollado este tipo de software,
tales como Emprex web, Orión jurídica y SGP, estos son comercializados pero
todos están licenciados y los costos son altísimos ya que las empresas tendrían
que pagar por el costo de las licencias para el manejo de los motores de bases de
datos, esto limita a un gran número de usuarios que laboran en microempresas,
oficinas pequeñas, como en el Consorcio AJ Abogados.
1.2 DESCRIPCIÓN DEL PROBLEMA
En el Consorcio AJ abogados a diario se maneja un gran flujo de información del
cual se derivan las diferentes labores, dicha información no es debidamente
organizada por lo cual se pierde veracidad, aumentan los tiempos de respuesta y
se extravían documentos lo cual conlleva a la perdida de diligencias que se
programan en cada uno de los procesos judiciales y como última consecuencia la
perdida de dinero. La falta de un sistema de información eficiente hace que los
procesos se vuelvan más lentos, dispendiosos y se tenga que recurrir a métodos
manuales, como por ejemplo listados hechos a mano o en el mejor de los casos
recurren al uso de programas que no son los mas adecuados para el manejo de
información vital en esta oficina jurídica, ya que en estos aplicativos no manejan
términos jurídicos y se genera contrariedad entre una información y otra, es el
caso de Excel, en el que suelen usar varias tablas para almacenar la misma
información, es decir existe redundancia de información y muchas veces no es la
misma información entre un tabla y otra referente a un mismo caso.
1
Para más información consulte la siguiente dirección: http://sistemas.dgsca.unam.mx/publica/pdf/jur.PDF, 22 de febrero de 2007
8:30 p.m.
2
Por otro lado la información es manipulada por personas ajenas a este oficio y no
existe ningún tipo de seguridad con respecto a la documentación, dado que la
información es sensible y confidencial ya que esta tiene que ver con los datos
personales de cada cliente e información que se relaciona directamente con los
procesos judiciales, como son los datos del demandante, el demandado, el tipo de
proceso y lo que ocurre con cada proceso.
FORMULACIÓN DEL PROBLEMA
¿Cómo desarrollar un software que permita el manejo eficiente y seguro de la
información de los procesos en el Consorcio AJ Abogados?
1.3 JUSTIFICACIÓN
Se hace necesario realizar este proyecto para el área jurídica con el fin de agilizar
todo trámite ejecutado en el Consorcio AJ Abogados, la tecnología siempre ayuda
a mejorar los procesos y si se aplica al ámbito jurídico puede ser muy provechoso
para el mejoramiento de tiempos en cuanto a la resolución de casos y generaría
simplicidad para la secretaria o el mismo abogado al realizar procesos como por
ejemplo; al momento de requerir alguna información sobre algún caso que sea
necesario, además no solo se verían beneficiados los abogados sino también las
personas que acuden a ellos ya que habría una mayor productividad, con esto se
obtendrán mayores ingresos para la oficina ya que si existe una rápida respuesta
se podrá atender nuevos casos y además se reduciría en gastos de papelería
para las listas hechas a mano. Es un proyecto importante que merece ser
desarrollado, del cual se pueden obtener muchas retribuciones económicas ya que
los abogados encontrarían en este aplicativo una gran herramienta.
Además cabe destacar que las aplicaciones que se encuentran disponibles en el
mercado tiene licencias para su funcionamiento por lo cual son muy costosos, este
proyecto se desarrollará en software libre con esto permitirá que el software pueda
ser usado sin necesidad de pagar por una licencia para el motor de base de datos.
1.4 OBJETIVOS
1.4.1 OBJETIVO GENERAL
Desarrollar un aplicativo cliente/servidor para la sistematización de los procesos
judiciales en el consorcio AJ abogados.
3
1.4.2 OBJETIVOS ESPECÍFICOS

Analizar los procesos de registro y seguimiento de la información jurídica
del consorcio de abogados.

Determinar los requerimientos funcionales y no funcionales.

Diseñar el modelo de la base de datos y la interfaz gráfica.

Implementar el modelo de la base de datos y la interfaz gráfica.
1.5 ALCANCES Y LIMITACIONES
1.5.1 ALCANCES
El trabajo culmina con el desarrollo del aplicativo cliente/servidor para el Consorcio
AJ Abogados. Este aplicativo incluye registro y seguimiento de procesos judiciales
mediante una interfaz gráfica y una base de datos en la cual se almacenará toda
la información, permitiendo al usuario adquirir más confianza sobre la veracidad de
los datos almacenados y la reducción en tiempos en cuanto a la ejecución de los
casos judiciales.
Con el desarrollo de este aplicativo permitirá realizar seguimientos más detallados
de todo proceso realizado en el Consorcio AJ Abogados con toda seguridad,
confianza y respaldo que ofrece esta oficina.
1.5.2 LIMITACIONES
Este proyecto seguirá las normas y leyes vigentes, si en algún momento estas son
modificadas durante o después de la realización del proyecto no serán
contempladas tales modificaciones.
4
2. MARCO DE REFERENCIA
2.1 MARCO TEÓRICO – CONCEPTUAL
2.1.1 Metodologías
a. Programación Extrema
La programación extrema o eXtreme Programming (XP) es un enfoque de la
ingeniería de software formulado por Kent Beck, autor del primer libro sobre la
materia, Extreme Programming Explained: Embrace Change (1999). Es la más
destacada 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 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 una aproximación mejor y
más realista que intentar definir todos los 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 2.
b. Programación RUP
El Proceso Unificado Racional (Rational Unified Process en inglés,
habitualmente resumido como RUP) es un proceso de desarrollo de software y
junto con el Lenguaje Unificado de Modelado UML, constituye la metodología
estándar más utilizada para el análisis, implementación y documentación de
sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente
establecidos, sino un conjunto de metodologías adaptables al contexto y
necesidades de cada organización.
También se conoce por este nombre al software desarrollado por Rational, hoy
propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y
descripciones de las diversas actividades. Está incluido en el Rational Method
Composer (RMC), que permite la personalización de acuerdo a necesidades.
2
http://es.wikipedia.org/wiki/Programaci%C3%B3n_Extrema, 13 de abril de 2008, hora: 3:10 p.m.
5
Originalmente se diseñó un proceso genérico y de dominio público, el Proceso
Unificado, y una especificación más detallada, el Rational Unified Process, que
se vendiera como producto independiente3
c. Métrica V3
Métrica tiene ya varios años de vida y su actual versión, la 3, se crea con la
finalidad de incorporar las nuevas técnicas derivadas de la programación y el
análisis orientado a objetos, al proceso de desarrollo de software que a través de
esta metodología las administraciones públicas españolas pretenden llevar a cabo.
Métrica debería ser obligatoria en cuantos contratos de desarrollo de software
realiza la administración pública, sin embargo su utilización aún no está
suficientemente universalizada. Todavía es frecuente ver concursos públicos
donde no se establece la obligatoriedad para el contratante de seguir las pautas
de métrica a la hora de llevar a cabo un proceso de construcción de software.
Todo proyecto Métrica 3 consta de un conjunto de fases que se desglosan en
múltiples puntos cuya cronología hay que seguir con claridad para ir avanzando en
el desarrollo del proyecto.4
d. Microsoft Solution Framework (MSF)
La metodología de Microsoft Solution Framework, ya que será muy útil en
proyectos que requieran un desarrollo ágil de primeras versiones funcionales que
luego serán sustituidas por versiones posteriores que las mejoren.
Esta metodología combina los principios de los modelos cascada y espiral,
proponiendo una secuencia generalizada de actividades para el desarrollo de
software. La planificación basada en punto de control y beneficios de la
retroalimentación del cliente constituye un proyecto bien planificado con lo cual
tenemos más posibilidades de éxito en nuestro proyecto. MSF es un proceso para
el manejo de proyecto, el acercamiento al desarrollo rápido con herramientas
CASE y la programación extrema se puede utilizar para poner un proyecto en
ejecución.
3
4
http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational, 13 de abril de 2008, 3:21pm
http://www.csi.map.es/csi/metrica3/introduccion.pdf, 13 de abril de 2008, 3:32 p.m.
6
Fase 1: Previsión
Fase 2: Planeación
Fase 3: Desarrollo
Fase 4: Estabilización
Fase 5: Implementación
Algunas características de esta metodología son:
 Combina la claridad que plantea el modelo en cascada y las ventajas de los
puntos de transición del modelo en espiral.
 Es un método interativo.
 Administración de riesgos y del proyecto.
Cada una de las fases comprende una parte de desarrollo del proyecto para lo
cual se explicara cada una de las mismas:
a. FASE 1° - PREVISIÓN
Descripción:
- Es la primera fase de modelo MSF
- Se pretende dar una visión general del proyecto.
- Identifica las tareas y los entregables que permiten al equipo a cumplir con los
requerimientos y objetivos del proyecto.
- Esta fase culmina con el punto de control Visión/Alcance.
7
b. FASE 2° - PLANIFICACIÓN
Descripción:
- En esta fase se realiza la preparación de la especificación funcional, diseño de la
solución, planes de trabajo, costes estimados y calendarios para los entregables.
- Implica la recogida y el análisis de los requerimientos de negocio, de usuario,
operacionales y de sistema.
c. FASE 3° - DESARROLLO
Descripción:
- La meta de la fase de desarrollo es la construcción de los elementos y
entregables de la solución, incluidos los códigos de los componentes,
infraestructura (software, hardware, red) y la documentación para el uso de las
operaciones.
d. FASE 4° - ESTABILIZACIÓN
Descripción:
- La solución se pasa un entorno real de exploración.
- Determinar que la solución cumple los criterios de calidad necesarios para pasar
a la fase de despliegue.
- Reproducción de condiciones reales y el equipo se concentra en detectar y
priorizar errores, reparando la solución para su despliegue.
e. FASE 5° - IMPLEMENTACIÓN
Descripción:
- Es la última fase de modelo, en la cual se instalan los componentes, se estabiliza
el proyecto y se obtiene la aprobación por parte del cliente.
Para cumplir con las fases que impone esta metodología se debe tener en cuenta
la elaboración de ciertos diagramas que ayudarán a mejorar el entendimiento de
los procesos que va a realizar el aplicativo.
8
PROGRAMACIÓN EXTREMA
PROGRAMACIÓN RUP
9
Facilidad de
replanteamiento
Retroalimentación
Costos personal
El cliente solo interfiere al iniciar el proyecto
Desarrollo de software a largo plazo
MÉTRICA V. 3
La realiza un solo equipo de trabajo
El equipo se compone de 5 personas por lo cual
Al ser un desarrollo rápido se requiere menos Al ser un desarrollo dispendioso con l eva a más
el costo de desarrollo se incrementa
inversión
gastos
Adaptable a la cantidad de personal disponible considerablemente
En cada una de las fases el usuario se ve
Constante, se añaden funcionalidades
envuelto por el progreso del proyecto con la cual La retroalimentación solo incluye a los
solicitadas por el cliente a medida que se Por intervalos de tiempo amplios en los que no existen mas probabilidades de éxito en el integrantes del equipo de trabajo más no al
desarrolla
se tiene en cuenta el cliente
proyecto
cliente
Se obtiene en el momento en el que cliente
Los requerimientos se definen al empezar el
Se permiten modificaciones en cualquier fase analíza los entregables en la terminación de Se permiten modificaciones en los puntos de proyecto por lo que la replantación incumbe la
del proyecto
cada iteración del proyecto
control de cada fase
realización del mismo desde el principio
Desarrollo de software a corto plazo
Desarrollo de software a largo plazo
Intervención constante del cliente en cada una
de las iteraciones
Intervención indirecta del cliente en le desarrollo Participación directa del cliente
El grupo de trabajo se enfocaliza en una misma
En equipos dependiendo de la cantidad de
Distribución del trabajo parte del proyecto
Se dividen partes del proyecto en grupos personal
CRITERIOS
Tiempo de
desarrollo
Intervención
cliente
MICROSOFT SOLUTION
FRAMEWORK (MSF)
Adaptable a cualquier tipo de proyecto sin
impedimento de duración
CUADRO COMPARATIVO DE METODOLOGÍAS
Tabla 1. Cuadro comparativo metodologías
2.1.2. Lenguajes de programación
a. JSP
Con JSP se pueden crear aplicaciones web que se ejecuten en variados
servidores web, de múltiples plataformas, ya que Java es en esencia un lenguaje
multiplataforma. Las páginas JSP están compuestas de código HTML/XML
mezclado con etiquetas especiales para programar scripts de servidor en sintaxis
Java. Por tanto, las JSP podremos escribirlas con nuestro editor HTML/XML
habitual.
El motor de las páginas JSP está basado en los servlets de Java -programas en
Java destinados a ejecutarse en el servidor-, aunque el número de desarrolladores
que pueden afrontar la programación de JSP es mucho mayor, dado que resulta
mucho más sencillo aprender que los servlets.
En JSP creamos páginas de manera parecida a como se crean en ASP o PHP otras dos tecnologías de servidor-. Generamos archivos con extensión .jsp que
incluyen, dentro de la estructura de etiquetas HTML, las sentencias Java a
ejecutar en el servidor. Antes de que sean funcionales los archivos, el motor JSP
lleva a cabo una fase de traducción de esa página en un servlet, implementado en
un archivo class (Byte codes de Java). Esta fase de traducción se lleva a cabo
habitualmente cuando se recibe la primera solicitud de la página .jsp, aunque
existe la opción de precompilar en código para evitar ese tiempo de espera la
primera vez que un cliente solicita la página.5
b. PHP
PHP es un lenguaje de programación usado generalmente para la creación de
contenido para sitios Web. PHP es el (acrónimo recursivo de "PHP: Hypertext
Preprocessor", inicialmente PHP Tools, o Personal Home Page Tools) es un
lenguaje interpretado usado para la creación de aplicaciones para servidores, o
creación de contenido dinámico para sitios Web, y últimamente también para la
creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica
usando la librería GTK+.
Los principales usos del PHP son los siguientes:


5
Programación de páginas web dinámicas, habitualmente en combinación
con el motor de base datos MySQL, aunque cuenta con soporte nativo para
otros motores, incluyendo el estándar ODBC, lo que amplía en gran medida
sus posibilidades de conexión.
Programación en consola, al estilo de Perl o Shell scripting.
http://www.desarrolloweb.com/articulos/831.php, 13 de abril de 2008, 5:03 p.m.
10

Creación de aplicaciones gráficas independientes del navegador, por medio
de la combinación de PHP y Qt/GTK+, lo que permite desarrollar
aplicaciones de escritorio en los sistemas operativos en los que está
soportado.
Características









Es un lenguaje multiplataforma.
Capacidad de conexión con la mayoría de los manejadores de base de
datos que se utilizan en la actualidad, destaca su conectividad con MySQL
Capacidad de expandir su potencial utilizando la enorme cantidad de
módulos (llamados ext's o extensiones).
Posee una amplia documentación en su página oficial, entre la cual se
destaca que todas las funciones del sistema están explicadas y
ejemplificadas en un único archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para
todos.
Permite las técnicas de Programación Orientada a Objetos.
Biblioteca nativa de funciones sumamente amplia e incluida
No requiere definición de tipos de variables.
Tiene manejo de excepciones.6
Tabla 2. Cuadro comparativo de lenguajes de programación
CUADRO COMPARATIVO LENGUAJES DE PROGRAMACION
CRITERIOS
Cantidad de usuarios
JSP
Se usa cuando son aplicaciones mas complejas
y que requieren de mas lógica
Requiere un servidor más potente para ejecutar
la página web
Se usa la programación orientada a objetos
Soporta una cantidad de usuarios es superior a
100
Costos de hosting
Son elevados para publicar la página
Complejidad
Tipo de servidor
Tipo de programación
6
http://es.wikipedia.org/wiki/.php, 13 de abril de 2008, 5:09 p.m.
11
PHP
Se debe utilizar si la aplicación es sencilla con
un grado menor de lógica
No requiere un servidor de grandes
características para ejecutar el proyecto
Se usa programación estructurada
Diseñado para soportar pocos usuarios
Existen hosting gratuitos para publicar la página
en internet
2.1.3 Motores de bases de datos
a. PostgreSQL
Los sistemas de mantenimiento de Bases de Datos relacionales tradicionales
(DBMS, s) soportan un modelo de datos que consisten en una colección de
relaciones con nombre, que contienen atributos de un tipo específico. En los
sistemas comerciales actuales, los tipos posibles incluyen numéricos de punto
flotante, enteros, cadenas de caracteres, cantidades monetarias y fechas.
Esto generalmente reconocido que este modelo será inadecuado para las
aplicaciones futuras de procesado de datos. El modelo relacional sustituyó
modelos previos en parte por su "simplicidad espartana". Sin embargo, como se
ha mencionado, esta simplicidad también hace muy difícil la implementación de
ciertas aplicaciones. Postgres ofrece una potencia adicional sustancial al
incorporar los siguientes cuatro conceptos adicionales básicos en una vía en la
que los usuarios pueden extender fácilmente el sistema.




Clases
Herencia
Tipos
Funciones
Otras características aportan potencia y flexibilidad adicional:




Restricciones (Constraints)
Disparadores (triggers)
Reglas (rules)
Integridad transaccional
Estas características colocan a Postgres en la categoría de las Bases de Datos
identificadas como objeto-relacionales. Nótese que éstas son diferentes de las
referidas como orientadas a objetos, que en general no son bien aprovechables
para soportar lenguajes de Bases de Datos relacionales tradicionales. Postgres
tiene algunas características que son propias del mundo de las bases de datos
orientadas a objetos. De hecho, algunas Bases de Datos comerciales han
incorporado recientemente características en las que Postgres fue pionera.7
7
http://es.tldp.org/Postgresql-es/web/navegable/tutorial/intro.html, 13 de abril de 2008, 5:20 p.m.
12
b. MySQL
MySQL es un sistema de gestión de base de datos relacional, multihilo y
multiusuario con más de seis millones de instalaciones. MySQL AB desarrolla
MySQL como software libre en un esquema de licenciamiento dual. Por un lado lo
ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos
privativos pueden comprar a la empresa una licencia que les permita ese uso.
Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como el
Apache, donde el software es desarrollado por una comunidad pública, y el
copyright del código está en poder del autor individual, MySQL es propiedad y está
patrocinado por una empresa privada, que posee el copyright de la mayor parte
del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente
mencionado. Además de la venta de licencias privativas, la compañía ofrece
soporte y servicios. Para sus operaciones contratan trabajadores alrededor del
mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark,
Allan Larsson, y Michael Widenius.
Aplicaciones
MySQL es muy utilizado en aplicaciones web como MediaWiki o Drupal, en
plataformas
(Linux/Windows-Apache-MySQL-PHP/Perl/Python),
y
por
herramientas de seguimiento de errores como Bugzilla. Su popularidad como
aplicación web está muy ligada a PHP, que a menudo aparece en combinación
con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza
el motor no transaccional MyISAM, pero puede provocar problemas de integridad
en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja
concurrencia en la modificación de datos y en cambio el entorno es intensivo en
lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.
MySQL funciona sobre múltiples plataformas, incluyendo AIX, BSD, FreeBSD, HPUX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp,
QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64,
Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows
Vista y otras versiones de Windows.
MySQL es un sistema de administración de bases de datos. Una base de datos es
una colección estructurada de tablas que contienen datos. Esta puede ser desde
una simple lista de compras a una galería de pinturas o el vasto volumen de
información en una red corporativa. Para agregar, acceder y procesar datos
guardados en un computador, se necesita un administrador como MySQL Server.
Dado que los computadores son muy buenos manejando grandes cantidades de
información, los administradores de bases de datos juegan un papel central en
computación, como aplicaciones independientes o como parte de otras
aplicaciones.
13
MySQL es un sistema de administración relacional de bases de datos. Una base
de datos relacional archiva datos en tablas separadas en vez de colocar todos los
datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están
conectadas por relaciones definidas que hacen posible combinar datos de
diferentes tablas sobre pedido.
MySQL es software de fuente abierta. Fuente abierta significa que es posible para
cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código
fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el
código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General
Public License) para definir qué puede hacer y que no puede hacer con el software
en diferentes situaciones. Si no se ajusta al GLP o requiere introducir código
MySQL en aplicaciones comerciales, se puede comprar una versión comercial
licenciada.
Características Distintivas
Las siguientes características son implementadas únicamente por MySQL:
 Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB,
Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y
Example en 5.x), permitiendo al usuario escoger la que sea más adecuada
para cada tabla de la base de datos.
 Agrupación de transacciones, reuniendo múltiples transacciones de varias
conexiones para incrementar el número de transacciones por segundo.
Características Generales









Un amplio subconjunto de ANSI SQL 99, y varias extensiones.
Soporte a Multiplataforma.
Procedimientos almacenados.
Triggers
Cursors
Vistas Actualizables.
Soporte a Varchar.
Information Schema.
Modo Strict.

Motores de almacenamiento independientes (MyISAM para lecturas rápidas,
InnoDB para transacciones e integridad referencial).
Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster;
puntos de recuperación (savepoints) con InnoDB.
Soporte para SSL.
Query caching.



14










Sub-SELECTs (o SELECTs anidados).
Indexing y buscando campos de texto completos usando el motor de
almacenamiento MyISAM.
Soporte completo para Unicode.
Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster.
Uso de multihilos mediante hilos del kernel.
Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice.
Completo soporte para cláusulas group by y order by, soporte de funciones de
agrupación.
Completo soporte para operadores y funciones en cláusulas select y where.
Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta
50 millones de registros.
Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada
índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El
máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).8
Tabla 3. Cuadro comparativo motores bases de datos
CUADRO COMPARATIVO MOTORES BASES DE DATOS
CRITERIOS
PostgreSQL
Garantiza un número ilimitado de bases de datos
Crecimiento
y tablas con tamaño de hasta 32 TB
Gran parte de la documentación se encuentra en
La documentación es amplia y de gran variedad inglés, además es escasa y en Colombia hasta
Soporte
de autores, en varios idiomas
ahora se esta masificando
Modelo
Trabaja con modelo de datos relacional
Trabaja con modelo de datos relacional
Consume pocos lo que lo hace muy adaptable a Consume gran cantidad de recursos de la
Recursos
máquinas con pocos recursos
máquina
Es dos o tres veces mas lento que MySQL en
Velocidad de transacción Al momento de hacer operaciones es muy ágil cuanto a la realización de operaciones
8
MySQL
Soporta bases de datos pequeñas con poca
cantidad de datos
http://es.wikipedia.org/wiki/MySQL, 13 de abril de 2008, 5:23p.m.
15
2.1.4 Lenguaje Unificado Modelado
Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified
Modeling Language) es el lenguaje de modelado de sistemas de software más
conocido y utilizado en la actualidad; aún cuando todavía no es un estándar oficial,
está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico
para visualizar, especificar, construir y documentar un sistema de software. UML
ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo
aspectos conceptuales tales como procesos de negocios y funciones del sistema,
y aspectos concretos como expresiones de lenguajes de programación, esquemas
de bases de datos y componentes de software reutilizables.
Es importante resaltar que UML es un "lenguaje" para especificar y no para
describir métodos o procesos. Se utiliza para definir un sistema de software, para
detallar los artefactos en el sistema y para documentar y construir. En otras
palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en
una gran variedad de formas para dar soporte a una metodología de desarrollo de
software (tal como el Proceso Unificado de Rational) pero no especifica en sí
mismo qué metodología o proceso usar.
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes
aspectos de las entidades representadas. En UML 2.0 hay 13 tipos diferentes de
diagramas. Para comprenderlos de manera concreta, a veces es útil categorizarlos
jerárquicamente, como son:
Diagramas de estructura enfatizan en los elementos que deben existir en el
sistema modelado:






Diagrama de Clases.
Diagrama de Componentes.
Diagrama de Objetos.
Diagrama de Estructura Compuesta.
Diagrama de Despliegue.
Diagrama de Paquetes.
Diagramas de comportamiento enfatizan en lo que debe suceder en el sistema
modelado:



Diagrama de Actividades.
Diagrama de Casos de Uso.
Diagrama de Estados.
16
Diagramas de Interacción, un subtipo de diagramas de comportamiento, que
enfatiza sobre el flujo de control y de datos entre los elementos del sistema
modelado:




Diagrama de Secuencia.
Diagrama de Colaboración.
Diagrama de Tiempos.
Diagrama de Vista de Interacción.
2.1.5 Sistemas Distribuidos
Sistemas cuyos componentes hardware y software, que están en ordenadores
conectados en red, se comunican y coordinan sus acciones mediante el paso de
mensajes, para el logro de un objetivo. Se establece la comunicación mediante un
protocolo prefijado por un esquema cliente-servidor.
Características:



Concurrencia.- Esta característica de los sistemas distribuidos permite que
los recursos disponibles en la red puedan ser utilizados simultáneamente
por los usuarios y/o agentes que interactúan en la red.
Carencia de reloj global.- Las coordinaciones para la transferencia de
mensajes entre los diferentes componentes para la realización de una
tarea, no tienen una temporización general, esta más bien distribuida a los
componentes.
Fallos independientes de los componentes.- Cada componente del
sistema puede fallar independientemente, con lo cual los demás pueden
continuar ejecutando sus acciones. Esto permite el logro de las tareas con
mayor efectividad, pues el sistema en su conjunto continua trabajando.
a. Cliente-Servidor
Sistema donde el cliente es una máquina que solicita un determinado servicio y se
denomina servidor a la máquina que lo proporciona. Los servicios pueden ser:



Ejecución de un determinado programa.
Acceso a un determinado banco de información.
Acceso a un dispositivo de hardware.
Es un elemento primordial, la presencia de un medio físico de comunicación entre
las máquinas, y dependerá de la naturaleza de este medio la viabilidad del
sistema.
17
Categorías de Servidores:
A continuación se presenta una lista de los servidores más comunes:

Servidores de archivos.- Proporciona archivos para clientes. Si los
archivos no fueran tan grandes y los usuarios que comparten esos archivos
no fueran muchos, esto sería una gran opción de almacenamiento y
procesamiento de archivos. El cliente solicita los archivos y el servidor los
ubica y se los envía.

Servidores de Base de Datos.- Son los que almacenan gran cantidad de
datos estructurados, se diferencian de los de archivos pues la información
que se envía está ya resumida en la base de datos. Ejemplo: El Cliente
hace una consulta, el servidor recibe esa consulta (SQL) y extrae solo la
información pertinente y envía esa respuesta al cliente.

Servidores de Software de Grupo.- El software de grupo es aquel, que
permite organizar el trabajo de un grupo. El servidor gestiona los datos que
dan soporte a estas tareas. Por ejemplo: almacenar las listas de correo
electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el
servidor se lo envía al resto del grupo.

Servidores WEB.- Son los que guardan y proporcionan Páginas HTML. El
cliente desde un browser o link hace un llamado de la página y el servidor
recibe el mensaje y envía la página correspondiente.

Servidores de correo.- Gestiona el envío y recepción de correo de un
grupo de usuarios (el servidor no necesita ser muy potente). El servidor solo
debe utilizar un protocolo de correo.

Servidor de objetos.- Permite almacenar objetos que pueden ser
activados a distancia. Los clientes pueden ser capaces de activar los
objetos que se encuentran en el servidor.

Servidores de impresión.- Gestionan las solicitudes de impresión de los
clientes. El cliente envía la solicitud de impresión, el servidor recibe la
solicitud y la ubica en la cola de impresión, ordena a la impresora que lleve
a cabo las operaciones y luego avisa a la computadora cliente que ya
acabo su respectiva impresión.

Servidores de aplicación.- Se dedica a una única aplicación. Es
básicamente una aplicación a la que pueden acceder los clientes.
18
Arquitecturas Cliente / Servidor
A continuación mostramos las arquitecturas cliente-servidor más populares:

Arquitectura Cliente-Servidor de Dos Capas.- Consiste en una capa de
presentación y lógica de la aplicación; y la otra de la base de datos.
Normalmente esta arquitectura se utiliza en las siguientes situaciones:





Cuando se requiera poco procesamiento de datos en la
organización.
Cuando se tiene una base de datos centralizada en un solo
servidor.
Cuando la base de datos es relativamente estática.
Cuando se requiere un mantenimiento mínimo.
Arquitectura Cliente-Servidor de Tres Capas- Consiste en una capa de la
Presentación, otra capa de la lógica de la aplicación y otra capa de la base
de datos. Normalmente esta arquitectura se utiliza en las siguientes
situaciones:






Cuando se requiera mucho procesamiento de datos en la
aplicación.
En aplicaciones donde la funcionalidad este en constante
cambio.
Cuando los procesos no están relativamente muy
relacionados con los datos.
Cuando se requiera aislar la tecnología de la base de datos
para que sea fácil de cambiar.
Cuando se requiera separar el código del cliente para que se
facilite el mantenimiento.
Esta muy adecuada para utilizarla con la tecnología orientada
a objetos.
Clasificación de los sistemas cliente servidor:
A continuación mostramos la clasificación de de los sistemas cliente/servidor de
acuerdo al nivel de abstracción del servicio que ofrecen:
a. Representación distribuida.- La interacción con el usuario se realiza en el
servidor, el cliente hace de pasarela entre el usuario y el servidor.
19
Figura 1. Representación distribuida
b. Representación Remota.-La lógica de la aplicación y la base de datos se
encuentran en el servidor. El cliente recibe y formatea los datos para interactuar
con el usuario.
Figura 2. Representación remota
c. Lógica Distribuida.- El cliente se encarga de la interacción con el usuario y de
algunas funciones triviales de la aplicación. Por ejemplo controles de rango de
campos, campos obligatorios, etc. Mientras que el resto de la aplicación, junto con
la base de datos, están en el servidor.
Figura 3. Lógica distribuida
20
d. Gestión Remota de Datos.- El cliente realiza la interacción con el usuario y
ejecuta la aplicación y el servidor es quien maneja los datos.
Figura 4. Gestión remota de datos
e. Base de Datos Distribuidas.- El cliente realiza la interacción con el usuario,
ejecuta la aplicación, debe conocer la topología de la red, así como la disposición
y ubicación de los datos. Se delega parte de la gestión de la base de datos al
cliente.
Figura 5. Bases de datos distribuidos
f. Cliente servidor a tres niveles.- El cliente se encarga de la interacción con el
usuario, el servidor de la lógica de aplicación y la base de datos puede estar en
otro servidor.
Figura 6. Cliente servidor a tres niveles
21
2.2
MARCO LEGAL
Colombia es un Estado Social de Derecho, que garantiza la convivencia, la
participación, la justicia y los derechos de todos los ciudadanos a través de su
constitución política como norma suprema, presentando una serie de principios
generales protegen los derechos fundamentales de las personas, como también
normas básicas que permiten la organización del Estado tanto política,
administrativa, como territorialmente. Paralelamente a la Constitución Nacional
existen unas normas inferiores, pero no menos importantes, que nos regulan en
casos y situaciones especificas, que no permiten también ejercer nuestros
derechos como también nos dicta lo deberes que debemos cumplir como
ciudadanos de este país.
El derecho está dividido en ramas, y estas son las siguientes: CIVIL, PENAL,
COMERCIAL, ADMINISTRATIVO, LABORAL, POLICIVO, DE FAMILIA Y
AGRARIO, en lo que respecta a nuestro trabajo nos vamos a centrar únicamente
en el ramo civil, para dar una limitación al desarrollo del mismo.
Para el caso de este proyecto se aplica una de estas ramas, la CIVIL, que compila
sus normas en el Código Civil; el Código Civil tiene sus orígenes en chile
mediados del siglo XIX, gracias a dos Andrés Bello quien fue su creador.
El código civil rige las relaciones entre personas ya sea Naturales o Jurídicas,
como por ejemplo de las personas en cuanto a su nacionalidad y domicilio, en
cuanto al principio y fin de la existencia de las personas, del matrimonio en cuanto
a la nulidad, efectos y disolución, de las obligaciones y derechos entre cónyuges,
también de los bienes y de su dominio, uso y goce, de la sucesión por causa de
muerte y de las donaciones entre vivos y de las obligaciones en general y de los
contratos.
22
3. METODOLOGÍA
3.1
ENFOQUE DE LA INVESTIGACIÓN
Empírico-analítico: cuyo interés es el técnico, orientado a la interpretación y
transformación del mundo material.
3.2 LÍNEA DE INVESTIGACIÓN / SUB-LÍNEA DE FACULTAD/ CAMPO
TEMÁTICO DEL PROGRAMA
Tecnologías Actuales y Sociedad / Sistema de Información y Comunicación /
Desarrollo de Software.
23
4. DESARROLLO DEL PROYECTO
A partir del análisis de las metodologías ya mencionadas se define que la
metodología más adecuada para la realización de este proyecto es la Microsoft
Solution Framework ya que esta metodología ofrece una comunicación directa con
el cliente, una amplia documentación del proyecto y además se acomoda a los
tiempos de desarrollo.
Ya definida la metodología a utilizar se procede a desarrollar cada una de sus
fases de la siguiente manera.
4.1 FASE 1°- PREVISION
Esta fase que fue conceptualizada en el marco teórico comprende la definición del
problema, los antecedentes, los objetivos generales y específicos, los alcances y
limitaciones, por ende esta fase desarrollada en el capítulo 1 del presente
proyecto, lo único que no se encuentra definido dentro del capítulo nombrado son
los requerimientos definidos por el usuario, estos se nombraran a continuación:
REQUERIMIENTOS FUNCIONALES









Registrar información completa de los clientes: Número de Cédula, Nombre,
Apellido, Dirección, Teléfono Fijo, Teléfono Móvil, Barrio, Localidad.
Registrar información de los procesos judiciales con: Número de proceso,
Código de Juzgado, Código Tipo Proceso, Número de Documento de la
Contraparte, Nombre, Apellido, dirección, teléfono de la Contraparte.
Vincular la información de los clientes almacenada a un formulario que
muestre los datos de la cedula, dirección, teléfono, etc.
Vincular la información de los procesos almacenada a un formulario que
muestre los datos del número del proceso, el demandante, el historial de las
actuaciones, etc.
La aplicación debe calcular los términos de las actuaciones e informar
cuando en un proceso se esté venciendo un término.
Restringir el acceso a ciertas funciones, de acuerdo al perfil del usuario.
La información de los barrios debe contener también la información de la
localidad a la que pertenece.
Cada cliente debe estar ligado a un número de carpeta, el cual corresponde
a un número de proceso y cada proceso a un juzgado.
Actualizar la información de los clientes
24
REQUERIMIENTOS NO FUNCIONALES



El proyecto debe ser desarrollado en herramientas de software libre
Los equipos deben poseer un mínimo de componentes físicos que
permitirán funcionamiento correcto del software
El aplicativo debe ser desarrollado en ambiente web
4.2 FASE 2° - PLANIFICACIÓN
Esta fase comprende el diseño del aplicativo que ayudara a tener un punto base
para el desarrollo del mismo, para esto la metodología nos exige varios modelos
que deben implementarse para un mejor entendimiento del funcionamiento del
software.
Figura 7. Caso de Uso Contextual
ABOGADO
APLICATIVO PARA EL REGISTRO Y
SEGUIMIENTO DE LA INFORMACIÓN
DE LOS PROCESOS JUDICIALES EN
EL CONSORCIO AJ ABOGADOS
SECRETARIA
GERENTE
ADMINISTRADOR
Descripción caso de uso contextual:
Este caso de uso demuestra los actores que intervienen en el aplicativo de una
manera muy general, sin tener un caso de uso concreto dentro del diagrama.
25
Figura 8. Caso de Uso Gerente Nivel 1
Registrar
Validar Usuario
«extends»
Consultar
«extends»
Autenticar Usuario
«extends»
Actualizar
«extends»
GERENTE
Validar Contraseña
Eliminar
Figura 9. Caso de Uso Gerente Nivel 2
«inherits»
Registrar
«inherits»
Registrar Usuarios
Registrar
Actuaciones
«inherits»
Validar Usuario
«extends»
Registrar Procesos
«extends»
Consultar
«inherits»
«extends»
Consultar Clientes
«inherits»
Autenticar Usuario
«extends»
Consulta Procesos
Actualizar
«extends»
«inherits»
GERENTE
«extends»
«inherits»
Actualizar Clientes
Validar Clave
Actualizar
Actuaciones
Eliminar
«inherits»
Eliminar Usuarios
26
Descripción caso de uso Gerente:
El gerente posee dentro del sistema el permiso para realizar cualquier proceso:
registrar, consultar, actualizar y eliminar. Para ello se requiere validación de un
usuario y contraseña.
Flujo de Eventos
1. El actor introduce el usuario, la contraseña y luego pulsa el botón ingresar.
2. El sistema muestra los vínculos que lo llevará a las diferentes funciones que
maneja el sistema.
3. Dependiendo de la opción escogida por el actor este será llevado a una
interfaz diferente, cada una de estas cumple unas funciones específicas
dentro del sistema, como es registrar, consultar, actualizar o eliminar.
4. Dentro de la opción registrar se encuentran varias opciones que el actor
puede elegir como registrar usuarios, actuaciones y procesos, en cada una
de estas se registran datos en especifico tal y como su nombre lo indica.
5. Dentro de la opción consultar se encuentran opciones que permitirán una
búsqueda efectiva del contenido de la base de datos como son consultar
clientes y procesos.
6. Dentro de la opción actualizar se encuentran opciones que permitirán
modificar los datos de los clientes y de las actuaciones.
7. Dentro de la opción eliminar le permitirá al actor eliminar únicamente
usuarios.
Flujos Alternativos

Cuando el usuario y contraseña son inválidos arrojará un mensaje de error.

Si el actor desea consultar un usuario y este no existe arrojará un mensaje
de error.

Si el actor desea eliminar un usuario y este no existe arrojará un mensaje
de error.
27
Precondiciones

El usuario debe estar registrado en la base de datos para poder validar

El usuario no podrá realizar ninguna acción que no esté autorizada por el
administrador.

Los registros que se quieran consultar, eliminar deben estar previamente
registrados en la base de datos
Figura 10. Caso de Uso Abogado Nivel 1
Registrar
Validar Usuario
«extends»
«extends»
Autenticar Usuario
Consultar
«extends»
ABOGADO
Validar Contraseña
Actualizar
Figura 11. Caso de Uso Abogado Nivel 2
«inherits»
Registrar
Validar Usuario
Registrar
Actuaciones
«inherits»
«extends»
«extends»
Registrar Procesos
«inherits»
«extends»
Autenticar Usuario
Consultar Clientes
Consultar
«inherits»
«extends»
«extends»
Consulta Procesos
ABOGADO
Validar Clave
Actualizar
28
«inherits»
Actualizar
Actuaciones
Descripción caso de uso Abogado:
El abogado posee dentro del sistema el permiso para realizar ciertos procesos:
registrar, consultar y actualizar. Para ello se requiere validación de un usuario y
contraseña.
Flujo de Eventos
1. El actor introduce el usuario, la contraseña y luego pulsa el botón ingresar.
2. El sistema muestra los vínculos que lo llevará a las diferentes funciones que
maneja el sistema.
3. Dependiendo de la opción escogida por el actor este será llevado a una
interfaz diferente, cada una de estas cumple unas funciones específicas
dentro del sistema, como es registrar, consultar y actualizar.
4. Dentro de la opción registrar se encuentran varias opciones que el actor
puede elegir como registrar procesos y actuaciones, en cada una de estas
se registran datos en especifico tal y como su nombre lo indica.
5. Dentro de la opción consultar se encuentran opciones que permitirán una
búsqueda efectiva del contenido de la base de datos como son consultar
clientes y procesos.
6. Dentro de la opción actualizar la única opción que puede efectuar el actor
es modificar las actuaciones.
Flujos Alternativos

Cuando el usuario y contraseña son inválidos arrojará un mensaje de error.

Si el actor desea consultar un cliente y este no existe arrojará un mensaje
de error.
Precondiciones

El usuario debe estar registrado en la base de datos para poder validar

El usuario no podrá realizar ninguna acción que no esté autorizada por el
administrador.

Los registros que se quieran consultar deben estar previamente registrados
en la base de datos
29
Figura 12. Caso de Uso Administrador Nivel 1
Registrar
Validar Usuario
«extends»
Consultar
«extends»
Autenticar Usuario
«extends»
Actualizar
«extends»
ADMINISTRADOR
Validar Contraseña
Eliminar
Figura13. Caso de Uso Administrador Nivel 2
«inherits»
Registrar
«inherits»
Registrar Usuarios
Registrar
Actuaciones
«inherits»
Validar Usuario
«extends»
Registrar Procesos
«extends»
Consultar
«inherits»
«extends»
Consultar Clientes
«inherits»
Autenticar Usuario
«extends»
Consulta Procesos
Actualizar
«extends»
«inherits»
ADMINISTRADOR
«extends»
«inherits»
Actualizar Clientes
Validar Clave
Actualizar
Actuaciones
Eliminar
«inherits»
Eliminar Usuarios
30
Descripción caso de uso Administrador:
El administrador posee dentro del sistema el permiso para realizar cualquier
proceso: registrar, consultar, actualizar y eliminar. Para ello se requiere validación
de un usuario y contraseña.
Flujo de Eventos
1. El actor introduce el usuario, la contraseña y luego pulsa el botón ingresar.
2. El sistema muestra los vínculos que lo llevará a las diferentes funciones que
maneja el sistema.
3. Dependiendo de la opción escogida por el actor este será llevado a una
interfaz diferente, cada una de estas cumple unas funciones específicas
dentro del sistema, como es registrar, consultar, actualizar o eliminar.
4. Dentro de la opción registrar se encuentran varias opciones que el actor
puede elegir como registrar usuarios, actuaciones y procesos en cada una
de estas se registran datos en especifico tal y como su nombre lo indica.
5. Dentro de la opción consultar se encuentran opciones que permitirán una
búsqueda efectiva del contenido de la base de datos como son consultar
clientes y procesos.
6. Dentro de la opción actualizar se encuentran opciones que permitirán
modificar los datos de los clientes y de las actuaciones.
7. Dentro de la opción eliminar le permitirá al actor eliminar únicamente
usuarios.
Flujos Alternativos

Cuando el usuario y contraseña son inválidos arrojará un mensaje de error.

Si el actor desea consultar un usuario y este no existe arrojará un mensaje
de error.

Si el actor desea eliminar un usuario y este no existe arrojará un mensaje
de error.
Precondiciones

El usuario debe estar registrado en la base de datos para poder validar.
31

Los registros que se quieran consultar, eliminar deben estar previamente
registrados en la base de datos
Figura 14. Caso de Uso Secretaria Nivel 1
Registrar
Validar Usuario
«extends»
«extends»
Autenticar Usuario
Consultar
«extends»
SECRETARIA
Validar Contraseña
Actualizar
Figura 15. Caso de Uso Secretaria Nivel 2
«hereda»
Registrar
Validar Usuario
Registrar
Actuaciones
«hereda»
«extends»
«extends»
Registrar Procesos
«hereda»
«extends»
Autenticar Usuario
Consultar
Consultar Clientes
«hereda»
«extends»
Consulta Procesos
«extends»
SECRETARIA
«hereda»
Validar Clave
Actualizar
32
Actualizar Clientes
Descripción caso de uso Secretaria:
La secretaria posee dentro del sistema el permiso para realizar ciertos procesos:
registrar, consultar y actualizar. Para ello se requiere validación de un usuario y
contraseña.
Flujo de Eventos
1. El actor introduce el usuario, la contraseña y luego pulsa el botón ingresar.
2. El sistema muestra los vínculos que lo llevará a las diferentes funciones que
maneja el sistema.
3. Dependiendo de la opción escogida por el actor este será llevado a una
interfaz diferente, cada una de estas cumple unas funciones específicas
dentro del sistema, como es registrar, consultar y actualizar.
4. Dentro de la opción registrar se encuentran varias opciones que el actor
puede elegir como registrar procesos y actuaciones, en cada una de estas
se registran datos en especifico tal y como su nombre lo indica.
5. Dentro de la opción consultar se encuentran opciones que permitirán una
búsqueda efectiva del contenido de la base de datos como son consultar
clientes y procesos.
6. Dentro de la opción actualizar la única opción que puede efectuar el actor
es modificar las actuaciones.
Flujos Alternativos

Cuando el usuario y contraseña son inválidos arrojará un mensaje de error.

Si el actor desea consultar un cliente y este no existe arrojará un mensaje
de error.
Precondiciones

El usuario debe estar registrado en la base de datos para poder validar.

Los registros que se quieran consultar deben estar previamente registrados
en la base de datos.
33
4.3 FASE 3° - DESARROLLO
Para este desarrollo se elaboraron cuadros comparativos que se muestran en el
marco teórico, cada uno de ellos se elaboró con el fin de facilitar la definición de la
mejor y más aplicable tecnología para el proyecto.
De acuerdo a la documentación relacionada con los servidores para el proyecto
aplican los sistemas distribuidos, el sistema cliente-servidor con el cual se podrá
implementar un tipo de servidor que permita ubicar la base de datos en un solo
equipo y que los demás se conecten y envíen al servidor las sentencias SQL para
que sean ejecutadas en el motor de base de datos; para esto se utilizará un
servidor de base datos que permitirá hacer lo anterior, por los elementos físicos
existentes en la oficina y además por qué no requieren dentro del proyecto se
puede decir que no aplica ningún otro tipo de servidor.
El cuadro comparativo sobre los lenguajes compara dos lenguajes de
programación libres JSP y PHP, del análisis de este cuadro se pudo definir que el
lenguaje más adecuado para el desarrollo de la aplicación web es PHP por la
lógica del mismo y porque PHP se ajusta más a las necesidades que este
requiere.
Por último un cuadro donde se comparan los motores de base de datos, MySQL y
PostgreSQL, aunque ambos son libres y similares se encontró que el más
adecuado es MySQL, por la rapidez al generar las transacciones, la amplia
documentación que facilita el desarrollo, consume pocos recursos de máquina y
además de esto el motor se adapta fácilmente al lenguaje de programación
seleccionado anteriormente.
Después de haber seleccionado, el lenguaje y el motor de base de datos se
procede a instalar un paquete llamado AppServ v. 2.5.9 que incluye:



Apache Web Server v. 2.2.4
PHP Script Language v. 5.2.3
MySQL Database v. 5.0.45
Este paquete brinda las herramientas necesarias para el montaje de los diseños
elaborados previamente, estas herramientas son un servidor web, un soporte de
librerías PHP para desarrollar la interfaz y un motor de base de datos.
Para el desarrollo de la base de datos se usó la herramienta case llamada
DBDesigner 4, lo que permitió hacer más fácil y rápido la implementación de las
tablas.
34
Para el diseño de las interfaces y la programación se instala la aplicación Adobe
Dreamweaver CS3.
Dentro de la aplicación se utilizó una función que suma fechas, esta se uso para
determinar la fecha fin del termino para poder mostrarla en los mensajes que se
encuentran en todas las interfaces, esta función consiste en pasar la fecha a
segundos y luego suma los días que se determinen también en segundos,
después devuelve la fecha en el formato original ya con los días sumados:
function suma_fechas1($fecha, $ndias)
{
list($año, $mes, $dia) = split("-",$fecha);
$nueva = mktime(0,0,0, $mes,$dia,$año) + $ndias * 24 * 60 * 60;
$nuevafecha = date("Y-m-d",$nueva);
return ($nuevafecha);
}
En cuanto a las líneas especiales de código se encuentran las de conexión a la
base de datos, estas consisten en pasar un usuario y una clave al motor de base
de datos para que valide el acceso y se abra la conexión.
$link=mysql_connect ("localhost", "root", "root");
Después de crear el string de conexión se debe seleccionar la base de datos que
se va a trabajar en esta sentencia también exige el string de conexión como
parámetro
mysql_select_db ("consorcio", $link);
Por último se debe generar el query con lo que se ejecutara una acción sobre la
base de datos, estas acciones pueden ser de consulta, actualización, eliminación y
de inserción
$query = mysql_query("select nombre_act,
tipo_actuacion where cod_tipo_act ='$cod'");
n_dias
from
Por último se debe cerrar la conexión a la base de datos con la siguiente
sentencia que pide como parámetro el string de conexión:
mysql_close($link);
35
Esta función mysql_close() cierra el enlace con la base MySQL que está asociada
con el identificador de enlace especificado ($link). Si no se especifica el
identificador de enlace, se asume por defecto el último enlace. Normalmente no es
necesario cerrar el enlace ya que la aperturas no son persistentes, son cerradas
automáticamente al final de la ejecución del script.
Se usó un JavaScript para generar alertas de diferentes tipos ya que el lenguaje
PHP no permite hacer este tipo de avisos, como se muestra en la siguiente
sintaxis:
echo" <script language='JavaScript'>
alert('no se registro'); </script>";
Para facilitar el diseño de las interfaces se obtuvieron libremente plantillas que
fueron modificadas a solicitud del cliente, lo que permitió dar un aspecto agradable
y sencillo a la aplicación.
4.4 FASE 4° - ESTABILIZACIÓN
La fase estabilización no aplica por qué no está definido en el alcance del
proyecto.
4.5 FASE 5° - IMPLEMENTACIÓN
La fase implementación no aplica por qué no está definido en el alcance del
proyecto.
36
5. PRESUPUESTO
PRESUPUESTO
CONCEPTO VALOR UNIDAD CANTIDAD VALOR TOTAL
ASESOR
$20.000/HORA
16
$ 320.000
LIBROS
$60.000/C/U
2
$ 120.000
INTERNET
$25.000/MES
5
$ 125.000
PAPELERIA
$ 70.000
$ 70.000
TOTAL
$ 635.000
37
6. CONCLUSIONES

Entre las diferentes metodologías que se confrontaron a través de un
cuadro comparativo, se esclarecieron todas las características de cada una,
por lo cual se escogió la metodología a Microsoft Solution Framework
(MSF), lo que permitió un desarrollo ágil del aplicativo.

Las herramientas case y los frameworks mejoran los tiempos de desarrollo
proporcionando código predefinido y funciones ejecutables de una manera
sencilla.

El gremio de los abogados no cuenta con la tecnología para trabajar de una
manera eficiente generando problemas de tiempos y la complicación de los
casos judiciales.
38
BIBLIOGRAFÍA
BOOCH Grady, RUMBAUGH James, JACOBSON Ivar, El Lenguaje Unificado de
Modelado 2 edición, ED. Pearson, 527pgs.
GUTIERREZ Abraham, BRAVO Ginés, PHP5, Alfa omega Ra-Ma, 552pgs.
http://es.wikipedia.org/wiki/Portada, Enciclopedia Libre.
http://giga4.es/archivos/raiz/moviendoarchivos/2008/febrero/presentacion_tac.pdf
http://www.lablaa.org/, Biblioteca Virtual Luis Ángel Arango.
http://www.netpecos.org/docs/mysql_postgres/x108.html
JENKINS
Neil, Redes de área
Hispanoamericana, 1995, 309pgs.
local
(LAN),
México,
Prentice
Hall
PÉREZ LÓPEZ Cesar, MySQL: Para Windows y Linux, México, Alfa omega, 2004,
454p.
PRESSMAN, Roger S. Ingeniería de Software. Quinta Edición. McGraw-Hill
Interamericana. Madrid. 2002.
WEITZENFELD Alfredo, Ingeniería de Software Orientada a Objetos con UML java
e internet, México, International Thomson Editors, 2005, 678p.
39
ANEXOS
Anexo 1. Manual del Usuario
SISTEMA DE GESTIÓN CONSORCIO AJ ABOGADOS
MANUAL DEL USUARIO
40
INTRODUCCION
El aplicativo para el registro y seguimiento de la información de los procesos
judiciales en el Consorcio AJ Abogados es una aplicación Web sobre una base de
datos relacional en plataforma MySQL e interfaces con PHP, el cual permite
sistematizar y apoyar todos los procesos judiciales en el Consorcio AJ Abogados.
El presente manual hace referencia a la forma de navegación dentro de los menús
de la aplicación, describiendo paso a paso que deberá seguir el usuario final del
software (según el perfil) para registrar, actualizar, consultar y eliminar en el
sistema de información, los datos relacionados con los procesos judiciales como
son sus actuaciones, datos personales del cliente y contraparte.
41
TABLA DE CONTENIDO
ENTORNO GENERAL DEL APLICATIVO PARA EL REGISTRO Y
SEGUIMIENTO DE LOS PROCESOS JUDICIALES EN EL CONSORCIO AJ
ABOGADOS43
¿Cómo ingresar al aplicativo Consorcio AJ Abogados?
44
¿Cómo registrar un nuevo usuario en el aplicativo Consorcio AJ Abogados?
44
¿Cómo registrar un proceso en la base de datos del aplicativo Consorcio AJ
Abogados?
45
¿Cómo actualizo los datos de un cliente en el aplicativo Consorcio AJ Abogados?
48
¿Cómo registrar una actuación en un proceso en el aplicativo Consorcio AJ
Abogados?
49
¿Cómo modificar el registro de una actuación en el aplicativo?
50
¿Cómo eliminar usuarios de la aplicación?
52
42
ENTORNO GENERAL DEL APLICATIVO PARA EL REGISTRO Y
SEGUIMIENTO DE LOS PROCESOS JUDICIALES EN EL CONSORCIO AJ
ABOGADOS
El aplicativo está diseñado en ambiente web que posee una barra de menú,
alertas y vínculos de interés general estándar para todas las interfaces de registro,
consulta, actualización y eliminación de la información.
La barra de menú está compuesta por diferentes links que le permitirán al usuario
realizar registros, consultas, actualizaciones y eliminaciones, como se puede
apreciar en la siguiente figura:
43
¿Cómo ingresar al aplicativo Consorcio AJ Abogados?
Para ingresar al aplicativo solo basta con hacer “doble click” sobre el icono de
acceso directo que se encuentra en el escritorio
Después de hacer “doble click” se abrirá una ventana del navegador
predeterminado que se encuentre instalado en la máquina, donde será validado el
Usuario y contraseña.
En usuario debe digitar el nombre de usuario que le ha sido asignado.
En contraseña debe digitar la clave de acceso.
¿Cómo registrar un nuevo usuario en el aplicativo Consorcio AJ Abogados?
En el menú se encuentra un link
que le permitirá registrarse:
, el cual lo llevará al formulario
44
Una vez se haya creado el nuevo usuario este lo devolverá nuevamente a la
página de inicio desde la cual usted podrá ingresar a las funciones de la aplicación
y cuando usted haya validado la clave y el usuario se presentará el siguiente
formulario que tiene habilitadas todas las funciones que pueden realizar cada uno
de los usuarios.
¿Cómo registrar un proceso en la base de datos del aplicativo Consorcio AJ
Abogados?
Lo primero que se debe hacer es registrar el proceso, llenando todos los campos
requeridos (*) en el formulario que aparecerá después de hacer click en el link,
en seguida podrá registrar al cliente junto con sus datos
personales y por último se registra la contraparte como se ve en la siguiente
figura:
45
N° Carpeta: Ingrese el número de la carpeta donde se va archivar.
N° Proceso: Ingrese el número del proceso.
Tipo de Proceso: Seleccione el tipo de proceso que corresponde.
Juzgado: Seleccione el Juzgado.
Frente al Tipo de Proceso y Juzgado se encuentra el vínculo nuevo!!!, lo que le
permitirá insertar nuevos Tipos de Procesos y Juzgados:
Para registrar un nuevo tipo de proceso, únicamente se necesita llenar el campo
Tipo Proceso y luego dar Click en el botón Guardar.
46
Para registrar un nuevo juzgado, se requiere llenar los siguientes campos;
No. Juzgado: Ingrese el número del juzgado.
Nombre: Ingrese el nombre del juzgado.
Contacto: Ingrese el nombre de una persona de contacto en ese juzgado.
Teléfono: Ingrese el número telefónico del contacto.
N° Cédula: Ingrese el número de identificación del cliente.
Nombre: Ingrese el nombre del cliente.
Apellido: Ingrese el apellido del cliente.
Dirección: Ingrese la dirección de residencia del cliente.
Teléfono Fijo: Ingrese el número telefónico fijo de contacto al cliente.
Teléfono Móvil: Ingrese el número telefónico del móvil del cliente si posee.
Barrio: Ingrese el barrio donde reside el cliente.
Localidad: Ingrese la localidad a la que pertenece el barrio.
N° Identificación: Ingrese el número de identificación de la contraparte.
Nombre: Ingrese el nombre de la contraparte.
Apellido: Ingrese apellido de la contraparte si posee.
47
Dirección: Ingrese la dirección de ubicación de la contraparte.
Teléfono Fijo: Ingrese el número telefónico fijo de contacto a la contraparte.
¿De qué manera puedo consultar un cliente en la base de datos del aplicativo?
Hay dos maneras de consultar un cliente, puede ser por su número de cédula ó
por su nombre:
La consulta permite visualizar todos los datos registrados:
¿Cómo actualizo los datos de un cliente en el aplicativo Consorcio AJ Abogados?
Se realiza primero la consulta del cliente que desea actualizar a través del link
, mediante de su número de identificación:
48
Después de realizada la consulta, permitirá hacer las modificaciones dentro de los
mismos campos de texto:
Dando un click en el botón “Actualizar”, este guardará las modificaciones hechas
arrojando este mensaje:
¿Cómo registrar una actuación en un proceso en el aplicativo Consorcio AJ
Abogados?
Este registro se realiza a través del link
siguiente formulario:
49
, el cual lo llevará al
Fecha de actuación: Es la fecha del día esta se cargará automáticamente ya que
es tomada del sistema.
Carpeta: Ingrese el número de la carpeta a la cual le va a registrar la actuación
Observaciones: Ingrese las anotaciones que crea convenientes
Tipo de actuación: Seleccione el tipo de actuación
Llenando todos los campos se almacenarán en su carpeta correspondiente, según
el tipo de actuación se le asignará una fecha de término y el número de registro:
¿Cómo modificar el registro de una actuación en el aplicativo?
Esta operación se encuentra en el vínculo
, al dar clic en este
se solicitará el número de registro de la actuación que le proporciona el sistema en
el momento de registrar la actuación. En caso de olvido puede ser consultado en
el historial del proceso:
50
Después de digitar el número del registro de la actuación que desea modificar, al
hacer clic en el botón enviar se mostrará la consulta realizada en el siguiente
formulario:
Este formulario presenta todos los campos con los datos actuales de la actuación,
los cuales pueden ser modificados desde ellos mismos. Y por último cuando le de
click al botón actualizar le aparecerá un mensaje como el siguiente indicándole
que la modificación fue almacenada en la base de datos:
51
¿Cómo eliminar usuarios de la aplicación?
Para la eliminación de usuarios que trabajan con la aplicación cabe recordar que
esta función solo podrá ser llevada a cabo por el administrador o el gerente, para
ello se debe hacer click sobre el vinculo
, este vinculo lo llevará a un
nuevo formulario que le pedirá el nombre del usuario que desea eliminar como se
muestra en la siguiente figura:
A continuación para ejecutar la eliminación deberá dar click sobre el botón eliminar
y por último le aparecerá un mensaje confirmando si desea eliminar el usuario, si
da clic en aceptar el usuario ha sido eliminado de la base datos, por lo tanto esta
persona ya no tendrá acceso a la aplicación. Si da clic en cancelar la operación no
será realizada.
52
Anexo 2. Manual Técnico
SISTEMA DE GESTIÓN CONSORCIO AJ ABOGADOS
MANUAL TÉCNICO
53
DESCRIPCIÓN GENERAL DEL APLICATIVO
Descripción General
El aplicativo está basado en una base de datos relacional, en la cual se
almacenan toda la información de los procesos judiciales, clientes, contrapartes y
actuaciones en el Consorcio AJ Abogados.
El usuario mediante la interfaz grafica podrá insertar nuevos procesos, clientes,
contrapartes y actuaciones en la base de datos, además los datos que se
encuentran registrados podrán ser modificados.
El aplicativo cuenta con una función de sumar fechas que permite calcular la fecha
de término en una actuación procesal.
REQUERIMIENTOS Y ASPECTOS TÉCNICOS
Última Versión:
1.0 (Mayo de 2008)
Idioma en Pantalla:
Español
Modo de Funcionamiento: Interactivo
Modo de Operación:
Multiusuario
Plataforma Operativa:
Windows 95/98/2000/ME/NT/XP/Vista
Herramientas de Diseño: Dreamweaver CS3
Requerimientos de Hardware
Disco Duro:
Memoria RAM:
Procesador:
10 GB
256 Mb
AMD ó Pentium > 400Mhz
INSTALACION
Para la instalación del aplicativo se debe tener en cuenta que el servidor debe
contar con el motor de base de datos MySQL para poder gestionar la base de
datos, además de esto también debe contar con servidor web el más apropiado es
el apache 2.2.4, por último se debe aclarar que todos los formularios desarrollados
en la herramienta de diseño deben estar copiados en cada uno de los equipos
usuarios, dentro de la carpeta C: /AppServ/www.
54
CAMPOS CALCULADOS
Para el correcto desarrollo del aplicativo fue necesario agregar una función
desarrollada en PHP, como se muestra a continuación:
function suma_fechas($fecha,$ndias)
{
list($año, $mes, $dia) = split("-",$fecha);
$nueva = mktime(0,0,0, $mes, $dia, $año) + $ndias * 24 * 60 * 60;
$nuevafecha = date("Y-m-d",$nueva);
return ($nuevafecha);
}
Esta función nos permite sumar días a la fecha del sistema, los días a sumar
están almacenados en la base de datos.
DISEÑO LOGICO Y MODELO DE DATOS
Reglas del negocio

Cada cliente debe estar relacionado a un número de carpeta, la que
corresponde a un número de proceso y cada proceso a un juzgado, este
número de carpeta es único e irrepetible.

Cada proceso posee unas actuaciones que se muestran como un historial
del mismo.

Al insertar una nueva actuación se deben contar los días de termino
55
MODELO DE DATOS
56
57
CAMPO
Cod_Juz
No_Juzgado
Contacto
Tel_contacto
DESCRIPCIÓN
CAMPO
No. Cedula
Cod_Proc
DESCRIPCIÓN
CAMPO
No_cedula
Nombre
Apellido
Dirección
Teléfono_fijo
Teléfono_mov
Cod barrio
DESCRIPCIÓN
CAMPO
Cod_Proc
N_Proc
Cod_Juz
Cod_Tipo_Proc
No_doc_deman
DESCRIPCIÓN
TIPO DATO
texto
texto
texto
numérico
TIPO DATO
texto
numérico
TIPO DATO
texto
texto
texto
texto
numérico
numérico
numérico
TIPO DATO
texto
numérico
numérico
numérico
numérico
LONGITUD
12
50
50
10
LONGITUD
13
3
LONGITUD
13
50
50
20
10
10
3
LONGITUD
3
7
12
3
13
Tabla intermedia entre cliente y proceso.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
x
SI
0 - 999999999999
SI
NO
NO
0 - 9999999999
TABLA 4 - JUZGADO
Tabla intermedia entre cliente y proceso.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
x
SI
1 - 999999999999
x
SI
0 - 999
TABLA 3 - CLIENTE_PROCESO
DESCRIPCION
número de identificación de juzgado
nombre del juzgado
nombre del contacto en el juzgado
número de teléfono del contacto
DESCRIPCION
número de identificación del cliente
número único para cada expediente
Esta tabla contiene la información básica sobre cada uno de los clientes.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
DESCRIPCION
x
SI
1 - 9999999999999
número de identificación del cliente
SI
nombre del cliente
SI
apellido cliente
SI
dirección residencia del cliente
SI
2000000-8999999
número telefónico residencia cliente
NO
3002000000-3508999999 número celular del cliente
X
SI
1 - 999
número para identificar del barrio
TABLA 2 - CLIENTE
Esta tabla contiene la información sobre cada uno de los expedientes como el juzgado, el numero entre otros.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
DESCRIPCION
x
SI
0 - 999
número único para cada expediente
SI
0 - 9999999
número de proceso llevado en el juzgado
x
SI
0 - 999999999999
número único para cada juzgado
x
SI
0 - 999
número para identificar el tipo de proceso
x
SI
0 - 999999999999
número para identificar los demandados
TABLA 1 - PROCESO
DICCIONARIO DE DATOS
58
CAMPO
Cod_Act
Cod_Proc
Cod_Tipo_Act
Fecha_Mov
Observaciones
Fecha_Fin
DESCRIPCIÓN
CAMPO
Cod_Tipo_Act
Nombre_Act
DESCRIPCIÓN
CAMPO
No_Localidad
Nombre
DESCRIPCIÓN
CAMPO
Cod_Barrio
Nombre_bar
No_Localidad
DESCRIPCIÓN
TIPO DATO
autonumérico
numérico
numérico
fecha
texto
fecha
TIPO DATO
texto
texto
TIPO DATO
texto
texto
TIPO DATO
texto
texto
numérico
200
LONGITUD
3
3
3
LONGITUD
3
50
LONGITUD
3
50
LONGITUD
3
50
3
DESCRIPCION
número de identificación del barrio
nombre del barrio
número de la localidad a la que pertenece el barrio
Tabla intermedia entre proceso y tipo de actuación.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
x
SI
0 - 999
x
SI
0 - 999
x
SI
SI
01/01/1900
No
SI
01/01/1900
TABLA 8 - PROC_TIPO_ACT
DESCRIPCION
número de identificación de la actuación
número de identificación del proceso
número de identificación del tipo actuación
fecha de la actuación
observaciones acerca de la actuación
fecha término de la actuación
Tabla informativa sobre las actuaciones que tiene un proceso.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
DESCRIPCION
x
SI
0 - 999
número de identificación de la actuación
SI
nombre de la actuación
TABLA 7 - TIPO_ACTUACION
Contiene información sobre la localidad donde se encuentra el barrio.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
DESCRIPCION
x
SI
0 - 999
número de la localidad a la que pertenece el barrio
SI
nombre de la localidad
TABLA 6 - LOCALIDAD
Contiene información sobre el barrio donde reside el cliente.
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
x
SI
0 - 999
SI
x
SI
0 - 999
TABLA 5 - BARRIO
59
TIPO DATO
texto
texto
texto
texto
numérico
CAMPO
Cod_usuario
Usuario
Clave
DESCRIPCIÓN
TIPO DATO
texto
texto
numérico
CAMPO
TIPO DATO
Cod_Proc
texto
No_doc_deman numérico
DESCRIPCIÓN
CAMPO
No_documento
Nombre
Apellido
Dirección
Teléfono
DESCRIPCIÓN
CAMPO
TIPO DATO
Cod_Tipo_Proc texto
Nombre
texto
DESCRIPCIÓN
LONGITUD
3
50
8
LONGITUD
3
13
LONGITUD
13
50
50
20
10
LONGITUD
3
50
DESCRIPCION
número de identificación del tipo de proceso
nombre del tipo de proceso
DESCRIPCION
número de identificación del proceso
nombre de identificación del demandado
Tabla que contiene los datos que le permitirán al usuario acceder al programa
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
DESCRIPCION
x
SI
0 - 999
número de identificación del usuario
SI
nombre o login para identificación del usuario
SI
1 - 99999999
número que será clave personal
TABLA 12 - USUARIOS
Tabla intermedia entre proceso y demandado
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
x
SI
0 - 999
SI
1 - 9999999999999
TABLA 11 - PROC_DEMANDADO
Esta tabla contiene la información básica sobre cada uno de los demandados
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
DESCRIPCION
x
SI
1 - 9999999999999 número de identificación del demando
SI
nombre del demandado
SI
apellido del demandado
No
dirección residencia del demandado
No
2000000-8999999
número telefónico residencia demandado
TABLA 10 - DEMANDADO
Tabla informativa sobre los tipo de procesos
LLAVER PRIMARIA LLAVE FORANEA OBLIGATORIO
DOMINIO
x
SI
0 - 999
SI
TABLA 9 - TIPO_PROCESO
ASPECTOS DE SEGURIDAD, MECANISMOS DE ACCESO DE LOS DATOS
El aplicativo posee un mecanismo de seguridad que consiste en el control de
acceso por medio de un Usuario y Contraseña, lo que permitirá evaluar el perfil de
la persona que va ingresar. Cada usuario tiene un perfil específico con ciertas
restricciones.
60
GLOSARIO
ABOGADO Persona que de conformidad con las exigencias académicas y
legales, han obtenido un título que las habilita para defender la justicia, los
derechos de la sociedad y de los particulares, asesorar, patrocinar y asistir a las
personas en la ordenación y desenvolvimiento de sus relaciones jurídicas.
ACCIÓN DE TUTELA Toda persona que ejerza reclamar la protección judicial
inmediata de los derechos fundamentales. Procede cuando un derecho
fundamental haya sido vulnerado o amenazado por la acción u omisión de
cualquier autoridad pública. Procede en los casos señalados en la ley contra
ciertos particulares.
ACTUACIONES Son todas las tramitaciones que constituyen las piezas de
asuntos redactas durante el desarrollo del juicio o proceso.
ADJUDICACIÓN Acción y efecto de conceder a uno la propiedad de alguna cosa.
APELACIÓN Recurso planteado ante una jurisdicción superior, para obtener la
revocación total o parcial de una decisión de la jurisdicción inferior.
APODERADO Persona que ha recibido mandato de otra para ejercer en su lugar
ciertos poderes.
ARANCEL Tarifas oficiales, tablas o catálogos en que se determinan las
cantidades que se han de pagar por la prestación de determinado servicio o para
la liquidación de alguna tasa o impuesto.
AUDIENCIA Acto por intermedio del cual una autoridad administrativa o judicial,
en función de juzgar, oye a las partes o recibe las pruebas.
AUTO En el lenguaje forense esta voz se utiliza en singular y plural, en ambos
modos hace referencia a una categoría de resoluciones judiciales.
CANCELACIÓN Liquidación o pago total de una deuda; eliminación de un saldo
deudor o acreedor de una cuenta, mediante un asiento practicado con esta
finalidad.
CAUCION Prevención, precaución o cautela. / Seguridad personal de que se
cumplirá lo pactado, prometido o mandado.
61
CITACIÓN Acto por el cual un juez o tribunal ordena la comparencia de una
persona, sea parte, testigo, perito o cualquier otro tercero, para realizar o
presenciar una diligencia que afecte a un proceso
CÓDIGO Cuerpo de leyes dispuestas según un plan metódico y sistemático. / Con
menos importancia jurídica, es también la recopilación de leyes o estatutos de un
país.
COMPETENCIA Autoridad y jurisdicción entre los funcionarios que ejercen una y
otra. Objetivamente, la competencia en el conjunto de negocios o actuaciones en
el que puede un funcionario ejercer legalmente sus atribuciones.
CONCILIACIÓN Acción de componer y ajustar los ánimos de los que estaban
opuestos entre si. / Acuerdo entre dos personas que se hallan en pleito obtenido
por intermedio de un juez.
CURADOR Persona encargada del cuidado de la persona o bienes del incapaz
sometido a curatela o de la administración de los bienes del menor, púber o
adulto.
DEFENSA Exposición de argumentos jurídicos que el defendido y su abogado
oponen a la acusación o demanda para demostrar que las razones alegadas no
están ajustadas a derecho.
DEFENSOR Abogado que en el proceso penal representa y asiste al procesado.
DEMANDA Petición prestada ante una autoridad jurisdiccional, con el fin de
obtener la administración de justicia en un caso concreto.
DEMANDADO Persona contra quien se actúa o a quien se le reclama algo en
juicio, exigiéndole alguna cosa o prestación determinada.
DEMANDANTE Persona que formula una demanda en juicio, en reclamación de
una cosa o reconocimiento de un derecho.
DERECHO Conjunto de normas previstas de sanciones que rigen las relaciones
de los hombres en la sociedad.
DESPACHO El mantenimiento y orden que hace un juez por escrito, determinado
que se dé, haga o no se haga alguna cosa; verbigracia, el oficio que un juez o
tribunal manda a otro de inferior categoría que él, para que practique alguna
diligencia.
62
EJECUTIVO Instrumento del sector público en cuyo vértice están situados el
Presidente de la República, jefe de estado y suprema autoridad administrativa y
los altos funcionarios, ministros y jefes de departamentos administrativos, que con
él integran el gobierno.
EMBARGO Deudor real a quien se embarga un bien. / Retención de bienes hecha
con mandamiento de juez competente con razón de deuda o delito.
EXPROPIACIÓN Privación de la propiedad, por causa de utilidad pública o interés
preferente y a cambio de una indemnización previa.
FALLO Resolución pronunciada por un juez, magistrado o árbitro. La sentencia es
una providencia judicial que decide sobre las pretensiones de la demanda o las
excepciones que no tienen el carácter de previas, cualquiera que sea la instancia
en que se pronuncie, o resuelve uno de los recursos extraordinarios. El laudo
arbitral es la decisión a través de la cual se decide por árbitros una controversia
susceptible de transacción, surgida entre personas capaces de transigir.
GNU (GFDL) la licencia de documentación libre, que cubre los artículos de la
Wikipedia, la Open Audio License, para trabajos musicales, etcétera, y otras
menos restrictivas, como la MGPL, o la LGPL (Lesser General Public License o
Library General Public License), que permiten el enlace dinámico de aplicaciones
libres a aplicaciones no libres.
GPL (Licencia Pública General) es una licencia creada por la Free Software
Foundation a mediados de los 80, y está orientada principalmente a proteger la
libre distribución, modificación y uso de software. Su propósito es declarar que el
software cubierto por esta licencia es software libre y protegerlo de intentos de
apropiación que restrinjan esas libertades a los usuarios.
INSTANCIA Cada una de las etapas o grados del proceso. Corrientemente, en la
tramitación de juicio se pueden dar dos instancias: una primera, que va desde su
iniciación hasta la primera sentencia que lo resuelve, y una segunda, desde la
interposición del recurso de y una segunda, desde la interposición del recurso de
apelación hasta la sentencia que en ella se pronuncie.
JUEZ En sentido amplio llamase así todo miembro integrante del Poder Judicial,
encargado de juzgar los asuntos sometidos a su jurisdicción. Tales magistrados
están obligados al cumplimiento de su función de acuerdo con la Constitución y las
leyes, con las responsabilidades que aquélla y éstas determinan.
JURISDICCIÓN Del latín iurisdictio, administración del derecho. Acción de
administrar el derecho, no de establecerlo. Es, pues, la función específica de los
jueces. También, la extensión y límites del poder de juzgar, ya sea por razón de la
materia, ya sea por razón del territorio, si se tiene en cuenta que cada tribunal no
63
puede ejercer su función juzgadora sino dentro de un espacio determinado y del
fuero que le está atribuido. En este último sentido se habla de jurisdicción
administrativa, civil, comercial, correccional, criminal, laboral, etc.
MAGISTRADO Funcionario judicial que, integrando una sala, forma parte de un
tribunal colegiado.
NULIDAD Ineficacia de un acto jurídico como consecuencia de la ilicitud de su
objeto o de su fin, de la carencia de los requisitos esenciales exigidos para su
realización o de la concurrencia de algún vicio de la voluntad en el momento de su
celebración. La nulidad puede ser absoluta (insubsanable) o relativa (subsanable).
PODER Documento que le confiere a una persona la autoridad para actuar por
cuenta de la otra.
PROCESO Conjunto de actos que se ejecutan por o ante una autoridad
jurisdiccional, con el fin de obtener la administración de justicia en un caso
concreto.
SECRETARIO JUDICIAL El funcionario público que en juzgados, audiencias y
tribunales, está encargado de dar fe de las actuaciones y diligencias, y auxiliar a
los jueces y magistrados en sus funciones características. Su antiguo nombre
español fue el de escribano.
SENTENCIA Dictamen, opinión, parecer propio. /Máxima, aforismo, dicho moral o
filosófico. /Decisión extrajudicial de la persona a quien se encomienda resolver
una controversia, duda o dificultad. /Resolución judicial por una causa. /El más
solemne de los mandatos de un juez, por oposición a auto o providencia. /Parecer
o decisión de un jurisconsulto romano. /
SUJETO Obligado. / Propenso. / Persona. / Titular de un derecho u obligación.
TÉRMINO Momento en que un acto jurídico debe comenzar a producir o dejar de
producir sus efectos característicos. Denominase también plazo.
TÉRMINO IMPRORROGABLE Es el que no puede ser objeto de prórroga.
TÉRMINO JUDICIAL Es aquél que determina y fija el juez.
TÉRMINO LEGAL La denominación de legal, corresponde al término que se
encuentra expresamente fijado por la ley.
64
TRASLADO Copia o testimonio de un documento original autorizada por
funcionario o notario competente al efecto. Conocimiento dado a una de las partes
de las pretensiones de la otra con objeto de que pueda alegar lo que estime
procedente en defensa de su derecho.
TRIBUNAL Órgano de jurisdicción destinado a la aplicación del derecho por la vía
del proceso.
65
FECHA
24 de mayo de
2008
NÚMERO RAE
PROGRAMA
AUTOR (ES)
TÍTULO
Tecnología en Sistemas
VELA GÓMEZ, Juan Manuel; ORTIZ SORIANO, Jhonnatan Camilo
Desarrollo de un aplicativo para el registro y seguimiento de la
información de los procesos judiciales en el Consorcio AJ Abogados
PALABRAS CLAVES
Procesos judiciales, juzgados, actuación, PHP, desarrollo web, MySql, Microsoft Solution
Framework, software.
DESCRIPCIÓN
Este trabajo contiene el análisis que se realizó para el desarrollo de la aplicación del
Consorcio AJ Abogados, en términos generales el documento se compone, de un
marco teórico el cual contempla diferentes metodologías de desarrollo que
permitieron selección la metodología MSF (Microsoft Solution Framework), la cual
contempla las siguientes etapas. La aplicación permite registrar, consultar, insertar
todas las actuaciones sobre los procesos judiciales. La aplicación fue desarrollada
con las herramientas php y mysql.
FUENTES BIBLIOGRÁFICAS
BOOCH Grady, RUMBAUGH James, JACOBSON Ivar, El Lenguaje Unificado de
Modelado 2 edición, ED. Pearson, 527pgs.
GUTIERREZ Abraham, BRAVO Ginés; PHP5; Alfa Omega Ra-Ma; 552pgs.
JENKINS, Neil; Redes de área local (LAN); México: Prentice Hall Hispanoamericana,
1995.; 309pgs.
http://www.netpecos.org/docs/mysql_postgres/x108.html
http://giga4.es/archivos/raiz/moviendoarchivos/2008/febrero/presentacion_tac.pdf
66
CONTENIDOS
Los objetivos definidos para el trabajo son:
OBJETIVO GENERAL
Desarrollar un aplicativo cliente/servidor para la sistematización de los procesos judiciales en el
Consorcio AJ Abogados.
OBJETIVOS ESPECÍFICOS

Analizar los procesos de registro y seguimiento de la información jurídica del Consorcio de
Abogados.

Determinar los requerimientos funcionales y no funcionales.

Diseñar el modelo de la base de datos y la interfaz gráfica.

Implementar el modelo de la base de datos y la interfaz gráfica.
La investigación se resume en la parte donde se desarrolla la metodología ya que en este capitulo se
muestra paso a paso como fue la elaboración del proyecto.
Fase 1 Previsión
Esta fase comprende la definición del problema, los antecedentes, los objetivos generales y específicos,
los alcances, imitaciones y requerimientos
Fase 2 Planificación
Esta fase comprende el diseño del aplicativo que ayudara a tener un punto base para el desarrollo del
mismo, para esto la metodología nos exige la elaboración de casos de uso que deben implementarse para
un mejor entendimiento del funcionamiento del software.
Fase 3 Desarrollo
Esta fase trata sobre el desarrollo en sí de la aplicación, la definición del lenguaje usado para la
programación, el motor de base de datos utilizado para implementar el diseño, las funciones y líneas de
código especiales utilizadas para un mejor desarrollo de la aplicación
67
NÚMERO RAE
PROGRAMA
Tecnología en Sistemas
METODOLOGÍA
ENFOQUE DE LA INVESTIGACIÓN
Empírico-analítico: cuyo interés es el técnico, orientado a la interpretación y
transformación del mundo material.
LÍNEA DE INVESTIGACIÓN / SUB-LÍNEA DE FACULTAD/ CAMPO TEMÁTICO DEL
PROGRAMA
Tecnologías Actuales y Sociedad / Sistema de Información y Comunicación /
Desarrollo de Software
CONCLUSIONES

Entre las diferentes metodologías que se confrontaron a través de un cuadro
comparativo, se esclarecieron todas las características de cada una, por lo
cual se escogió la metodología a Microsoft Solution Framework (MSF), lo que
permitió un desarrollo ágil del aplicativo.

Las herramientas case y los frameworks mejoran los tiempos de desarrollo
proporcionando código predefinido y funciones ejecutables de una manera
sencilla.

El gremio de los abogados no cuenta con la tecnología para trabajar de una
manera eficiente generando problemas de tiempos y la complicación de los
casos judiciales.
68
Descargar