SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Downloaden Sie, um offline zu lesen
Ingeniería en Sistemas y Software Libre
al servicio de las PYMES
Autor: José Daniel Muccela
Tutor: Ing. Alberto Moyano
Departamento de Sistemas de Información
Facultad Regional Tucumán
Universidad Tecnológica Nacional
2010
José Daniel Muccela
- 2 -
José Daniel Muccela
- 3 -
AGRADECIMIENTOS
A Dios y mi familia por el apoyo brindado a lo largo de los años transitados por la
Universidad, siendo mis sostenes en los momentos difíciles y compartiendo las alegrías en
los momentos de éxito.
Al Ingeniero Alberto Moyano por su disposición al trabajo, soporte y guía constante
como tutor del proyecto.
A los Ing. Pablo Rovarini, Rosana Hadad, Patricia Nazar, Lucas Cordero, Gustavo
Maigua, Gustavo Juárez y Lic. Carlos Pérez por el asesoramiento brindado.
A la Ing. Cristina Rojas, Secretaria académica de la Universidad Tecnológica
Nacional Facultad Regional Tucumán, por su valioso aporte de información referente al
ámbito de la carrera Ingeniería en sistemas.
A la Ingeniera Sonia Brizuela de Cesca, directora de la Dirección de Industria y
MiPyME (dependiente del Ministerio de Desarrollo Productivo) de la provincia de Tucumán,
por su gran contribución en información del ámbito de las PYMES de Tucumán.
Al C.P.N. José Lezanna, coordinador de PYMES en la ciudad de San Isidro de Lules,
por su aporte en materia de las PYMES de servicios.
Finalmente agradecer a la Universidad Tecnológica Nacional, especialmente la
Facultad Regional Tucumán por darme la inestimable oportunidad de formarme como
profesional.
José Daniel Muccela
- 4 -
ÍNDICE
Agradecimientos 3
Resumen 7
Situación Problemática – Planteo del Problema 8
Objetivo General 8
Objetivos Específicos 8
CAPITULO 1 – PYMES
1.1 Hablemos de PYMES. 10
1.2 Tipos de Empresas según su actividad. 11
1.3 Situación actual de las PYMES. 12
1.4 PYMES y necesidades de software. 12
1.5 PYMES de Servicios de RRHH y requerimientos en común. 13
CAPITULO 2 – El profesional de sistemas de información
2.1 Carrera de Ingeniería en Sistemas de Información. 14
2.2 Perfil profesional del Ingeniero en Sistemas de Información. 14
2.3 El Ingeniero en Sistemas de la Universidad Tecnológica Nacional.
Incumbencias.
15
CAPITULO 3 – Software Libre
3.1 Software libre. 16
3.2 Software propietario. 17
3.3 Software libre versus software propietario. 17
3.3.1 Ventajas del software libre 17
3.3.2 Desventajas del software libre 20
3.3.3 Ventajas del software propietario 21
3.3.4 Desventajas del software propietario. 21
3.4 Modelos de software libre y no libre. 23
3.5 Licencias. Licencias de software libre. 26
3.5.1 Licencias para software. 26
3.5.1.1 Licencias de software libre compatibles con la GPL. 26
3.5.1.2 Licencias de software libre incompatibles con la GPL. 27
3.5.1.3 Licencias de software no libre. 27
3.5.2 Licencias para documentación. 28
3.5.2.1 Licencias de documentación libre. 28
3.5.2.2 Licencias de documentación no libre. 29
José Daniel Muccela
- 5 -
3.5.3 Licencias para trabajos aparte del software y la
documentación.
29
3.6 Evolución. El futuro del software libre. 29
3.7 PYMES y el software libre. 30
CAPITULO 4 – Caso de Estudio
4.1 Selección de Metodologías de Trabajo. 33
4.2 Alternativas de solución. 33
4.3 Desarrollo del sistema. 34
CAPTITULO 5 – Análisis del sistema
5 Análisis del Sistema. 35
5.1 Estructura del sistema. 35
5.2 Presentación General del Sistema. 35
5.3 Casos de Uso. 37
5.4 Descripción Formal de los Casos de Uso. 37
5.5 Curso normal de eventos y cursos alternos. 39
5.6 Diagrama de Casos de Uso. 43
5.7 Modelo Conceptual. 44
5.7.1 Conceptos. 44
5.7.2 Modelo conceptual simplificado. 44
5.7.3 Modelo conceptual extendido. 45
5.7.4 Glosario. 46
5.8 Diagramas de Secuencia. 47
5.9 Contratos. 48
5.9.1 Contratos para C.U. Búsqueda de Empleados. 48
5.9.2 Contratos para C.U. Alta de Empleados. 48
5.9.3 Contratos para C.U. Registración de Cursos. 49
5.9.4 Contratos para C.U. Modificación de Empleados. 50
CAPTITULO 6 – Diseño del sistema
6 Diseño del sistema 51
6.1 Casos Reales de Uso 51
6.1.1 C.U. Búsqueda de Empleados 51
6.1.2 C.U. Alta de Empleados. 52
6.1.3 C.U. Registración de Cursos. 54
José Daniel Muccela
- 6 -
6.1.4 C.U. Modificación de Empleados. 56
6.2 Diagramas de Colaboración o de Interacción 58
6.2.1 Diag. de Colab. para C.U. Búsqueda de Empleados 58
6.2.2 Diag. de Colab. para C.U. Alta de Empleados. 59
6.2.3 Diag. de Colab. para C.U. Registración de Cursos. 59
6.2.4 Diag. de Colab. para C.U. Modificación de Empleados 60
6.3 Diagrama de Clases 61
6.4 Selección de las tecnologías libres 62
CAPITULO 7 – Consideraciones Finales
Resultados obtenidos. 63
Conclusiones. 64
Referencias. 65
Anexos
Anexo I – Glosario de Términos. 67
Anexo II – Versiones del software utilizado para el desarrollo de la
aplicación
69
Anexo III – Modelo de la Base de Datos. Descripción de las tablas de la
Base de Datos
70
José Daniel Muccela
- 7 -
RESUMEN
En la actualidad, con la masiva aparición de pequeñas y medianas empresas
(PYMES) y por consiguiente, un fuerte aumento de la competencia, estas deben buscar la
forma de obtener una ventaja competitiva. Se sabe además que toda empresa tiene
necesidades de sistematizar sus procesos. Estas necesidades van desde detalles menores
hasta cuestiones muy complejas, que, atendidas a su debido tiempo y por personas
capacitadas, pueden convertir dichas necesidades en un sistema informático que las
satisfaga. El interrogante siempre está basado entorno a las posibilidades que ofrecen las
tecnologías actuales y a las capacidades de las personas que pueden llevar a cabo la
elaboración de sistemas informáticos. El problema se amplifica si se considera el ramo de
las PYMES de servicios.
En este proyecto, se propone por tanto, demostrar que es posible dar una solución
viable al problema detectado a través de un proyecto de desarrollo de software guiado por
un profesional de sistemas de información y haciendo uso de software libre.
José Daniel Muccela
- 8 -
SITUACIÓN PROBLEMÁTICA. PLANTEO DEL PROBLEMA
El tema que trata este proyecto es candente en la actualidad, porque abundan una
gran cantidad de PYMES en todo el mundo, todas ellas con necesidades de Información. En
muchas ocasiones las empresas optan por utilizar sistemas existentes que no cubren sus
expectativas ya que muchas veces están diseñados para otros fines, los cuales son distintos
a los de la propia empresa.
El caso de estudio que da soporte a la idea central del proyecto gira entorno al
desarrollo de un sistema orientado al sector de servicios de recursos humanos (selección de
personal, asignación de puestos según especialización, gestión de capacitaciones). Se
utilizará para ello sólo software libre.
OBJETIVO GENERAL
Demostrar que a través de la Ingeniería en Sistemas y de la utilización del Software
Libre se pueden obtener soluciones viables aplicables a las empresas PYME de servicios.
OBJETIVOS ESPECÍFICOS
En definitiva podemos resumir los aspectos mencionados en base a los siguientes
objetivos:
• Demostrar las ventajas de la utilización del Software Libre como alternativa de
solución para empresas PYME.
• Motivar a despertar el interés en el área del software libre para llevar adelante
proyectos de software orientados a PYMES de servicios.
• Que los Ingenieros en Sistemas conozcan las necesidades informáticas que
rodean a las PYMES de servicios.
• Que las PYMES conozcan las competencias y capacidades del Ingeniero en
Sistemas de Información como profesional capaz de dar solución a sus
necesidades de Información.
• Demostrar mediante la implementación de un sistema, que es viable su aplicación
en una empresa PYME como solución a sus necesidades de información.
• Hacer extensivos a la comunidad científica y académica los resultados y
conclusiones obtenidos, como así también a aquellos organismos posiblemente
interesados
José Daniel Muccela
- 9 -
MARCO TEÓRICO
José Daniel Muccela
- 10 -
CAPÍTULO 1 - PYMES
1.1 Hablemos de PYMES
Las pequeñas y medianas empresas (conocidas también por el acrónimo PYMES)
son empresas que tienen ciertas características que la distinguen, y tienen dimensiones con
ciertos límites ocupacionales y financieros prefijados por los Estados o Regiones. Son
entidades que poseen lógicas, intereses, culturas y un espíritu emprendedor particular.
Para determinar si una empresa es del tipo pequeña o mediana se utilizan diversos
criterios que varían según la estructura industrial y empresarial de cada país o Región que
se considere, a saber:
• Cantidad de empleados.
• Cálculos de coeficientes económicos.
• Valor de activos.
• Capacidad operativa.
• Formalidad.
• Volumen anual de ventas.
En el primer caso, una empresa se ubica dentro de una clasificación dependiendo del
número de empleados que la integran.
Por cálculos de coeficientes económicos se entiende el proceso de utilizar diversas
fórmulas financieras dictadas por el país o región en cuestión.
Por el valor de los activos hace referencia al precio que se pagaría en el mercado
para comprar los activos o el equipo.
De acuerdo a su capacidad operativa está vinculada a la capacidad de producción y
la capacidad comercial; aquellos que son resultado de los negocios a los que se orienta la
empresa.
Por la formalidad se refiere a si tiene un manejo gerencial, estructura organizacional
o si se maneja como una empresa unifamiliar.
Y por último se puede clasificar por su volumen anual de ventas como es el caso de
nuestro país; tal como lo define la Resolución nº 21/2010 de la Secretaría de la Pequeña y
Mediana Empresa y Desarrollo Regional (SEPyME) dependiente del Ministerio de Industria
de la República Argentina, las empresas Pyme se clasifican según las ventas totales
anuales, es decir el valor de las ventas que surja del promedio de los últimos tres (3)
balances o información contable equivalente adecuadamente documentada, excluidos el
impuesto al Valor Agregado, el impuesto interno que pudiera corresponder y deducidas las
exportaciones que surjan de los mencionados balances o información contable hasta un
máximo del treinta y cinco por ciento (35%) de dichas ventas.
Sector
Tamaño Agropecuario
Industria y
Minería
Comercio Servicios Construcción
Micro
Empresa
$ 610.000 $ 1.800.000 $ 2.400.000 $ 590.000 $ 760.000
Pequeña
Empresa
$ 4.100.000 $ 10.300.000 $ 14.000.000 $ 4.300.000 $ 4.800.000
Mediana
Empresa
$ 24.100.000 $ 82.200.000 $ 111.900.000 $ 28.300.000 $ 37.700.000
José Daniel Muccela
- 11 -
La resolución mencionada en el párrafo precedente surge modificaciones cada cierto
tiempo y esta en función de las políticas gubernamentales de fomento y desarrollo de
manera igualitaria. Si no se hicieran tales modificaciones, podría ocurrir por ejemplo, que
una PYME que tiene poco volumen de ventas, pueda acceder a algún programa de
financiación y las otras no, lo que llevaría la situación a una competencia desigual. De esto
se desprende que el gobierno recurre a la combinación de dos o más formas de clasificación
con el objetivo de incluir a todas las empresas en sus programas de financiación.
Podemos ver en el cuadro anterior, la unidad de negocio llamada Micro Empresa (de
ahí que usualmente pueda aparecer el término MIPYME). Este tipo de empresa surge a
partir de la iniciativa de promover fondos de financiación para estas empresas. Entonces,
según el volumen que factura tiene un correspondiente limite de financiación y promociones
que le sirven de soporte desde las entidades financieras y del mismo gobierno nacional.
1.2 Tipos de Empresas según su actividad
Vamos a describir las ramas de actividad de las empresas PYME de nuestro país.
Según el tipo de actividad que ejecutan las empresas PYMES de argentina, podemos
dividirlas en los siguientes sectores:
• Agropecuario.
• Industria manufacturera.
• Minería.
• Comercial.
• Servicios.
• Construcción.
Al respecto diremos que los sectores agropecuario, de la industria manufacturera, el
comercial y el de servicios son los que concentran la mayor cantidad de empresas de
nuestro medio.
En la provincia de Tucumán la situación es similar.
En el presente trabajo nos vamos a referir exclusivamente al sector de Servicios,
también llamado sector terciario.
Cada vez con mayor frecuencia se crean empresas dedicadas a ofrecer sus
servicios, que van desde la selección de personal calificado a grandes empresas, hasta
servicios financieros ya sea para pequeños o grandes clientes.
Además existe una gran diversidad de servicios muy particulares que muchas veces
surgen para cubrir las necesidades de las grandes empresas.
El sector terciario está compuesto de las áreas suaves de la economía tales como:
• Seguros.
• Turismo.
• Actividades financieras o Derecho financiero.
• Comercio.
• Al por mayor.
• Al por menor.
• Educación.
• Restaurantes.
• Franquicias.
• Industria del ocio incluyendo la industria de grabación, música, radio, televisión y
cine.
• Informática y tecnología.
• Transporte.
• Cuidados personales y de salud.
• Servicios a empresas como consultoría, inversión y asesoramiento jurídico.
José Daniel Muccela
- 12 -
• Comunicaciones (prensa, televisión, radio e Internet)
A su vez dentro del sector “servicios a empresas como consultoría” tenemos los
servicios a empresas dedicadas a trabajar con recursos humanos. Nuestro foco de atención
se centra en las empresas que se encargan de la selección de personal.
En una empresa de dimensiones como las de las PYME, el seguimiento correcto de
sus recursos humanos puede determinar el éxito de la misma. Esto se debe a que un
margen de error grande le puede resultar en el cierre del negocio principalmente porque no
se tiene el personal adecuado en cada puesto de trabajo, lo que lleva a una mala utilización
de estos recursos, tal vez los más importantes de toda la empresa.
1.3 Situación actual de las PYMES
Las PYMES cobran cada día más importancia en cada país del mundo; de hecho hoy
en día, las políticas de los Estados se encaminan a darle un mayor valor a este tipo de
empresas por lo que representan para sus respectivas economías, en particular en la
generación de empleos. A continuación podemos ver los motivos por los que estas
empresas toman cada vez más protagonismo:
• Tienen directa relación con la generación de puestos de trabajo.
• Mejoran la distribución del ingreso.
• Aportan al desarrollo de la economía regional.
• Se pueden adaptar fácilmente a los ciclos de actividad.
• Sirven de soporte a las grandes empresas.
En Argentina las PYMES constituyen el 99,6% de las unidades económicas
produciendo el 70% de todos los puestos de trabajo del país y el 40% del valor agregado.
Existen 85 PYMES industriales cada 100.000 habitantes, un porcentaje superior al que se
verifica en Japón, Reino Unido, Italia, España y Alemania.
En tanto a las exportaciones las PYMES representan el 15% del volumen total.
Desde el año 2003 hasta la actualidad, la cantidad de pequeñas y medianas
compañías que venden al exterior creció un 20%.
Los actuales problemas por los que se enfrentan las PYMES giran entorno al difícil
acceso a las líneas de crédito, el peso de los impuestos y la deficiencia en infraestructura.
Actualmente el nuevo contexto económico volvió a hacer posible el desarrollo de
estas empresas sin mayores obstáculos.
En Argentina, las PYMES supieron aprovechar las ventajas que surgieron a partir de
la devaluación en el año 2001/2002. Ventajas en el sentido de obtener una importante
participación en el mercado interno aprovechando la sustitución de importaciones e incluso,
incrementando su presencia en mercados externos.
Son cada vez más frecuentes las iniciativas de gobierno para promover la generación
de nuevas empresas y el mantenimiento y mejora de las ya existentes, tales como: mejorar
el acceso al crédito y el costo del mismo, programas de capacitación a empleados y
dirigentes, planes de acción para mejorar la gestión y la competitividad, programas
destinados a jóvenes empresarios y a grupos asociativos de empresas, entre otros.
1.4 PYMES y necesidades de software
Toda empresa sin importar sus dimensiones o clasificación necesita y hace uso
constante de información. Muchas veces o la mayoría de las veces esta no está disponible
en el momento requerido. Es de vital importancia contar con un mecanismo que organice la
información y la mantenga disponible en cualquier momento y lugar.
Cuando hablamos de necesidades de software hablamos de necesidades de gestión
de información, de orden en el proceso de gestión del negocio, de información certera y
José Daniel Muccela
- 13 -
oportuna, entre otras. Estas necesidades pueden ser encapsuladas y trabajar sobre ellas
hasta obtener la solución al problema. Ello se puede lograr a través de la implementación de
un software o aplicación.
Aplicado esto a las empresas PYME le permite no sólo estar al corriente del uso de
las tecnologías de la información sino que le aporta ventajas competitivas respecto de la
competencia. Estas empresas, cuando piensan incorporar un software que sirva de soporte
a la gestión de su negocio en general evalúan los siguientes factores:
• Costos iniciales y costos anuales de mantenimiento.
• Coincidencia entre los paquetes de software y la plantilla de empleados.
• Posibilidad de actualizarlo.
• Mayor eficacia y ahorro de tiempo.
• Compatibilidad con sistemas actuales.
• Facilidad de uso.
• Disponibilidad de apoyo técnico.
• Necesidad de adaptación.
• Tiempo requerido para su implantación.
• Tiempo de capacitación requerido para recursos humanos y nómina de
empleados.
En el capítulo 3 se explica como estos factores se cumplen a favor de la empresa
cuando se utiliza software libre.
1.5 PYMES de Servicios de RRHH y requerimientos en común
Haciendo referencia a las PYMES de servicio de recursos humanos y a través de
datos relevados a empresas del medio se obtuvo como resultado un conjunto de
requerimientos o necesidades de información en común.
Las mismas se detallan a continuación:
• Distinguir la información relevante de información superflua.
• Determinar mediante algún mecanismo la asignación de puestos según las
capacidades que posea un empleado.
• Permitir el control permanente de los recursos humanos de la empresa.
• Permitir el seguimiento de capacitación de los empleados.
• Sistema de utilización sencilla.
• Posibilidad de mejorar la gestión de los empleados.
• Capacitación permanente en materia de tecnologías de información.
• Seguridad de la información de la empresa.
• Mayor organización.
• Poseer un historial de actividades realizadas.
Otras necesidades que se identificaron se refieren a cuestiones de capacitación en
conceptos básicos de informática, tanto en los aspectos software como de hardware. Esto
se debe a que en muchos casos los dueños de las empresas desconocen el uso y la
aplicación de tecnología en ellas y por falta de asesoramiento.
José Daniel Muccela
- 14 -
CAPITULO 2 – Profesional de Sistemas de Información
2.1 Carrera de Ingeniería en Sistemas de Información
La carrera de Ingeniería en Sistemas de Información se puso en vigencia en la
Universidad Tecnológica Nacional en el año 1985.
Después de más de veinte años y como consecuencia de la experiencia acumulada por las
distintas Facultades Regionales en las que se dicta y atendiendo a las necesidades de la
sociedad, se produjeron entre otras, una transformación académica de la carrera otorgando
al profesional egresado de esta casa de altos estudios de las herramientas adecuadas y
actualizadas para enfrentar los desafíos del mundo actual. Esto produce que el profesional
se vea con mayores posibilidades de inserción laboral además de la característica inherente
de un ingeniero que es la y generar cambios.
El objetivo principal de la carrera de Ingeniería en Sistemas de Información es formar
un ingeniero tecnológico capacitado para desarrollar sistemas de ingeniería y tecnología
afines a los existentes y producir innovaciones.
Por las capacidades que adquiere, un Ingeniero en Sistemas está en condiciones de
analizar y evaluar requerimientos de procesamiento de información, para luego, diseñar,
desarrollar, organizar, implementar y controlar sistemas informáticos, al servicio de múltiples
necesidades de información, de las organizaciones y de todas las profesiones con las que
deberá interactuar con versatilidad y vocación de servicio interdisciplinario.
La implementación constante de actualizaciones al contenido curricular de la carrera,
como respuesta a las necesidades actuales de la sociedad, permiten que el profesional
formado en la Universidad Tecnológica Nacional se integre sin dificultades en cualquier
ámbito laboral y en general en cualquier proyecto que se requiera de su servicio.
2.2 Perfil profesional del Ingeniero en Sistemas de Información.
A través de su formación analítica, el Ingeniero en Sistemas de Información es un
profesional es capaz de interpretar y resolver problemas mediante el uso de metodologías
de sistemas y tecnologías de procesamiento de información. Además, debido a su
capacidad para el autoaprendizaje y para adaptarse rápidamente a los cambios
tecnológicos el Ingeniero puede encontrar mayor número de soluciones y mas eficientes.
Adquiere capacidades que le permiten integrar la información proveniente de
distintos campos disciplinarios concurrentes a un proyecto común.
La capacidad adquirida en la Universidad Tecnológica Nacional le permite afrontar
con solvencia el planeamiento, desarrollo, dirección y control de los sistemas de
información.
Es poseedor de conocimientos de diversas áreas como recursos humanos, recursos
físicos y de administración permitiéndole administrarlos correctamente durante el desarrollo
de proyectos de sistemas de información.
Tiene capacidades que lo habilitan para el desempeño de funciones gerenciales en
concordancia con su formación profesional.
Por su preparación es apto para abordar proyectos de investigación y desarrollo,
integrando por consiguiente equipos interdisciplinarios en cooperación, o bien asumiendo el
liderazgo efectivo en la coordinación de los aspectos técnicos y metodológicos de los
mismos.
Posee la capacidad de transmitir eficientemente el conocimiento debido a la
enseñanza recibida y a los métodos de aprendizaje que adquirió.
Estas y otras características inherentes al profesional hacen que el Ingeniero en
Sistemas se ubique en una posición relevante.
José Daniel Muccela
- 15 -
2.3 El Ingeniero en Sistemas de la Universidad Tecnológica Nacional. Incumbencias.
El Ingeniero en Sistemas de Información posee muchas incumbencias asociadas a
su profesión. Su preparación en la universidad le confieren la propiedad de desempeñar
cualesquiera de ellas. A continuación se mencionan las incumbencias.
Según la Ordenanza N° 622/88 (Resolución Ministeria l N° 593/91) un Ingeniero en
Sistemas de la Universidad Tecnológica Nacional está habilitado para:
• Participar en la toma de decisiones estratégicas de una organización y asesorar, en
concordancia con las mismas acerca de las políticas de desarrollo de sistemas de
información.
• Evaluar, clasificar y seleccionar proyectos de sistemas de información y evaluar y
seleccionar alternativas de asistencia interna.
• Planificar, efectuar y evaluar los estudios de factibilidad inherentes a todo proyecto de
diseño de sistemas de información y de modificación o reemplazo de los mismos, así
como los sistemas de computación asociados.
• Planificar, dirigir, ejecutar y controlar el relevamiento, análisis, diseño, desarrollo,
implementación y prueba de sistemas de información.
• Evaluar y seleccionar los sistemas de programación disponibles con miras a su
utilización en sistemas de información.
• Evaluar y seleccionar, desde el punto de vista de los sistemas de información, los
equipos de procesamiento y comunicación y los sistemas de base.
• Organizar y dirigir el área de sistemas; determinar el perfil de los recursos humanos
necesarios y contribuir a su selección y formación.
• Participar en la elaboración de programas de capacitación para la utilización de
sistemas de información.
• Determinar y controlar el cumplimiento de las pautas técnicas que rigen el
funcionamiento y la utilización de recursos informáticos en cada organización.
• Elaborar métodos y normas a seguir en cuestiones de seguridad y privacidad de la
información procesada y/o generada por los sistemas de información; participar en la
determinación de las acciones a seguir en esta materia y evaluar su aplicación.
• Elaborar métodos y normas a seguir en cuestión de salvaguardia y control, de los
recursos físicos y lógicos, de un sistema de computación; participar en la
determinación de las acciones a seguir en esta materia y evaluar su aplicación.
• Desarrollar modelos de simulación, sistemas expertos y otros sistemas informáticos
destinados a la resolución de problemas y asesorar en su aplicación.
• Realizar auditorias en áreas de sistemas y centros de cómputos así como en los
sistemas de información utilizados.
• Realizar arbitrajes, pericias y tasaciones referidas a los sistemas de información y a
los medios de procesamiento de datos.
• Realizar estudios e investigaciones conducentes a la creación y mejoramiento de
técnicas de desarrollo de sistemas de información y nuevas aplicaciones de la
tecnología informática existente.
En la provincia de Tucumán se estima que existen aproximadamente 500
profesionales de sistemas entre Analistas de Sistemas e Ingenieros en Sistemas de
Información recibidos de la Facultad Regional Tucumán.
Por otro lado, el reconocimiento de los profesionales de sistemas está asociado a la
importancia y relevancia que las organizaciones dan a la información, difícil tarea por
tratarse de un bien estratégico pero intangible.
El reconocimiento mencionado está en ascenso, ante la demostración de idoneidad y
eficiencia de la mayoría de los graduados de la UTN que se desempeñan en el medio.
(Ing. Crisitina Rojas, entrevista, 25 de Septiembre 2010)
José Daniel Muccela
- 16 -
CAPÍTULO 3 – Software Libre
3.1 Software Libre
La expresión “Software Libre” cada vez toma mayor fuerza. Pero qué es el
Software Libre?
Según el sitio oficial de la Free Software Foundation (FSF, Fundación para el
Software Libre) cuando nos referimos al software libre, hablamos de una cuestión de
libertad, no de precio. Para comprender el concepto, se debería pensar en "libre" como en
"libre expresión", no como en "barra libre".
El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar,
distribuir, estudiar, cambiar y mejorar el software. Más precisamente, significa que los
usuarios de programas tienen las cuatro libertades esenciales.
En 1996, la Fundación del Software Libre enunció las libertades del software libre:
• La libertad de ejecutar el programa, para cualquier propósito (libertad 0).
• La libertad de estudiar cómo trabaja el programa, y cambiarlo para que haga lo
que uno quiera (libertad 1). El acceso al código fuente es una condición necesaria
para ello.
• La libertad de redistribuir copias para que pueda ayudar al prójimo (libertad 2).
• La libertad de distribuir copias de sus versiones modificadas a terceros (la 3ª
libertad). Si lo hace, puede dar a toda la comunidad una oportunidad de
beneficiarse de sus cambios. El acceso al código fuente es una condición
necesaria para ello.
Un programa es software libre, si los usuarios tienen todas esas libertades.
Entonces, debería ser libre de redistribuir copias, con o sin modificaciones, ya sea gratis o
cobrando una tarifa por distribución, a cualquiera en cualquier parte del mundo. Así el ser
libre de hacer estas cosas significa, entre otras cosas, que no tiene que pedir o pagar el
permiso.
Asimismo debería tener la libertad de hacer modificaciones y usarlas en privado, en
el trabajo u obra, sin siquiera mencionar que existen. Si publica sus cambios, no debería
estar obligado a notificarlo a alguien en particular, o de alguna forma en particular.
La libertad de ejecutar el programa significa la libertad para cualquier tipo de persona
u organización de usarlo en cualquier tipo de sistema de computación, para cualquier tipo de
trabajo y propósito, sin estar obligado a comunicarlo a su programador, o alguna otra
entidad específica. En esta libertad, el propósito de los usuarios es el que importa, no el
propósito de los programadores. Como usuario es libre de ejecutar un programa para sus
propósitos; y si lo distribuye a otra persona, también es libre para ejecutarlo para sus
propósitos, pero uno no tiene derecho a imponerle sus propios propósitos.
La libertad de redistribuir copias debe incluir las formas binarias o ejecutables del
programa, así como el código fuente; tanto para las versiones modificadas como para las no
lo están. (En este sentido distribuir programas en forma de ejecutables, es necesario para
que los sistemas operativos libres se puedan instalar fácilmente). Resulta aceptable si no
existe un modo de producir una formato binario o ejecutable para un programa específico,
dado que algunos lenguajes no incorporan esa característica, pero debe tener la libertad de
redistribuir dichos formatos si encontrara o programara una forma de hacerlo.
Para que la 1ª y 3ª libertad, para realizar cambios y publicar versiones mejoradas,
tengan sentido; debe tener acceso al código fuente del programa. Por consiguiente, el
acceso al código fuente es una condición necesaria para el software libre. El "código fuente"
ofuscado no es código fuente real, y no cuenta como código fuente. (Entiéndase por código
José Daniel Muccela
- 17 -
fuente ofuscado el hecho de escribir el código en forma ininteligible ocultando de esta
manera su funcionalidad)
La 1ª libertad incluye la libertad de usar su versión modificada en lugar de la original.
Si el programa se entrega con un producto diseñado para ejecutar versiones modificadas de
terceros, pero rechaza ejecutar las suyas, una práctica conocida como “tivoization” o
“arranque seguro” (mediante listas negras); la 1ª libertad se convierte más en una ficción
teórica que en una libertad práctica. Esto no es suficiente. En otras palabras, estos binarios
no son software libre, incluso si se compilaron desde un código fuente que es libre.
Una manera importante de modificar un programa es fusionando subrutinas y
módulos libres disponibles. Si la licencia del programa dice que no puede fusionar un
módulo existente con una debida licencia, así como si le requiere ser el titular de los
derechos de autor de lo que agregue, entonces la licencia es demasiado restrictiva para
calificarla como libre.
La 3ª libertad incluye la libertad de liberar sus versiones modificadas como software
libre. Una licencia también puede permitir otras formas de relicenciarlas, en otras palabras,
no tiene que ser una licencia de copyleft. No obstante, una licencia que requiera que las
versiones modificadas no sean libres, no se puede considerar como una licencia libre.
Para que estas libertades puedan ser reales, deben ser irrevocables siempre que
uno no cometa ninguna equivocación; si el programador del software tiene el poder de
revocar la licencia, o de cambiar retroactivamente sus términos, sin que uno se haya
equivocado para justificarlo, el software no es libre.
Sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre son
aceptables, cuando no entran en conflicto con las libertades principales. Por ejemplo, el
copyleft (definido de manera muy resumida) es la regla en base a la cual, cuando
redistribuye el programa, no puede agregar restricciones para denegar a las demás
personas las libertades principales. Esta regla no entra en conflicto con las libertades
principales; más bien las protege.
La expresión "Software libre" no significa "que no sea comercial". Un programa libre
debe estar disponible para el uso comercial, la programación comercial y la distribución
comercial. La programación comercial de software libre ya no es práctica poco conocida; tal
software libre comercial es muy importante. Puede haber pagado dinero para obtener copias
de software libre, o puede haber obtenido copias sin costo. Pero sin tener en cuenta cómo
obtuvo sus copias, siempre tiene la libertad de copiar y modificar el software, incluso de
vender copias.
Si una modificación constituye una mejora, es un asunto subjetivo. Si sus
modificaciones se limitan, en esencia, a los cambios que otra persona considera una mejora,
eso no se trata de libertad.
El movimiento del software libre fue creado por Richard Stallman y otros
entusiastas.
Richard Matthew Stallman (nació en Manhattan, Nueva York, el 16 de marzo de
1953), con frecuencia abreviado como "rms", es un programador estadounidense y figura
relevante del movimiento por el software libre en el mundo. También es creador de la Free
Software Foundation (Fundación para el software libre), una organización creada en octubre
de 1985 con el propósito de difundir este movimiento.
3.2 Software propietario
Contrario a lo que sucede con el software libre aparece el concepto de software
propietario.
El software propietario es cualquier programa que no cumple los criterios de la
Fundación para el Software Libre. Propietario significa que alguna compañía o individuo
retiene el derecho de autor exclusivo sobre una pieza de programación, al mismo tiempo
que niega a otras personas el acceso al código fuente del programa y el derecho a copiarlo,
modificarlo o estudiarlo.
José Daniel Muccela
- 18 -
El término “propietario” se refiere a que está “poseído y controlado privadamente”[6].
No obstante, el programa puede seguir siendo propietario aunque su código fuente se haya
hecho público, si es que se mantienen restricciones sobre su uso, distribución o
modificación. Por otro lado, el programa se puede considerar no-proprietario, una vez que se
haya lanzado con una licencia que permita a otros crear versiones del software modificadas
independientemente, sin restricciones onerosas, aun cuando los derechos de autor puedan
permanecer en manos de un individuo en particular. Al menos en teoría, se ha cedido el
control.
3.3 Software libre versus software propietario.
Ahora bien, nos planteemos el siguiente interrogante: ¿software libre o software
propietario?
La respuesta más probable tal vez gire en torno a las ventajas y desventajas
derivadas del uso de uno u otro tipo de software.
El software libre posee una serie de ventajas sobre el software propietario más que
nada por los derechos que les proporciona a sus usuarios. Partes de estas ventajas son
más valoradas que otras según la figura de quien se trate, a saber:
• usuarios particulares,
• empresas y
• la administración pública.
A continuación se explican las ventajas y desventajas de cada tipo de software:
3.3.1 Ventajas del Software Libre
# Ventaja
1
Libre utilización y bajo costo de adquisición:
Lo que el usuario adquiere, a través de una erogación monetaria o sin ella, es una
licencia respecto de los usos que puede dar a los programas. El software no solo
cuesta un precio de adquisición de licencia sino también mantenerlo, operarlo y
ajustarlo a los requerimientos.
El usuario que adquiere software libre lo hace sin ninguna erogación monetaria o a
muy bajo costo y ofrece un conjunto de recursos muy amplios.
2
Innovación permanente:
El software libre, tiene como objetivo principal compartir la información, trabajando
de manera cooperativa. Aquí aparece la ideología de los defensores del software
libre, que enuncia que el conocimiento le pertenece a la humanidad, sin hacer
distinciones. Por lo tanto, los usuarios tienen un importante papel al influir de
manera decisiva sobre el rumbo que toman los programas ya sea apuntando los
errores que quieren que sean corregidos, proponiendo nuevas funcionalidades al
programa, o contribuyendo ellos mismos en el desarrollo del software.
3
Menores requisitos de hardware y soluciones mas durables:
Existen casos documentados que dan muestra que las soluciones de software libre
tienen menores requisitos de hardware, y por lo tanto son mas baratas de
implementar.
A manera de ejemplo podemos citar el caso del sistema operativo Linux. Si
implementamos este sistema como servidor, puede llegar a ser utilizado sin la
interfaz grafica, lo que da como resultado el ahorro respecto de un requisito de
hardware.
4
Decisiones de la comunidad:
El modelo que se sigue en el desarrollo de software libre es un método a través de
José Daniel Muccela
- 19 -
la cual trabajan de forma cooperativa los programadores que en gran parte son
voluntarios y trabajan coordinadamente en Internet. El código fuente de un
programa en cuestión esta a la vista de todo el mundo, y son frecuentes los casos
en que se reportan errores que alguien ha descubierto leyendo o trabajando con
ese código.
El proceso de revisión publica al que esta sometido el desarrollo del software libre
proporciona un gran dinamismo al proceso de corrección de errores. Los usuarios
del programa de todo el mundo, gracias a que disponen del código fuente de dicho
programa, pueden detectar sus posibles errores, corregirlos y contribuir a su
desarrollo con sus mejoras. Con el software propietario la solución de los errores no
llega hasta que el fabricante del programa puede asignar los recursos necesarios
para solventar el problema y publicar la solución.
5
No depender de un proveedor:
El software libre garantiza una independencia con respecto al proveedor gracias a la
disponibilidad del código fuente. Cualquier empresa o profesional, con los
conocimientos adecuados, puede seguir ofreciendo desarrollo o servicios para
nuestra aplicación.
En el mundo del software propietario, solo el desarrollador de la aplicación puede
ofrecer todos los servicios, con el software libre, como su denominación lo indica, su
uso es libre: todo aquel que lo tiene en su poder puede usarlo cuantas veces quiera,
en cuantas maquinas quiera, a los fines que quiera.
Uno de los grandes problemas en la industria del software propietario es la
dependencia que se crea entre el fabricante y el cliente.
6
Favorecer a la industria local:
Si el usuario esta habilitado para ejecutar un programa, pero no para inspeccionarlo
ni modificarlo, entonces no puede aprender de el, se vuelve dependiente de una
tecnología que no solo no comprende sino que le esta expresamente vedada.
Los profesionales que tiene a su alrededor, que podrían ayudarlo a cumplir sus
metas, están igualmente limitados: como el funcionamiento del programa es
secreto, y su inspección esta prohibida, no es posible arreglarlo.
Por este motivo es importante comenzar a utilizar software libre en todos los niveles
(ya sea, usuarios particulares, empresas locales, instituciones públicas) y en los
casos en que ya se este utilizando no descontinuar su uso. De este modo, se
contribuye a la formación de profesionales en nuevas tecnologías y al desarrollo
local.
7
Software que se puede adaptar:
El software propietario habitualmente se vende en forma de paquete cerrado, que
muchas veces no se adapta a las necesidades específicas de empresas y
administraciones públicas y privadas. Una gran parte de la industria del software se
basa en desarrollar proyectos donde se requiere software personalizado o "a
medida". El software libre da la posibilidad, gracias a que disponemos del código
fuente, personalizar los programas tanto como sea necesario hasta que cubran
exactamente la necesidad requerida. La personalización es un área muy importante
en que el software libre puede responder mucho mejor que el software de propiedad
a unos costos mucho mas razonables.
8
Sectores de bajos recursos:
Los sectores de bajo recurso pueden ver incrementadas sus posibilidades de
acceder al software libre al no incurrir en costos de adquisición.
9
El Estado y el software:
El Estado esta en una posición particularmente estratégica para beneficiarse con las
ventajas del software libre, y también para contribuir a su desarrollo.
Si para el sector privado adquirir software libre puede resultar conveniente, se
puede deducir que para el Estado esto se debe volver una necesidad.
José Daniel Muccela
- 20 -
3.3.2 Desventajas del Software Libre
# Desventaja
1
Es mayor la curva de aprendizaje:
Es mayor el tiempo y esfuerzo para aprender a utilizar software libre sobre el
software propietario. Esto se da principalmente porque el usuario alguna vez utilizó
software propietario.
2
El software libre no tiene garantía proveniente del autor o comunidad que desarrolló
el programa.
3
Los contratos de software propietario no se hacen responsables por daños
económicos, y de otros tipos por el uso de sus programas:
El software libre se adquiere o se vende “AS IS” (tal cual) sin garantías explicitas del
fabricante, sin embargo, puede haber garantías específicas para situaciones muy
específicas.
4
Se necesita dedicar recursos a la reparación de errores:
Sin embargo en el software propietario es imposible reparar errores, hay que
esperar a que saquen a la venta otra versión.
Con lo que se cae en la dependencia nuevamente.
5 No existen compañías únicas que respalden toda la tecnología.
6
Las interfaces gráficas de usuario (GUI) y la multimedia continúan en proceso de
estabilización:
Sin embargo hay un número cada vez mayor de usuarios que aseguran que las
interfaces gráficas más populares en el software libre (KDE, GNOME y el manejador
de ventanas WindowMaker) son ya lo suficientemente estables para el uso cotidiano
y lo suficientemente amigables para los neófitos de la informática.
7
La mayor parte de la configuración de hardware no es intuitiva:
Es necesario poseer conocimientos previos acerca del funcionamiento del sistema
operativo y fundamentos del equipo a conectar para lograr un funcionamiento
adecuado.
8
Sólo los proyectos importantes y de trayectoria tienen buen soporte, tanto de los
desarrolladores como de los usuarios.
9
El usuario debe tener nociones de programación:
Sin embargo, existen en la actualidad muchas herramientas visuales que permiten
al usuario que no posee demasiado conocimiento técnico llevar a cabo tareas de
configuración del sistema de una manera gráfica muy sencilla.
José Daniel Muccela
- 21 -
3.3.3 Ventajas del Software propietario
# Ventaja
1
Control de calidad establecido:
Las compañías que desarrollan software propietario comúnmente poseen
departamentos que se encargan del control de calidad de dicho software.
2
Aporte de recursos a la investigación:
Una parte importante de los recursos se utilizan para la investigación sobre los usos
del producto.
3 Poseen personal altamente capacitado.
4
Uso generalizado por parte de los usuarios:
Cuando el software propietario es de una marca conocida es usado por muchas
personas.
5
Existe software para aplicaciones muy especificas:
Se encuentra software propietario destinado para aplicaciones muy específicas. Es
difícil encontrar software similar además del que produce una compañía.
6
Las empresas ofrecen planes de uso a las universidades:
En ocasiones las empresas fabricantes de software ofrecen a las universidades
planes educativos con importantes descuentos por la adquisición y uso de sus
productos.
7
Gran difusión de publicaciones acerca del uso del software:
Existe gran cantidad de publicaciones, que dan la posibilidad de facilitar el uso de
las tecnologías provistas por las empresas de software propietario. Cabe destacar
en este punto que la cantidad de publicaciones que apuntan al software libre va en
aumento.
3.3.4 Desventajas del Software propietario
# Desventaja
1
Aprendizaje costoso:
En muchas ocasiones resulta difícil aprender a usar el software propietario sin haber
incurrido en costos por cursos de capacitación sobre el software en cuestión.
2
El secreto del código fuente:
La empresa que desarrolla el software propietario guarda celosamente el secreto de
funcionamiento del mismo.
Los inconvenientes derivados de esta situación se deben a que en ocasiones resulta
riesgosa la utilización del software ya que es como una caja negra, por lo cual se
desconoce su funcionamiento y cuyos resultados no se pueden predecir. Además es
casi imposible encontrar las razones de un resultado no deseado o erróneo,
justamente porque es producido por un componente del software cuyo
funcionamiento se desconoce.
3
El soporte técnico es ineficiente:
En general el soporte técnico no cubre las expectativas de los usuarios o bien lleva
demasiado tiempo encontrar una respuesta satisfactoria.
4
En el caso de haber necesidades particulares resulta ilegal o costosa la adaptación
de un modulo del software propietario:
Si una empresa que utiliza el software tiene necesidades particulares y es de vital
importancia incluir la modificación al sistema original, es necesario pagar una
elevada suma de dinero a la compañía desarrolladora del software, para que sea
esta quien lleve a cabo la modificación a su propio ritmo de trabajo y sujeto a su
propio calendario de proyectos.
José Daniel Muccela
- 22 -
5
La compañía desarrolladora del software posee el derecho exclusivo de innovación:
Si a alguien se le ocurre una idea innovadora respecto a una aplicación propietaria,
este tiene que optar entre escribir desde cero su propia versión de una aplicación
equivalente o venderle la idea a la compañía propietaria de la aplicación.
6
Las copias son ilegales si no se poseen las licencias para tal efecto:
No se permite hacer copias del software propietario si no se contratan antes, las
licencias necesarias para ello.
7
No se permite compartir:
Supongamos que una dependencia de gobierno tiene un sistema de tecnología
propietaria funcionando de manera exitosa, esta no lo puede compartir con otras
dependencias a menos que cada una de ellas contrate la cantidad de licencias
necesarias.
8
Peligro de quedar sin soporte técnico:
En caso que la compañía que desarrolló el software propietario quiebre, el soporte
técnico por consiguiente desaparece, además de desaparecer la posibilidad de
tener versiones mejoradas de dicho software. Los clientes que contrataron licencias
para utilizar ese software quedan abandonados sin soporte alguno.
9
Descontinuación de una línea de software:
Si llegara a ocurrir que una compañía desarrolladora de software es adquirida por
otra mas grande, es probable que esa línea de software no se siga produciendo
además de no volver a tener una modificación futura.
10
Dependencia respecto de los proveedores:
En general, tanto el gobierno como las entidades privadas, se hacen dependientes
de un solo proveedor.
11
Imposibilidad de crecimiento de la industria nacional respecto del desarrollo de
software:
Comparado con las industrias extranjeras, la industria local ve anulada su
posibilidad de desarrollo en este ámbito ya que por lo general las aplicaciones de
consumo masivo se desarrollan en otros países.
12
Requisitos de hardware:
En el software propietario, el autor puede decidir en un momento dado no continuar
el proyecto para una cierta plataforma, para un hardware que considera antiguo, o
descontinuar el soporte para una versión de su software.
De la investigación surge que una de las regiones en el mundo que en la actualidad
aprovechan y estimulan el software libre es Latinoamérica, en donde los elevados precios
del software comercial convencional alcanza precios muy elevados.
Países como Argentina, Chile, Ecuador, México, Venezuela, República Dominicana,
Brasil y Cuba, encuentran el apoyo de sus administraciones públicas para la migración de
sus servidores y servicios a software libre.
Actualmente se están reportando cada vez más casos de control a las empresas
respecto del uso del software. Tales controles son ordenados por la justicia a pedido de la
empresa propietaria del software que sospecha del uso ilegal de sus productos.
Según el último estudio de IDC, el 71% del software en Argentina es ilegal.
En el contexto latinoamericano, la Argentina se encuentra entre los 10 países con
mayor nivel de piratería.
También en el 2009, por orden de la justicia civil, fueron ordenadas 136 diligencias
probatorias destinadas a constatar el posible uso de software ilegal en las instalaciones
informáticas de importantes empresas del rubro pesquero, de cereales, del turismo,
agropecuario, inmobiliario, de la construcción, financiero, de corredores de cereales y de
autopartes, ubicadas en Capital Federal, el gran Buenos Aires y en las ciudades de
Córdoba, Mendoza, Mar del Plata, Buenos Aires, Santa Fe, Tres arroyos, Bariloche,
Tucumán, Salta, Neuquén, y Rosario entre muchas otras.
A nivel regional América Latina es la tercera región con mayor índice de piratería
(63%) del mundo.
José Daniel Muccela
- 23 -
Como contraposición veamos el siguiente gráfico donde se muestra el impacto del
software libre (u open source) a nivel mundial.
3.4 Modelos de software libre y no libre
Se puede decir que los antecedentes del software libre datan alrededor de los años
60”s y 70′s, cuando era común el intercambio de software entre programadores y
desarrolladores.
Luego, al pasar de los años y a medida que la informática empezó a cobrar más
relevancia, las compañías fabricantes de computadoras obligaron al usuario a aceptar sus
sistemas operativos privativos (aún cuando estos presentaban algunos fallos).
Esta es una de las principales causas que motivaron la aparición de diferentes tipos
de software.
Sumado esto a la creación del movimiento del software libre a través de Richard
Stallman, como se mencionó anteriormente.
Observemos a continuación las categorías de software libre y no libre y una
explicación de cada una de ellas:
• Software libre
• Código abierto (Open source)
• Software de dominio público
• Software protegido con copyleft
• Software libre no protegido con copyleft
• Software cubierto por la GPL
• Software no libre
• Software semilibre
• Software privativo
• Shareware
• Freeware
• Software privado (a medida)
• Software comercial
José Daniel Muccela
- 24 -
En esta categorización se puede ubicar la totalidad de tipos de software existentes
en el mundo excepto situaciones particulares. A continuación se describe cada una de ellas:
• Software libre
Como se mencionó anteriormente, el software libre es software con autorización para
que cualquier individuo o empresa pueda usarlo, copiarlo y distribuirlo, ya sea con o sin
modificaciones, de manera gratuita o por medio de una retribución. Cabe aclarar que en
particular, esto significa que el código fuente debe estar disponible.
• Software de código abierto (Open source)
Es común utilizar la expresión software de código abierto para hacer referencia, más
o menos, a la misma categoría a la que pertenece el software libre. Pero, no son
exactamente el mismo tipo de software: en el primer tipo existen algunas licencias que se
consideran demasiado restrictivas, y hay licencias de software libre que los partidarios del
“open source” no han aceptado. Aún así, las diferencias entre lo que implican ambas
categorías son pocas: casi todo el software libre es de código abierto, y casi todo el software
de código abierto es libre.
Es recomendable usar la expresión “software libre” porque se refiere a libertad; se
debe hacer la salvedad porque la expresión “código abierto” no lo hace.
• Software de dominio público
Este software es el que no está protegido por derechos de autor. Viene a ser un caso
especial de software libre no protegido con copyleft, lo que hace alusión a que algunas
copias o versiones modificadas del software original (o el que se tome como punto de
partida) pueden no ser completamente libres.
Hay casos en que un programa ejecutable puede ser de dominio público sin que su
código fuente esté disponible para el público. Este software no cae en la categoría de
software libre, ya que para que lo sea es preciso que se pueda acceder al código fuente.
Por lo mencionado en los párrafos anteriores, es necesario mencionar que la mayor
parte del software libre no es software de dominio público; ya está protegido por derechos
de autor, y son estos los que ofrecen el permiso “legal” para que cualquiera lo emplee en
forma libre haciendo uso de una licencia de software libre.
• Software protegido con copyleft
El software que está protegido con copyleft es un tipo de software libre en cuyos
términos de distribución se asegura que todas las copias de todas las versiones del mismo,
son software libre. Si un tercero desea agregar un requisito adicional sólo deben estar
orientados a aumentar la protección del software) y exige de igual manera que el código
fuente agregado sea público.
• Software libre no protegido con copyleft
Esta categoría incluye la autorización del autor para redistribuir y modificar el
software, así como el permiso para añadirle restricciones adicionales.
Que un programa sea libre pero no esté protegido con copyleft, significa que algunas
copias o versiones modificadas del mismo pueden no ser completamente libres. Un
individuo o empresa de software podría compilar el programa, con o sin modificaciones, y
distribuir el archivo ejecutable como un producto de software privativo (o propietario).
José Daniel Muccela
- 25 -
• Software cubierto por la GPL
La GPL (General Public License/Licencia Pública General) de GNU es un conjunto
específico de términos de distribución empleados para proteger un programa con copyleft.
• Software no libre
En este tipo recae cualquier software que no es libre. Esto incluye al software
semilibre y el software privativo.
• Software semilibre
En esta categoría aparece el software que no es libre, pero con la característica que
incluye una autorización para que los particulares o empresas hagan uso de el, lo copien, lo
distribuyan y lo modifiquen (incluyendo la distribución de versiones modificadas) con la
condición que sea sin propósitos lucrativos.
• Software privativo
Se mencionó con más detalle esta definición en el apartado que describe al software
propietario.
El software privativo es software que no es libre ni semilibre. Su uso, redistribución o
modificación están prohibidos, requieren que solicite una autorización, o está tan restringido
que de hecho no puede hacerlo libremente.
• Freeware
El término freeware es usado en forma general para hacer referencia a software que
se puede distribuir pero no modificar (y por ende el código fuente no está disponible). Este
software no es libre. Por consiguiente, se recomienda no utilizar el término freeware para
referirse al software libre.
• Shareware
Este tipo de software es el que permite redistribuir copias del mismo, pero que por
cada copia utilizada, el usuario debe abonar un cargo por cada licencia.
Este software no es software libre, ni aún semilibre. Esto se debe a dos motivos:
• No se permite realizar una copia de shareware e instalarla sin incurrir en un cargo
por la licencia correspondiente.
• En la mayor parte del software tipo shareware, el código fuente no está disponible;
por ende, un particular o empresa no puede modificar el programa bajo ninguna
forma.
• Software privado
El software privado, o como se conoce normalmente “software a medida”, es aquel
que se desarrolla para un usuario (generalmente una organización o una compañía). El
usuario lo tiene en su poder y lo utiliza, y no lo libera al público ni en forma de código fuente
ni como binario.
• Software comercial
Este tipo de software es aquel que desarrolla una empresa que pretende obtener
dinero a partir de su utilización. Cabe aclarar que “Comercial” y “Privativo” no es lo mismo.
José Daniel Muccela
- 26 -
La mayor parte del software comercial es privativo, pero hay software libre comercial, y hay
software no libre no comercial.
3.5 Licencias. Licencias del software libre
Primeramente diremos que una licencia de software es un contrato que vincula al
licenciante (llámese autor o titular de los derechos de explotación o distribución) y al
licenciatario del programa informático (llámese usuario consumidor o usuario profesional o
empresa), para utilizar el software cumpliendo una serie de términos y condiciones
establecidas dentro de las cláusulas del mismo.
Particularmente una licencia de software libre contiene características distintivas
respecto del software no libre.
En el modelo de licenciamiento libre, se confiere al cliente el derecho al uso irrestricto
del programa (sin limitar, por ejemplo, la cantidad de computadoras en las que lo ejecutará
ni la cantidad de usuarios del programa), como así también la facultad de inspeccionar sus
mecanismos y realizar las modificaciones que considere pertinentes para adaptarlo a sus
necesidades.
Las licencias se clasifican según ciertas cuestiones claves, a saber:
• Si puede ser considerada una licencia de software libre.
• Si es una licencia de tipo copyleft.
• Si es compatible con la GNU GPL (esto significa que se puede combinar un
módulo que fue distribuido bajo esa licencia con otro cubierto por la GPL para
hacer un programa más grande).
• Si causa cualquier otro problema particular.
En el sitio Web de la GNU se puede consultar cualquier cuestión referente a las
licencias a través del sitio http://www.gnu.org/licenses/license-list.es.html o escribiendo un
correo electrónico a licensing@gnu.org para recibir soporte.
Debido a la inmensa cantidad de licencias proliferantes en el mundo del software
libre, vamos a exponer a continuación las más importantes.
3.5.1 Licencias para software
3.5.1.1 Licencias de software libre compatibles con la GPL
Hay licencias calificadas como libres que no son para nada compatibles con la GPL.
Esto complica la reutilización de código; por este motivo se motiva a los desarrolladores de
software libre a licenciar su código bajo GPL o licencias compatibles con la GPL, pudiendo
por consiguiente aprovechar las ventajas derivadas.
Las más conocidas son:
• La Licencia Pública General de GNU, o GNU GPL de manera abreviada:
Es una licencia de software libre, y de tipo copyleft.
• La Licencia Pública General Reducida de GNU, o GNU LGPL de manera abreviada:
Esta es una licencia de software libre, pero no tiene un copyleft fuerte, porque permite
que el software se enlace con módulos que no son libres.
José Daniel Muccela
- 27 -
• La licencia de Guile:
Consiste en la GNU GPL, agregándole además una declaración especial que permite
enlazar con software no libre. Por tanto no tiene un copyleft fuerte, pero es compatible con la
GNU GPL.
• El dominio público:
Aquí hay ausencia de una licencia. Esto es debido a que el contenido en cuestión no está
protegido y no necesita licencia. En los casos llevados a la práctica, si un trabajo está en el
dominio público, es como si tuviera una licencia de software libre totalmente permisiva y sin
copyleft. Sin embargo es compatible con la GNU GPL.
3.5.1.2 Licencias de software libre incompatibles con la GPL
Contrario al caso anterior hay licencias que no son compatibles con la enunciada por
la GPL. Estas son licencias de software libre pero no son compatibles con la GNU GPL.
En este subgrupo se pueden mencionar:
• La Licencia Pública General de Affero:
Esta es una licencia de software libre, de tipo copyleft, pero no es compatible con la GNU
GPL.
• La Licencia Pública Arphic:
Es una licencia de software libre de tipo copyleft, pero no es compatible con la GNU GPL.
Su uso habitual es para fuentes tipográficas, y para ese fin, la incompatibilidad no constituye
un problema.
• La licencia BSD original:
Esta licencia de software libre es simple y permisiva sin copyleft pero con un grave
defecto: la cláusula publicitaria de BSD. El defecto no es definitivo ya que el software sigue
siendo libre, pero provoca problemas, en particular, incompatibilidad con la GNU GPL.
• La Licencia de Software Abierto, versión 1.0:
Esta es una licencia de software libre. Sus autores dicen que se trata de una licencia de
tipo copyleft, pero se encuentran dificultades para determinar si las garantías de copyleft que
se indican en las cláusulas son válidas. Es incompatible con la GNU GPL en varios
aspectos.
• La Licencia Pública de Mozilla (MPL):
Es una licencia de software libre, pero no tiene un copyleft fuerte. Tiene algunas
restricciones complejas que la hacen incompatible con la GNU GPL.
• La licencia FreeType:
Es una licencia de software libre sin copyleft, incompatible con la GNU GPL por razones
técnicas.
3.5.1.3 Licencias de software no libre
Estas licencias no pueden ser consideradas licencias de software libre ya son
licencias automáticamente incompatibles con la GNU GPL.
Como ocurre con el software libre, la cantidad de este tipo de licencias es enorme
porque cada compañía de software privativo tiene las suyas propias.
Entre las más comunes encontramos:
José Daniel Muccela
- 28 -
• La Licencia Artística (Original):
Esta licencia es poco clara en sus cláusulas; algunos pasajes de ella son demasiado
ingeniosos para su propio bien. Los problemas son debidos a la redacción, no a lo
substancial. Sin embargo hay una versión revisada de la licencia artística ("La Licencia
Artística 2.0") que es una licencia de software libre, compatible con la GNU GPL.
• La Licencia Pública Abierta:
El problema de esta licencia es que requiere que se envíe toda versión modificada que se
publique a un desarrollador inicial específico. También hay problemas en cuanto a la
claridad de sus cláusulas lo que puede llevar a malentenderlas.
• La Licencia de Código Fuente Compartido de Microsoft:
Esta licencia no permite la distribución comercial, y sólo posibilita el uso comercial bajo
ciertas circunstancias.
• La Licencia de Código Fuente de Sun Solaris, versión 1.1
No es una licencia de software libre ya que prohíbe la redistribución, el uso comercial y
puede ser revocada.
3.5.2 Licencias para documentación
3.5.2.1 Licencias de documentación libre (FDL/Free Documentation License)
Tal vez el mayor problema de los sistemas operativos libres y software libre en
general no es el software en si, sino la falta de buenos manuales libres que podamos incluir
en estos sistemas. Gran parte de los programas más importantes no vienen con manuales
completos. Cuando un software libre no viene con un manual libre, produce un vacío
importante. Aún en la actualidad existen muchos de estos vacíos.
Tal como ocurre con el software libre, la documentación libre es un asunto de libertad
y no de precio. El criterio que se aplica para un manual libre es el mismo que para el
software libre: se trata de dar a todos los usuarios ciertas libertades. La redistribución
(incluida la redistribución comercial) debe permitirse, de forma que el manual pueda
acompañar a cada copia del programa, en línea (a través de un sitio Web) o en papel. El
permiso para modificar la documentación también es crucial.
• La Licencia de Documentación Libre de GNU (GNU FDL):
Esta licencia se creó pensando en el uso de documentación libre con copyleft. También
se puede aplicar a otro tipo de obras útiles (como libros de texto y diccionarios por citar
ejemplos). Su aplicabilidad no se limita a los trabajos textuales (libros) sino que se extiende
a otras obras.
• La Licencia de Documentación de FreeBSD:
Esta es una licencia de documentación libre simple y permisiva sin copyleft, pero
compatible con la GNU FDL.
• La Licencia de Publicación Abierta, versión 1.0:
Esta licencia puede utilizarse como una licencia de documentación libre. Posee copyleft
de documentación libre siempre y cuando el propietario de los derechos de autor no ejerza
ninguna de las opciones listadas en una sección de la licencia en la que de aceptarse, la
licencia deja de ser libre.
José Daniel Muccela
- 29 -
3.5.2.2 Licencias de documentación no libre
Son aquellas que ponen restricciones para cobrar dinero por las copias y porque en
algunos casos descontinúan versiones de documentaciones.
Estas licencias no pueden calificarse como licencias de documentación libre.
• La Licencia de Contenido Abierto, versión 1.0:
Esta licencia no es libre, porque pone restricciones para cobrar dinero por las copias.
Se debe tener cuidado para no confundir esta licencia con la Licencia de Publicación
Abierta.
• La Licencia de Directorio Abierto (también conocida como Licencia dmoz.org):
Esta no es una licencia de documentación libre. Los principales problemas son que su
derecho para redistribuir una versión dada no es permanente y que exige al usuario que siga
revisando ese sitio, lo que es demasiado restrictivo para su libertad.
3.5.3 Licencias para trabajos aparte del software y la documentación
En este tipo se encuentran todas aquellas obras que no siendo software o
documentación relativa al software, también se pueden licenciar. Por ejemplo:
• La Licencia Pública General de GNU:
La GNU GPL puede utilizarse para datos generales que no sean software, siendo
importante poder identificar algo equivalente a la noción de código fuente, es decir adaptar
la licencia al tipo de la obra que se desea licenciar.
• La Licencia de Documentación Libre de GNU:
La FDL de GNU se recomienda para los libros de texto y los materiales didácticos para
todos los asuntos (el término documentación significa simplemente los libros de texto y otros
materiales didácticos para usar el equipo o el software). También se puede utilizar la FDL de
GNU para los diccionarios, las enciclopedias, y cualquier otro trabajo que proporcione
información para uso práctico.
• La Licencia de la Ciencia del Diseño (DSL):
Esta es una licencia libre y con copyleft apropiada para los datos generales. Es
incompatible con la GNU GPL y con la FDL de GNU; sin embargo, se aplica sin
inconvenientes para otras clases de datos.
• La Licencia Libre del Arte:
Se trata de una licencia libre y con copyleft apropiada para trabajos artísticos. Posibilita la
distribución comercial, con la condición de que cualquier trabajo más grande que incluya el
trabajo licenciado debe ser libre.
3.6 Evolución. El futuro del software libre.
El software libre tiene cada vez más adeptos. La gente siente curiosidad por el
movimiento del software libre. Lo típico es encontrar a quien se sentó frente a una
computadora con conexión a Internet con la intención de buscar información básica acerca
del software libre y al final termina en sitios de Internet que ofrecen cientos y hasta miles de
programas de uso libre. Esto seduce al individuo, que luego busca el software libre
equivalente al software propietario del cual hace uso frecuente. Y muchas veces termina
utilizándolo y reemplazándolo.
José Daniel Muccela
- 30 -
Alrededor del mundo hay gran diversidad de grupos de usuarios de software libre
que aportan sus ideas, críticas, mejoras y cualquier tipo de ayuda conducente a acrecentar
el uso del software libre.
En la República Argentina las organizaciones más conocidas de este tipo son:
• Software Libre Argentina.
Sitio Web: http://www.solar.org.ar/
• Usuarios de Software Libre Argentina.
Sitio Web: http://drupal.usla.org.ar/
• Grupo de Usuarios de Software Libre de Tucumán (LUG Tucumán).
Sitio Web: http://www.lugtucuman.org.ar/index.php
3.7 PYMES y el software libre.
Cada vez es más frecuente encontrar en varios países del mundo, la aparición de
aplicaciones “a medida” que se distribuyen bajo licencias libres.
Tradicionalmente, cuando una PYME requiere el desarrollo de un sistema de gestión
contrata los servicios de una empresa o programador particular. Lo que el cliente adquiere
es un programa ejecutable (también denominado binario) y la autorización de ejecutarlo en
un número determinado de computadoras, siempre dentro del ámbito de la misma empresa.
En las PYMES se puede emplear y es altamente recomendable hacerlo, el uso de
software libre por las siguientes razones:
• El beneficio económico en términos de ahorro, por no incurrir en gastos de
adquisición del software y el uso derivado del mismo.
• Por ser la empresa que adquiere el software libre, la que posee los derechos de
uso del mismo.
• Por ser la empresa la que posee el código fuente del software, dando la
posibilidad de modificarlo en cualquier momento y sin restricciones, según las
necesidades que surjan del negocio.
• La empresa puede contratar al programador o desarrollador de su confianza para
que modifique total o parcialmente el software adquirido (con su correspondiente
código fuente) según sus necesidades.
• Se beneficia por ser poseedora de un software que puede mejorarse
permanentemente gracias a que existen comunidades de usuarios en todo el
mundo que aportan nuevas ideas y mejoras al mismo.
• Promueve el desarrollo de las empresas locales de software (o particulares) e
incluso el desarrollo y un aprendizaje cada vez más profundo dentro de su propia
organización.
Volviendo el foco de atención a las empresas PYME de servicios de recursos
humanos, y como se mencionó en el capítulo 1, existen diversos factores que las empresas
evalúan a la hora de pensar implementar un software. Los factores mencionados se
cumplen en su totalidad a favor de la empresa cuando se hace uso del software libre. A
continuación se justifica el cumplimiento de cada uno de esos factores:
José Daniel Muccela
- 31 -
Factor Justificación
• Costos iniciales y costos
anuales de mantenimiento.
Puede llegar a ocurrir que la empresa incurra en un costo
al adquirir el software pero luego su mantenimiento será
menor (respecto a costos) si contrata a un desarrollador,
o nulo si un empleado de la empresa realiza el
mantenimiento.
• Coincidencia entre los
paquetes de software y la
plantilla de empleados.
Si se realiza un correcto proceso de construcción o
desarrollo del software (con su correspondiente base de
datos) este factor se cumple.
• Posibilidad de actualizarlo.
Como sucede con otros tipos de software, el software
libre también dispone de actualizaciones.
• Mayor eficacia y ahorro de
tiempo.
El sólo hecho de convertir el proceso manual de trabajo a
automatizado implica un ahorro de tiempo y eficacia del
proceso de negocio. Este punto está vinculado con la
capacidad del usuario de usar el sistema, lo que requiere
de capacitación lo cual es posible porque quien ofrece el
software puede ofrecer un plan de capacitación.
• Compatibilidad con sistemas
actuales.
Existe cada vez más cercanía entre los distintos tipos de
software gracias al uso de complementos y otros
recursos informáticos que permiten la compatibilidad
entre sistemas. Gran parte del software libre busca
adaptarse a los sistemas actuales.
• Facilidad de uso.
Gracias a las mejoras en las interfaces gráficas de los
programas (o software) es posible otorgarle al usuario
mayor facilidad de uso de ellos. Cuando esto no fuera
posible se solicita al desarrollador que modifique el
software para incrementar la facilidad de uso. Esto es
posible porque la empresa además del software posee el
código fuente del mismo.
• Disponibilidad de apoyo
técnico.
Si la empresa adquirió o solicitó el desarrollo del software
a un particular o grupo de desarrolladores, estos pueden
ofrecerle mediante algún contrato el apoyo técnico
necesario hasta que la empresa lo solicite. Además
cuenta con las comunidades de software libre en todo el
mundo, las cuales pueden aportarle la mayoría de las
veces el apoyo técnico que solicita.
• Necesidad de adaptación.
Esto es posible gracias a que la empresa al disponer del
código fuente del software puede contratar al
desarrollador de su confianza o grupo de desarrolladores
para que adapten el software a las necesidades del
negocio.
• Tiempo requerido para su
implantación.
Comparando con la implementación de un software
propietario, los tiempos no varían. Además, esto depende
de la dificultad del software a construir y de la urgencia
de la empresa por utilizarlo.
• Tiempo de capacitación
requerido para recursos
humanos y nómina de
empleados.
El tiempo de capacitación depende del software que se
está por implementar. Cabe aclarar que un empleado que
ya recibió capacitación, está en condiciones de capacitar
a los demás dentro de su ámbito de trabajo.
José Daniel Muccela
- 32 -
DESARROLLO
José Daniel Muccela
- 33 -
CAPITULO 4 – Caso de Estudio
Enunciado los contenidos que sustentan el marco teórico del proyecto volvamos a la
idea principal: Ingeniería en Sistemas y Software Libre al servicio de las PYMES.
4.1 Selección de Metodologías de Trabajo
Para llevar a cabo el proyecto se emplearon diversas técnicas según las necesidades
requeridas por el tópico en cuestión.
Para recavar datos se utilizó como herramienta la entrevista. La misma se formulo en
base al propósito que se perseguía, es decir:
• Para obtener información referente a la carrera de ingeniería en sistemas de
información.
• Para capturar las necesidades de información de las empresas PYMES de
servicios de recursos humanos.
• Para obtener información referente al software libre y sus aplicaciones.
Para la recopilación de información general se procedió a lecturas a partir de
bibliografías específicas, artículos, diarios, revistas y documentos electrónicos de la Web.
Para desarrollar el análisis y el diseño del sistema se empleó la metodología UML
con su correspondiente notación.
4.2 Alternativas de solución
¿Qué camino vamos a seguir para resolver el problema planteado?
Se proponen dos situaciones:
CASO 1: Podemos optar por un lado,
contratar los servicios de una empresa
desarrolladora de software o bien, a un
desarrollador en particular. Y
supongamos que ambos hacen uso de
software privativo para construir sus
sistemas.
CASO 2: La otra situación sería
contratar los servicios de una empresa
o particular, pero a diferencia del caso
anterior, estos se valen del uso del
software libre para el desarrollo de sus
sistemas.
Supongamos entonces que una empresa (o desarrollador particular) opta por realizar
el sistema requerido. Esta le presenta a su eventual cliente un plan de trabajo a seguir en el
mejor de los casos, especificándole los costos por dicho trabajo, además del tiempo
necesario.
Al final del periodo pautado la empresa le entrega el sistema funcionando y listo para
su uso. El cliente, la PYME en cuestión, comienza a hacer uso efectivo del mismo sin
mayores inconvenientes hasta que comienzan a surgir problemas con la actualización del
sistema operativo de base (supongamos Microsoft© Windows XP Proffessional) y por ende
problemas con la aplicación de su empresa. Si consideramos además que el cliente necesita
la licencia del sistema operativo mas los paquetes de software necesarios para la
computadora donde se pondrá en funcionamiento la aplicación, además de incurrir en los
costos asociados, tiene la limitación del uso de la licencia del sistema operativo.
Imaginemos ahora lo que sucede en el segundo caso. Luego de la planificación y los
trabajos relevantes por parte del profesional, el sistema es entregado al cliente para su
utilización. Este sistema podrá ser utilizado en tantas computadoras como sea necesario, ya
José Daniel Muccela
- 34 -
que al haber utilizado software libre para desarrollarlo las licencias permiten que el cliente
haga uso libre del sistema.
Además, a posterior realización y uso del sistema, el cliente en el corto o mediano
plazo puede requerir de modificaciones parciales o totales del sistema original. Para ello
puede contratar un desarrollador de su confianza para que retome el trabajo realizado
primeramente. Esto es posible gracias a que el código fuente del sistema está en poder del
cliente. Suponiendo que el profesional siguió las buenas prácticas de desarrollo de sistemas
(entiéndase por buenas prácticas en este contexto el procedimiento correcto y
estandarizado para desarrollar un sistema informático) el posterior desarrollador no debería
tener problemas para modificar el sistema original.
Como se puede ver, en esta segunda alternativa de solución, la empresa PYME se
ve beneficiada por ser poseedora de un producto de uso libre y que posee la característica
de ser modificado en cualquier momento y al ritmo de las necesidades del negocio.
Esta es la alternativa de solución a describir en el presente trabajo y nos vamos a
servir del desarrollo del Sistema GRH-TUC (Software para la Gestión de los Recursos
Humanos), mediante la utilización de software libre.
4.3 Desarrollo del Sistema
Según Jacobson (1998) El proceso de desarrollo de software "es aquel en que las
necesidades del usuario son traducidas en requerimientos de software, estos requerimientos
transformados en diseño y el diseño implementado en código, el código es probado,
documentado y certificado para su uso operativo". Concretamente "define quién está
haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo". En general el desarrollo
de un software involucra las siguientes etapas generales:
• Análisis
• Diseño
• Codificación
• Pruebas
• Implementación
Durante el proceso aparecen otras cuestiones que hacen referencia a los costos,
normas y metodologías a cumplimentar con el objeto de obtener un software de calidad,
entendiendo por calidad al cumplimiento satisfactorio de todos los requerimientos en tiempo
y forma. Estas cuestiones no se abordan en el presente trabajo por no estar dentro del
alcance del mismo. En consecuencia, en el siguiente capítulo, vamos a descomponer y
explicar las etapas de análisis y diseño del sistema según la metodología UML.
El código fuente del software desarrollado se encuentra adjunto a este trabajo.
Teniendo en cuenta que se deben cumplir satisfactoriamente todos los
requerimientos en el tiempo y forma establecido, el trabajo consiste en llevar a cabo una
adecuada aplicación de metodologías, técnicas, herramientas, controles y seguimiento.
José Daniel Muccela
- 35 -
CAPITULO 5 – Análisis del Sistema
Caso de Estudio – Sistema GRH – TUC
5 Análisis del Sistema
Para seguir las buenas prácticas de planificación y desarrollo del sistema, el cual
está orientado a Web se empleó la estructura que se detalla en la sección 6.4:
5.1 Estructura del Sistema
El sistema GRH-TUC posee tres capas procedimentales:
• Presentación (HTML y XML)
Esta es la que hace referencia a las páginas como las ve el usuario del lado del
cliente. Controla el diseño de la página y el manejo de datos de los formularios.
• Lógica de Negocio (PHP)
Esta es la capa que hace referencia a las páginas como se ven del lado del servidor.
Controla los datos que se envían desde los formularios del lado del cliente, además
de ejecutarse todas las acciones que tienen que ver con la interacción a la base de
datos.
• Modelo de Datos (PostgreSQL)
Esta capa también funciona del lado del servidor y tiene conexión directa con el
mismo. Controla la entrada y salida de datos de la BD REC_Db (Base de Datos del
sistema GRH-TUC).
5.2 Presentación General del Sistema
El sistema tiene por objeto permitir la gestión de Recursos Humanos de una
Empresa.
Descripción del Cliente
El cliente es cualquier Empresa que requiere el control y seguimiento de su personal.
Metas:
• Mejorar la velocidad y mantenimiento en la de gestión de empleados.
• Facilitar la registración de los cursos.
• Facilitar la registración de empleados.
• Facilitar la registración de puestos.
• Facilitar la registración de áreas de la empresa
• Control de empleados, cursos, puestos y áreas de la Empresa.
• Permitir el seguimiento de la capacitación de Empleados.
José Daniel Muccela
- 36 -
Funciones del Sistema
# Ref. Función Categoría
R1.1 Registra ingreso de un nuevo empleado. Evidente
R1.2
Registra el ingreso de un nuevo curso,
asignándole su número de curso.
Evidente
R1.3
Registra el ingreso de un nuevo puesto de
trabajo.
Evidente
R1.4
Registra el ingreso de una nueva área de la
Empresa.
Evidente
R1.5 Busca un empleado a través de su nombre. Evidente
R1.6 Registra la realización de cursos. Evidente
R1.7 Registra para cada curso la fecha de realización. Oculta
R1.8 Realiza la eliminación de un empleado. Evidente
R1.9 Realiza la eliminación de un curso. Evidente
R1.10 Realiza la eliminación de un puesto. Evidente
R1.11 Realiza la eliminación de un área. Evidente
R1.12 Realiza la modificación de datos de un empleado. Evidente
R1.13 Realiza la modificación de datos de un curso. Evidente
R1.14 Realiza la modificación de datos de un puesto. Evidente
R1.15 Realiza la modificación de datos de un área. Evidente
Atributos del Sistema
Atributo Tipo Detalles y Restricciones de Frontera
Tiempo de respuesta
Restricción de
Frontera
La información sobre un empleado
deberá aparecer en menos de tres
segundos.
Metáfora de interfaz Detalle
Desarrollo del sistema en un entorno
Web.
Plataforma del sistema
operativo
Detalle Windows 98 / Me / 2000 / XP
Facilidad de uso Detalle
Guiar al usuario durante la utilización del
sistema.
Uso frecuente del Mouse para
operaciones básicas
Actores del sistema
• Usuario.
• Sistema
José Daniel Muccela
- 37 -
5.3 Casos de Uso
• Búsqueda de Empleados.
• Alta de Empleados.
• Baja de Empleados.
• Modificación de Empleados.
• Alta de Cursos.
• Baja de Cursos.
• Modificación de Cursos.
• Alta de Puestos.
• Baja de Puestos.
• Modificación de Puestos.
• Alta de Áreas.
• Baja de Áreas.
• Modificación de Áreas.
• Registración de Cursos.
5.4 Descripción Formal de los Casos de Uso
Caso de Uso de Alto Nivel
CASOS DE USO
Caso de Uso: Búsqueda de Empleados.
Actores: Usuario.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea consultar la existencia de un Empleado. El
Usuario realiza la consulta y revisa los resultados.
Caso de Uso: Alta de Empleados.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea dar de Alta a un Empleado. El Usuario realiza
la operación y actualiza la base de datos.
Caso de Uso: Baja de Empleados.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea dar de Baja a un Empleado. El Usuario realiza
la operación y actualiza la base de datos.
Caso de Uso: Modificación de Empleados.
Actores: Usuario
José Daniel Muccela
- 38 -
Tipo: Primario.
Descripción: Un Usuario del Sistema desea modificar los datos de un Empleado. El Usuario
realiza la operación y actualiza la base de datos.
Caso de Uso: Alta de Cursos.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea dar de Alta un nuevo Curso de capacitación. El
Usuario realiza la operación y actualiza la base de datos.
Caso de Uso: Baja de Cursos.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea dar de Baja a un Curso existente. El Usuario
realiza la operación y actualiza la base de datos.
Caso de Uso: Alta de Puestos.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea dar de Alta un nuevo puesto. El Usuario realiza
la operación y actualiza la base de datos.
Caso de Uso: Baja de Puestos.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea dar de Baja a un Puesto existente. El Usuario
realiza la operación y actualiza la base de datos.
Caso de Uso: Alta de Áreas.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea dar de Alta una nueva Área de la Empresa. El
Usuario realiza la operación y actualiza la base de datos.
Caso de Uso: Baja de Áreas.
Actores: Usuario, Sistema.
Tipo: Primario.
José Daniel Muccela
- 39 -
Descripción: Un Usuario del Sistema desea dar de Baja a un Área existente. El Usuario
realiza la operación y actualiza la base de datos.
Caso de Uso: Registración de Cursos.
Actores: Usuario, Sistema.
Tipo: Primario.
Descripción: Un Usuario del Sistema desea registrar un nuevo Curso. El Usuario realiza la
operación y actualiza la base de datos.
5.5 Curso normal de eventos y cursos alternos
Casos de Uso Expandidos
CASOS DE USO
Caso de Uso: Búsqueda de Empleados.
Actores: Usuario (Iniciador).
Propósito: Realizar la búsqueda de un Empleado.
Tipo: Primario y esencial.
Resumen: Un Usuario del Sistema desea consultar la existencia de un Empleado. El
Usuario realiza la consulta y revisa los resultados.
Referencias Cruzadas: Funciones: R1.5.
Curso Normal de Eventos:
Acción del Actor Respuesta del Sistema
1. Este caso de uso comienza cuando el
Usuario desea consultar la existencia de un
Empleado
2. El Usuario ingresa el nombre del
Empleado.
3. Muestra los datos del Empleado.
4. El Usuario indica al sistema que la
consulta terminó.
5. Vuelve al menú principal.
Curso Alterno de Eventos:
• Línea 3: El Empleado no existe, indicar con un mensaje de error.
Caso de Uso: Alta de Empleados.
Actores: Usuario, Sistema.
José Daniel Muccela
- 40 -
Propósito: Realizar el Alta de un nuevo empleado al Sistema.
Tipo: Primario y esencial.
Descripción: Un Usuario del Sistema desea dar de Alta a un Empleado. El Usuario realiza
la operación y actualiza la base de datos.
Referencias Cruzadas: Funciones: R1.1.
Curso Normal de Eventos:
Acción del Actor Respuesta del Sistema
1. Este caso de uso comienza cuando el
Usuario desea ingresar un nuevo Empleado
2. El Usuario ingresa el DNI (#dni) del
Empleado.
3. Verifica la existencia del Empleado en el
sistema a través del DNI ingresado.
4. El Usuario realiza la carga de datos del
Empleado (CUIL, Apellido y nombre, Sexo,
Edad, Fecha de Nac., Fecha de Alta, Fecha
de Baja, Domicilio, Experiencia, Capacitacion,
Area, Puesto, Departamento, Localidad,
Teléfono)
5. Valida los datos ingresados.
6. El Usuario indica al sistema que la captura
de datos finalizó.
7. Registra los datos del Empleado.
Curso Alterno de Eventos:
• Línea 3: El empleado ya existe. Indicar con un mensaje de error. Se cancela la
operación.
• Línea 5: Los datos se ingresaron de manera incorrecta. Indicar con un mensaje de
error. Volver a ingresar los datos nuevamente.
Caso de Uso: Baja de Empleados.
Actores: Usuario, Sistema.
Propósito: Realizar la eliminación de un Empleado de la Empresa.
Tipo: Primario y esencial.
Descripción: Un Usuario del Sistema desea eliminar un Empleado del Sistema. El Usuario
realiza la operación y actualiza la base de datos.
Referencias Cruzadas: Funciones: R1.8.
Curso Normal de Eventos:
Acción del Actor Respuesta del Sistema
1. Este caso de uso comienza cuando el
Usuario desea eliminar un Empleado
José Daniel Muccela
- 41 -
existente.
2. El Usuario selecciona a un Empleado.
3. Despliega todos los datos del empleado.
4. El Usuario le indica al sistema la acción de
eliminar al Empleado.
5. Despliega mensaje de advertencia.
6. El Usuario le indica al sistema la opción de
eliminar.
7. Actualiza la base de datos.
Curso Alterno de Eventos:
• Línea 6: El Usuario le indica al sistema que no eliminará al Empleado.
Caso de Uso: Modificación de Empleados.
Actores: Usuario.
Propósito: Realizar la modificación de datos de un Empleado de la Empresa.
Tipo: Primario y esencial.
Descripción: Un Usuario del Sistema desea modificar los datos de un Empleado de la
Empresa. El Usuario realiza la operación y actualiza la base de datos.
Referencias Cruzadas: Funciones: R1.12.
Curso Normal de Eventos:
Acción del Actor Respuesta del Sistema
1. Este caso de uso comienza cuando el
Usuario desea modificar los datos de un
Empleado existente.
2. El Usuario selecciona a un Empleado.
3. Despliega todos los datos del empleado.
4. El Usuario introduce la/las modificaciones
necesarias.
5. El Usuario le indica al Sistema la acción de
actualizar los datos introducidos.
6. Valida los datos ingresados y actualiza la
base de datos
Curso Alterno de Eventos:
• Línea 5: Los datos se ingresaron de manera incorrecta. Indicar con un mensaje de
error. Volver a ingresar los datos nuevamente.
Caso de Uso: Registración de Cursos.
Actores: Usuario, Sistema.
Propósito: Realizar la registración de cursos por parte de un Empleado de la Empresa.
José Daniel Muccela
- 42 -
Tipo: Primario y esencial.
Descripción: Un Usuario del Sistema desea registrar los datos de un nuevo Curso. El
Usuario realiza la operación y actualiza la base de datos.
Referencias Cruzadas: Funciones: R1.6.
Curso Normal de Eventos:
Acción del Actor Respuesta del Sistema
1. Este caso de uso comienza cuando el
Usuario desea ingresar un nuevo curso.
2. El Usuario Introduce el nombre del nuevo.
3. Verifica la existencia del curso.
4. El Usuario ingresa la fecha de capacitación
y la cantidad de horas.
5. El Usuario le indica al sistema que finalizó
la captura de datos.
6. Registra el Curso y actualiza la base de
datos.
Curso Alterno de Eventos:
• Línea 3: Curso existente. Mensaje de error.
José Daniel Muccela
- 43 -
5.6 Diagrama de Casos de Uso
Búsqueda de Empleados
Alta de Empleados
Usuario Sistema
Empresa
Alta de Cursos
Alta de Puestos
Alta de Áreas
Baja de Empleados
Baja de Cursos
Baja de Puestos
Baja de Áreas
Modificación de Empleados
Modificación de Cursos
Modificación de Puestos
Modificación de Áreas
José Daniel Muccela
- 44 -
5.7 Modelo Conceptual
5.7.1 Conceptos
5.7.2 Modelo Conceptual Simplificado
Empresa
Área
Cursos
Disponibles
Puesto Departamento
UsuarioEmpleado
Cursos
Realizados
Sistema ListadoEmpleados LineaListadoEm
LineaCursosDispon
Área Empresa Departamento
Puesto
Cursos
Realizados
UsuarioSistema
Forman
Contiene
Contenido_en
Controlado_por
Realiza
Requiere_de
Ocupado_por
1..*
1
1
1
1
1
1..*
1
1..*
1..*
1
1
1
1..*1
Gestiona
◄
Gestiona
Gestiona
1
1..*
1
1..*
▲
Cursos
Disponibles
1..*
1..*
Gestiona
1
Gestiona
◄
1..*
1
Gestiona
1..*1
Empleado
LineaListadoEmp ListadoEmpleados
1..* 1
Representa
▲
1
1
Tiene◄
Genera
1
1..*
LineaCursosDispon
1..*
1
Representa
▲
José Daniel Muccela
- 45 -
5.7.3 Modelo Conceptual Extendido
Área Empresa Departamento
Puesto
Cursos
Realizados
UsuarioSistema
Forman
Contiene
Contenido_en
Controlado_por
Realiza
Requiere_de
Ocupado_por1..*
1
1
1
1
1
1..*
1
1..*
1..*
1
1
1
1..*1
Gestiona
◄
Gestiona
Gestiona
1
1..*
1
1..*
▲
Cursos
Disponibles
1..*
1..*
Gestiona1
Gestiona
◄
1..*
1
Gestiona
1..*1
Clave
Nombreusuario
Nombre
Misión Objetivo
Nombre
Misión Objetivo
Nombre
Fecha
Nombre
Fecha Cant. Hs.
Empleado
Nombre y Apellido
DNI
Datos
FinCaptura
LineaListadoEmp ListadoEmpleados
1..* 1
Representa
▲
1
1
Tiene◄
Genera
1
1..*
FinCaptura
LineaCursosDispon
1..*
Representa
▲
1
José Daniel Muccela
- 46 -
5.7.4 Glosario
Término Categoría Comentario
Sistema Tipo Gestiona las operaciones sobre los
empleados, áreas, puestos de trabajo y cursos
de la empresa
Empresa Tipo El lugar donde se efectúan las operaciones
del sistema
Usuario Tipo Describe a la persona que hace uso del
sistema
Empleado Tipo Describe a una persona que forma parte de la
empresa
Puesto Tipo Describe las características del trabajo a
realizar por un empleado
Área Tipo Área de trabajo que forma parte de la
empresa
Departamento Tipo Lo conforman una o más áreas
Cursos Realizados Tipo Describe los cursos que ya fueron realizados
por uno o más empleados
Cursos Disponibles Tipo Describe los cursos que pueden realizar los
empleados de la empresa
DNI: entero Atributo Número de documento del empleado
Nombre de usuario: cadena Atributo Texto que identifica al usuario del sistema
Clave: cadena Atributo Texto alfanumérico que identifica la clave del
usuario
Nombre y apellido: cadena Atributo Texto que identifica a un empleado
Fecha: date/time Atributo Valor en formato de fecha que describe el día
y hora de realización del curso
Cant. Hs: entero Atributo Valor numérico que describe la carga horaria
de un curso
Nombre: cadena Atributo Texto que describe a un área, un puesto, un
curso disponible o un curso realizado
Misión: cadena Atributo Texto que describe la misión que persigue un
área o un puesto
Objetivo: cadena Atributo Texto que describe el objetivo que persigue un
área o un puesto
José Daniel Muccela
- 47 -
5.8 Diagramas de Secuencia
Caso de uso: Búsqueda de empleados
Caso de uso: Alta de Empleados
Caso de uso: Registración de Cursos
Caso de uso: Modificación de Empleados
Usuario Sistema
realizarBusqueda (nombre)
finalizarBusqueda ()
Usuario Sistema
consultarEmpExistente (dni)
ingresarEmpleado (parametros)
finalizarCaptura ()
Usuario Sistema
consultarCursoExistente (nombre)
ingresarCurso (nombre,fecha.cant_hs)
finalizarRegistro ()
Usuario Sistema
consultarEmpExistente (dni)
modificarEmpleado (parametros)
finalizarCaptura ()
José Daniel Muccela
- 48 -
5.9 Contratos
5.9.1 Búsqueda de Empleados
Nombre: buscarEmpleado (nombre:texto)
Responsabilidad: Capturar (buscar) la existencia de un empleado. Desplegar los datos.
Tipo: Sistema.
Ref. cruzadas: R1.5.
Casos de uso: Búsqueda de Empleados.
Excepciones: Si no se pudo capturar el cliente, mostrar mensaje.
Precondiciones: El sistema conoce el nombre del empleado.
Poscondiciones:
• Se creó una instancia de LineaListadoEmp (creación de instancia).
• Se asoció LineaListadoEmp con una instancia de ListadoEmp
(asociación formada).
• Se asoció una instancia LineaListadoEmp con Empleado
(asociación formada).
Nombre: finalizarBusqueda ()
Responsabilidad: Indicar que es el final de la captura del empleado y volver al menú
principal.
Tipo: Sistema.
Ref. cruzadas: R1.5.
Casos de uso: Búsqueda de Empleados.
Excepciones: Si no se desea buscar otro empleado, volver al menú principal.
Precondiciones: El sistema conoce la estructura del menú de opciones del sistema.
Poscondiciones:
• Se eliminó la instancia LineaListadoEmp (eliminación de instancia).
5.9.2 Alta de Empleados
Nombre: consultarEmpExistente (dni: entero)
Responsabilidad: Comprobar existencia de un empleado.
Tipo: Sistema.
Ref. cruzadas: R1.1, R1.5
Casos de uso: Alta de Empleados.
Excepciones: Si se cancela la operación, abortar la transacción.
Si el dni ingresado no es válido, indicar que se cometió un error.
Precondiciones: El sistema conoce los empleados.
Poscondiciones:
• Se creó una instancia de LineaListadoEmp (creación de instancia).
Nombre: ingresarEmpleado (parametros: texto)
Responsabilidad: Actualizar los datos ingresados del empleado. Introducir un nuevo
empleado.
Tipo: Sistema.
Ref. cruzadas: R1.1
Casos de uso: Alta de Empleados.
Excepciones: El Usuario cancela la operación.
Precondiciones: El sistema sabe asociar el dni ingresado con los datos del nuevo
empleado.
José Daniel Muccela
- 49 -
Poscondiciones:
• Se asoció LineaListadoEmp con una instancia de ListadoEmp
(asociación formada).
• Se asoció una instancia LineaListadoEmp con Empleado
(asociación formada).
• Se asignó el valor de parámetros a Empleado.datos (modificación
de atributo).
Nombre: finalizarCaptura ()
Responsabilidad: Registrar que es el final de la captura del nuevo empleado.
Tipo: Sistema.
Ref. cruzadas: R1.1
Casos de uso: Alta de Empleados.
Excepciones: Si alguno de los datos ingresados no es válido, indicar que se cometió
un error.
Precondiciones: El sistema conoce el dni.
Poscondiciones:
• Se asignó Verdadero a Empleado.FinCaptura (modificación de
atributo).
5.9.3 Registración de Cursos
Nombre: consultarCursoExistente (nombre: texto)
Responsabilidad: Capturar (buscar) la existencia de un curso. Desplegar los datos.
Tipo: Sistema.
Ref. cruzadas: R1.6, R1.7
Casos de uso: Registración de Cursos.
Excepciones: El Usuario cancela la operación.
Precondiciones: El sistema conoce los cursos disponibles.
Poscondiciones:
• Se creó una instancia de Cursos Disponibles (creación de
instancia).
Nombre: ingresarCurso (nombre:texto, fecha:fecha, cant_hs:entero)
Responsabilidad: Verificar datos ingresados. Introducir un nuevo curso y agregarlo a los
cursos disponibles.
Tipo: Sistema.
Ref. cruzadas: R1.6, R1.7
Casos de uso: Registración de Cursos.
Excepciones: El Usuario cancela la operación.
Precondiciones: El sistema conoce el calendario de fechas y la carga horaria..
Poscondiciones:
• Se asignó el valor de nombre a CursosDisponibles.nombre
(modificación de atributo).
• Se asignó el valor de fecha a CursosDisponibles.fecha
(modificación de atributo).
• Se asignó el valor de cant_hs a CursosDisponibles.cant_hs
(modificación de atributo).
Nombre: finalizarRegistro ()
Responsabilidad: Registrar que es el final de la captura del nuevo curso.
Tipo: Sistema.
José Daniel Muccela
- 50 -
Ref. cruzadas: R1.6, R1.7
Casos de uso: Registración de Cursos.
Excepciones: El usuario cancela la operación.
Precondiciones:
Poscondiciones:
• Se asignó Verdadero a CursosDisponibles.FinCaptura (modificación
de atributo).
5.9.4 Modificación de Empleados
Nombre: consultarEmpExistente (dni: entero)
Responsabilidad: Comprobar existencia de un empleado.
Tipo: Sistema.
Ref. cruzadas: R1.12.
Casos de uso: Modificación de Empleados.
Excepciones: Si se cancela la operación, abortar la transacción.
Si el dni ingresado no es válido, indicar que se cometió un error.
Precondiciones: El sistema conoce los empleados.
Poscondiciones:
• Se creó una instancia de LineaListadoEmp (creación de instancia).
Nombre: modificarEmpleado (parametros: texto)
Responsabilidad: Introducir las modificaciones sobre los datos del empleado.
Tipo: Sistema.
Ref. cruzadas: R1.12
Casos de uso: Modificación de Empleados.
Excepciones: El Usuario cancela la operación.
Precondiciones: El sistema sabe asociar el dni ingresado con los datos del nuevo
empleado.
Poscondiciones:
• Se asoció LineaListadoEmp con una instancia de ListadoEmp
(asociación formada).
• Se asoció una instancia LineaListadoEmp con Empleado
(asociación formada).
• Se asignó el valor de parámetros a Empleado.datos (modificación
de atributo).
• Se asignó el valor de Verdadero a Empleado.Modificado
(modificación de atributo).
Nombre: finalizarCaptura ()
Responsabilidad: Registrar que es el final de la captura de las modificaciones
introducidas.
Tipo: Sistema.
Ref. cruzadas: R1.12
Casos de uso: Modificación de Empleados.
Excepciones: Si alguno de los datos ingresados no es válido, indicar que se cometió
un error.
Precondiciones: El sistema conoce el dni.
Poscondiciones:
• Se asignó Verdadero a Empleado.FinCaptura (modificación de
atributo).
José Daniel Muccela
- 51 -
CAPITULO 6 – Diseño del Sistema
Caso de Estudio – Sistema GRH – TUC
6 Diseño del Sistema
6.1 Casos Reales de Uso
6.1.1 Caso de Uso: Búsqueda de Empleados.
Actores: Usuario (Iniciador).
Propósito: Realizar la búsqueda de un Empleado.
Resumen: Un Usuario del Sistema desea consultar la existencia de un Empleado. El
Usuario realiza la consulta y revisa los resultados.
Tipo: Primario y real.
Referencias: Funciones: R1.5.
Ventana 1
Ventana 2
A
B
A
B
C
José Daniel Muccela
- 52 -
Curso Normal de Eventos:
Acción del Actor Respuesta del Sistema
1. Este caso de uso comienza cuando el
Usuario desea consultar la existencia de un
Empleado.
2. El Usuario ingresa el nombre del
Empleado en A de la Ventana 1. Se oprime B
después de capturar el nombre del
empleado.
3. Muestra los datos del empleado en A de la
Ventana 2.
4. El Usuario indica al sistema que la
consulta terminó haciendo clic en B de la
Ventana 2 o en C de la Ventana 1.
5. Vuelve al menú principal.
Curso Alterno de Eventos:
• Línea 3: El Empleado no existe, indicar con un mensaje de error. No mostrar ninguna
información en A de la Ventana 2.
6.1.2 Caso de Uso: Alta de Empleados.
Actores: Usuario.
Propósito: Realizar el Alta de un nuevo empleado al Sistema.
Resumen: Un Usuario del Sistema desea dar de Alta a un Empleado. El Usuario realiza la
operación y actualiza la base de datos.
Tipo: Primario y real.
Referencias Cruzadas: Funciones: R1.1.
José Daniel Muccela
- 53 -
Ventana 3
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes
Tesis ingenieria en sistemas, software libre y pymes

Weitere ähnliche Inhalte

Was ist angesagt?

Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo Seba Briones
 
Mapa Conceptual: Pruebas y mantenimiento de Software
Mapa Conceptual: Pruebas y mantenimiento de SoftwareMapa Conceptual: Pruebas y mantenimiento de Software
Mapa Conceptual: Pruebas y mantenimiento de SoftwareJose Manuel Silva Gomez
 
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...Dormimundo
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Lis Pater
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Metodología xp
Metodología xpMetodología xp
Metodología xpPiskamen
 
Modelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - MoprosoftModelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - MoprosoftRicardo Juarez
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPUFernanda Soto
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareCoesi Consultoria
 
Alcance y planeacion protectos de software
Alcance y planeacion protectos de softwareAlcance y planeacion protectos de software
Alcance y planeacion protectos de softwareAlexi vidal
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoJair Valenz
 
CMMI v2.0: Más dinámico, ligero y adaptable
CMMI v2.0: Más dinámico, ligero y adaptableCMMI v2.0: Más dinámico, ligero y adaptable
CMMI v2.0: Más dinámico, ligero y adaptableSoftware Guru
 
Especificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareEspecificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareJesús E. CuRias
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0luimiguelandrade
 
Proyecto de auditoría informática aplicando la metodología cobit 4.1
Proyecto de auditoría informática aplicando la metodología cobit 4.1Proyecto de auditoría informática aplicando la metodología cobit 4.1
Proyecto de auditoría informática aplicando la metodología cobit 4.1Luis Angello RH-CyberComputer
 
Perfil Proyecto de Grado (Informática)
Perfil Proyecto de Grado (Informática)Perfil Proyecto de Grado (Informática)
Perfil Proyecto de Grado (Informática)J Arze
 
Introducción a las metodologías ágiles
Introducción a las metodologías ágilesIntroducción a las metodologías ágiles
Introducción a las metodologías ágilesitproiectus
 

Was ist angesagt? (20)

Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo
 
Thread
ThreadThread
Thread
 
Mapa Conceptual: Pruebas y mantenimiento de Software
Mapa Conceptual: Pruebas y mantenimiento de SoftwareMapa Conceptual: Pruebas y mantenimiento de Software
Mapa Conceptual: Pruebas y mantenimiento de Software
 
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Modelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - MoprosoftModelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - Moprosoft
 
Presentación proceso del software
Presentación proceso del softwarePresentación proceso del software
Presentación proceso del software
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPU
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
 
Alcance y planeacion protectos de software
Alcance y planeacion protectos de softwareAlcance y planeacion protectos de software
Alcance y planeacion protectos de software
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyecto
 
CMMI v2.0: Más dinámico, ligero y adaptable
CMMI v2.0: Más dinámico, ligero y adaptableCMMI v2.0: Más dinámico, ligero y adaptable
CMMI v2.0: Más dinámico, ligero y adaptable
 
Especificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareEspecificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de software
 
Rational unified process (rup)
Rational unified process (rup)Rational unified process (rup)
Rational unified process (rup)
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0
 
Proyecto de auditoría informática aplicando la metodología cobit 4.1
Proyecto de auditoría informática aplicando la metodología cobit 4.1Proyecto de auditoría informática aplicando la metodología cobit 4.1
Proyecto de auditoría informática aplicando la metodología cobit 4.1
 
Perfil Proyecto de Grado (Informática)
Perfil Proyecto de Grado (Informática)Perfil Proyecto de Grado (Informática)
Perfil Proyecto de Grado (Informática)
 
Introducción a las metodologías ágiles
Introducción a las metodologías ágilesIntroducción a las metodologías ágiles
Introducción a las metodologías ágiles
 

Ähnlich wie Tesis ingenieria en sistemas, software libre y pymes

Proyecto softpyme informe analisis
Proyecto softpyme informe analisisProyecto softpyme informe analisis
Proyecto softpyme informe analisisYeison Smith
 
1 Avance Del Proyecto 6
1 Avance Del Proyecto 61 Avance Del Proyecto 6
1 Avance Del Proyecto 6guestde29b5
 
Reporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación GuiadasReporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación Guiadasunl
 
Practicas de Observacion
Practicas de ObservacionPracticas de Observacion
Practicas de ObservacionGabyNarvaez
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoIng-D-SW-TorresKhano--ME
 
Plan de negocio
Plan de negocio Plan de negocio
Plan de negocio ITFIP
 
Anexo 25-actividad-6
Anexo 25-actividad-6Anexo 25-actividad-6
Anexo 25-actividad-6Draven Draven
 
Sistemas de informacion
Sistemas de informacionSistemas de informacion
Sistemas de informacionDr.Ing. Uriel
 
Sistemas y Soluciones Informe Tecnico
Sistemas y Soluciones Informe TecnicoSistemas y Soluciones Informe Tecnico
Sistemas y Soluciones Informe TecnicoGio Tabares
 
Futuro del Software: Impacto en las organizaciones y en los profesionales
Futuro del Software:  Impacto en las organizaciones  y en los profesionalesFuturo del Software:  Impacto en las organizaciones  y en los profesionales
Futuro del Software: Impacto en las organizaciones y en los profesionalesAISTI
 
Proyecto parcial
Proyecto parcialProyecto parcial
Proyecto parcialdanielpac
 
Trabajo word informatica 2[1]
Trabajo word informatica 2[1]Trabajo word informatica 2[1]
Trabajo word informatica 2[1]leidy300
 
Trabajo word informatica 2[1]
Trabajo word informatica 2[1]Trabajo word informatica 2[1]
Trabajo word informatica 2[1]djkamy01
 
Desarrollo del proyecto
Desarrollo del proyectoDesarrollo del proyecto
Desarrollo del proyectosabrosisimo69
 
Desarrollo del proyecto
Desarrollo del proyectoDesarrollo del proyecto
Desarrollo del proyectonancyespe21
 

Ähnlich wie Tesis ingenieria en sistemas, software libre y pymes (20)

Proyecto softpyme informe analisis
Proyecto softpyme informe analisisProyecto softpyme informe analisis
Proyecto softpyme informe analisis
 
1 Avance Del Proyecto 6
1 Avance Del Proyecto 61 Avance Del Proyecto 6
1 Avance Del Proyecto 6
 
Reporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación GuiadasReporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación Guiadas
 
Practicas de Observacion
Practicas de ObservacionPracticas de Observacion
Practicas de Observacion
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un Ensayo
 
Plan de negocio
Plan de negocio Plan de negocio
Plan de negocio
 
Evolucion software - Ing SW
Evolucion software - Ing SWEvolucion software - Ing SW
Evolucion software - Ing SW
 
Anexo 25-actividad-6
Anexo 25-actividad-6Anexo 25-actividad-6
Anexo 25-actividad-6
 
Sistemas de informacion
Sistemas de informacionSistemas de informacion
Sistemas de informacion
 
Sistemas y Soluciones Informe Tecnico
Sistemas y Soluciones Informe TecnicoSistemas y Soluciones Informe Tecnico
Sistemas y Soluciones Informe Tecnico
 
T espe-021852
T espe-021852T espe-021852
T espe-021852
 
T espe-021852
T espe-021852T espe-021852
T espe-021852
 
Futuro del Software: Impacto en las organizaciones y en los profesionales
Futuro del Software:  Impacto en las organizaciones  y en los profesionalesFuturo del Software:  Impacto en las organizaciones  y en los profesionales
Futuro del Software: Impacto en las organizaciones y en los profesionales
 
Proyecto parcial
Proyecto parcialProyecto parcial
Proyecto parcial
 
Trabajo word informatica 2[1]
Trabajo word informatica 2[1]Trabajo word informatica 2[1]
Trabajo word informatica 2[1]
 
Trabajo word informatica 2[1]
Trabajo word informatica 2[1]Trabajo word informatica 2[1]
Trabajo word informatica 2[1]
 
Desarrollo del proyecto
Desarrollo del proyectoDesarrollo del proyecto
Desarrollo del proyecto
 
Desarrollo del proyecto
Desarrollo del proyectoDesarrollo del proyecto
Desarrollo del proyecto
 
Desarrollo del proyecto
Desarrollo del proyectoDesarrollo del proyecto
Desarrollo del proyecto
 
Iswi t01 - ing sofware
Iswi   t01 - ing sofwareIswi   t01 - ing sofware
Iswi t01 - ing sofware
 

Mehr von Daniel Muccela

Sistema de vigilancia automatizado
Sistema de vigilancia automatizadoSistema de vigilancia automatizado
Sistema de vigilancia automatizadoDaniel Muccela
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosDaniel Muccela
 
Scrum en sistema grh tuc
Scrum en sistema grh tucScrum en sistema grh tuc
Scrum en sistema grh tucDaniel Muccela
 
Inteligencia artificial inversiones
Inteligencia artificial inversionesInteligencia artificial inversiones
Inteligencia artificial inversionesDaniel Muccela
 
Monografia encriptacion
Monografia encriptacionMonografia encriptacion
Monografia encriptacionDaniel Muccela
 
Proyecto de fabricación de envases de madera
Proyecto de fabricación de envases de maderaProyecto de fabricación de envases de madera
Proyecto de fabricación de envases de maderaDaniel Muccela
 

Mehr von Daniel Muccela (14)

Etica sistemica
Etica sistemicaEtica sistemica
Etica sistemica
 
Cookies
CookiesCookies
Cookies
 
Sistema backup online
Sistema backup onlineSistema backup online
Sistema backup online
 
Sistema de vigilancia automatizado
Sistema de vigilancia automatizadoSistema de vigilancia automatizado
Sistema de vigilancia automatizado
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzados
 
Scrum en sistema grh tuc
Scrum en sistema grh tucScrum en sistema grh tuc
Scrum en sistema grh tuc
 
Turing searle
Turing searleTuring searle
Turing searle
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Logica fuzzy
Logica fuzzyLogica fuzzy
Logica fuzzy
 
Inteligencia artificial inversiones
Inteligencia artificial inversionesInteligencia artificial inversiones
Inteligencia artificial inversiones
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Monografia encriptacion
Monografia encriptacionMonografia encriptacion
Monografia encriptacion
 
Proyecto de fabricación de envases de madera
Proyecto de fabricación de envases de maderaProyecto de fabricación de envases de madera
Proyecto de fabricación de envases de madera
 

Kürzlich hochgeladen

MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSRicardo Chegwin
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesgovovo2388
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorkavowog624
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASejcelisgiron
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimientoMaxanMonplesi
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upnDayronCernaYupanquiy
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 

Kürzlich hochgeladen (20)

MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimiento
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 

Tesis ingenieria en sistemas, software libre y pymes

  • 1. Ingeniería en Sistemas y Software Libre al servicio de las PYMES Autor: José Daniel Muccela Tutor: Ing. Alberto Moyano Departamento de Sistemas de Información Facultad Regional Tucumán Universidad Tecnológica Nacional 2010
  • 3. José Daniel Muccela - 3 - AGRADECIMIENTOS A Dios y mi familia por el apoyo brindado a lo largo de los años transitados por la Universidad, siendo mis sostenes en los momentos difíciles y compartiendo las alegrías en los momentos de éxito. Al Ingeniero Alberto Moyano por su disposición al trabajo, soporte y guía constante como tutor del proyecto. A los Ing. Pablo Rovarini, Rosana Hadad, Patricia Nazar, Lucas Cordero, Gustavo Maigua, Gustavo Juárez y Lic. Carlos Pérez por el asesoramiento brindado. A la Ing. Cristina Rojas, Secretaria académica de la Universidad Tecnológica Nacional Facultad Regional Tucumán, por su valioso aporte de información referente al ámbito de la carrera Ingeniería en sistemas. A la Ingeniera Sonia Brizuela de Cesca, directora de la Dirección de Industria y MiPyME (dependiente del Ministerio de Desarrollo Productivo) de la provincia de Tucumán, por su gran contribución en información del ámbito de las PYMES de Tucumán. Al C.P.N. José Lezanna, coordinador de PYMES en la ciudad de San Isidro de Lules, por su aporte en materia de las PYMES de servicios. Finalmente agradecer a la Universidad Tecnológica Nacional, especialmente la Facultad Regional Tucumán por darme la inestimable oportunidad de formarme como profesional.
  • 4. José Daniel Muccela - 4 - ÍNDICE Agradecimientos 3 Resumen 7 Situación Problemática – Planteo del Problema 8 Objetivo General 8 Objetivos Específicos 8 CAPITULO 1 – PYMES 1.1 Hablemos de PYMES. 10 1.2 Tipos de Empresas según su actividad. 11 1.3 Situación actual de las PYMES. 12 1.4 PYMES y necesidades de software. 12 1.5 PYMES de Servicios de RRHH y requerimientos en común. 13 CAPITULO 2 – El profesional de sistemas de información 2.1 Carrera de Ingeniería en Sistemas de Información. 14 2.2 Perfil profesional del Ingeniero en Sistemas de Información. 14 2.3 El Ingeniero en Sistemas de la Universidad Tecnológica Nacional. Incumbencias. 15 CAPITULO 3 – Software Libre 3.1 Software libre. 16 3.2 Software propietario. 17 3.3 Software libre versus software propietario. 17 3.3.1 Ventajas del software libre 17 3.3.2 Desventajas del software libre 20 3.3.3 Ventajas del software propietario 21 3.3.4 Desventajas del software propietario. 21 3.4 Modelos de software libre y no libre. 23 3.5 Licencias. Licencias de software libre. 26 3.5.1 Licencias para software. 26 3.5.1.1 Licencias de software libre compatibles con la GPL. 26 3.5.1.2 Licencias de software libre incompatibles con la GPL. 27 3.5.1.3 Licencias de software no libre. 27 3.5.2 Licencias para documentación. 28 3.5.2.1 Licencias de documentación libre. 28 3.5.2.2 Licencias de documentación no libre. 29
  • 5. José Daniel Muccela - 5 - 3.5.3 Licencias para trabajos aparte del software y la documentación. 29 3.6 Evolución. El futuro del software libre. 29 3.7 PYMES y el software libre. 30 CAPITULO 4 – Caso de Estudio 4.1 Selección de Metodologías de Trabajo. 33 4.2 Alternativas de solución. 33 4.3 Desarrollo del sistema. 34 CAPTITULO 5 – Análisis del sistema 5 Análisis del Sistema. 35 5.1 Estructura del sistema. 35 5.2 Presentación General del Sistema. 35 5.3 Casos de Uso. 37 5.4 Descripción Formal de los Casos de Uso. 37 5.5 Curso normal de eventos y cursos alternos. 39 5.6 Diagrama de Casos de Uso. 43 5.7 Modelo Conceptual. 44 5.7.1 Conceptos. 44 5.7.2 Modelo conceptual simplificado. 44 5.7.3 Modelo conceptual extendido. 45 5.7.4 Glosario. 46 5.8 Diagramas de Secuencia. 47 5.9 Contratos. 48 5.9.1 Contratos para C.U. Búsqueda de Empleados. 48 5.9.2 Contratos para C.U. Alta de Empleados. 48 5.9.3 Contratos para C.U. Registración de Cursos. 49 5.9.4 Contratos para C.U. Modificación de Empleados. 50 CAPTITULO 6 – Diseño del sistema 6 Diseño del sistema 51 6.1 Casos Reales de Uso 51 6.1.1 C.U. Búsqueda de Empleados 51 6.1.2 C.U. Alta de Empleados. 52 6.1.3 C.U. Registración de Cursos. 54
  • 6. José Daniel Muccela - 6 - 6.1.4 C.U. Modificación de Empleados. 56 6.2 Diagramas de Colaboración o de Interacción 58 6.2.1 Diag. de Colab. para C.U. Búsqueda de Empleados 58 6.2.2 Diag. de Colab. para C.U. Alta de Empleados. 59 6.2.3 Diag. de Colab. para C.U. Registración de Cursos. 59 6.2.4 Diag. de Colab. para C.U. Modificación de Empleados 60 6.3 Diagrama de Clases 61 6.4 Selección de las tecnologías libres 62 CAPITULO 7 – Consideraciones Finales Resultados obtenidos. 63 Conclusiones. 64 Referencias. 65 Anexos Anexo I – Glosario de Términos. 67 Anexo II – Versiones del software utilizado para el desarrollo de la aplicación 69 Anexo III – Modelo de la Base de Datos. Descripción de las tablas de la Base de Datos 70
  • 7. José Daniel Muccela - 7 - RESUMEN En la actualidad, con la masiva aparición de pequeñas y medianas empresas (PYMES) y por consiguiente, un fuerte aumento de la competencia, estas deben buscar la forma de obtener una ventaja competitiva. Se sabe además que toda empresa tiene necesidades de sistematizar sus procesos. Estas necesidades van desde detalles menores hasta cuestiones muy complejas, que, atendidas a su debido tiempo y por personas capacitadas, pueden convertir dichas necesidades en un sistema informático que las satisfaga. El interrogante siempre está basado entorno a las posibilidades que ofrecen las tecnologías actuales y a las capacidades de las personas que pueden llevar a cabo la elaboración de sistemas informáticos. El problema se amplifica si se considera el ramo de las PYMES de servicios. En este proyecto, se propone por tanto, demostrar que es posible dar una solución viable al problema detectado a través de un proyecto de desarrollo de software guiado por un profesional de sistemas de información y haciendo uso de software libre.
  • 8. José Daniel Muccela - 8 - SITUACIÓN PROBLEMÁTICA. PLANTEO DEL PROBLEMA El tema que trata este proyecto es candente en la actualidad, porque abundan una gran cantidad de PYMES en todo el mundo, todas ellas con necesidades de Información. En muchas ocasiones las empresas optan por utilizar sistemas existentes que no cubren sus expectativas ya que muchas veces están diseñados para otros fines, los cuales son distintos a los de la propia empresa. El caso de estudio que da soporte a la idea central del proyecto gira entorno al desarrollo de un sistema orientado al sector de servicios de recursos humanos (selección de personal, asignación de puestos según especialización, gestión de capacitaciones). Se utilizará para ello sólo software libre. OBJETIVO GENERAL Demostrar que a través de la Ingeniería en Sistemas y de la utilización del Software Libre se pueden obtener soluciones viables aplicables a las empresas PYME de servicios. OBJETIVOS ESPECÍFICOS En definitiva podemos resumir los aspectos mencionados en base a los siguientes objetivos: • Demostrar las ventajas de la utilización del Software Libre como alternativa de solución para empresas PYME. • Motivar a despertar el interés en el área del software libre para llevar adelante proyectos de software orientados a PYMES de servicios. • Que los Ingenieros en Sistemas conozcan las necesidades informáticas que rodean a las PYMES de servicios. • Que las PYMES conozcan las competencias y capacidades del Ingeniero en Sistemas de Información como profesional capaz de dar solución a sus necesidades de Información. • Demostrar mediante la implementación de un sistema, que es viable su aplicación en una empresa PYME como solución a sus necesidades de información. • Hacer extensivos a la comunidad científica y académica los resultados y conclusiones obtenidos, como así también a aquellos organismos posiblemente interesados
  • 9. José Daniel Muccela - 9 - MARCO TEÓRICO
  • 10. José Daniel Muccela - 10 - CAPÍTULO 1 - PYMES 1.1 Hablemos de PYMES Las pequeñas y medianas empresas (conocidas también por el acrónimo PYMES) son empresas que tienen ciertas características que la distinguen, y tienen dimensiones con ciertos límites ocupacionales y financieros prefijados por los Estados o Regiones. Son entidades que poseen lógicas, intereses, culturas y un espíritu emprendedor particular. Para determinar si una empresa es del tipo pequeña o mediana se utilizan diversos criterios que varían según la estructura industrial y empresarial de cada país o Región que se considere, a saber: • Cantidad de empleados. • Cálculos de coeficientes económicos. • Valor de activos. • Capacidad operativa. • Formalidad. • Volumen anual de ventas. En el primer caso, una empresa se ubica dentro de una clasificación dependiendo del número de empleados que la integran. Por cálculos de coeficientes económicos se entiende el proceso de utilizar diversas fórmulas financieras dictadas por el país o región en cuestión. Por el valor de los activos hace referencia al precio que se pagaría en el mercado para comprar los activos o el equipo. De acuerdo a su capacidad operativa está vinculada a la capacidad de producción y la capacidad comercial; aquellos que son resultado de los negocios a los que se orienta la empresa. Por la formalidad se refiere a si tiene un manejo gerencial, estructura organizacional o si se maneja como una empresa unifamiliar. Y por último se puede clasificar por su volumen anual de ventas como es el caso de nuestro país; tal como lo define la Resolución nº 21/2010 de la Secretaría de la Pequeña y Mediana Empresa y Desarrollo Regional (SEPyME) dependiente del Ministerio de Industria de la República Argentina, las empresas Pyme se clasifican según las ventas totales anuales, es decir el valor de las ventas que surja del promedio de los últimos tres (3) balances o información contable equivalente adecuadamente documentada, excluidos el impuesto al Valor Agregado, el impuesto interno que pudiera corresponder y deducidas las exportaciones que surjan de los mencionados balances o información contable hasta un máximo del treinta y cinco por ciento (35%) de dichas ventas. Sector Tamaño Agropecuario Industria y Minería Comercio Servicios Construcción Micro Empresa $ 610.000 $ 1.800.000 $ 2.400.000 $ 590.000 $ 760.000 Pequeña Empresa $ 4.100.000 $ 10.300.000 $ 14.000.000 $ 4.300.000 $ 4.800.000 Mediana Empresa $ 24.100.000 $ 82.200.000 $ 111.900.000 $ 28.300.000 $ 37.700.000
  • 11. José Daniel Muccela - 11 - La resolución mencionada en el párrafo precedente surge modificaciones cada cierto tiempo y esta en función de las políticas gubernamentales de fomento y desarrollo de manera igualitaria. Si no se hicieran tales modificaciones, podría ocurrir por ejemplo, que una PYME que tiene poco volumen de ventas, pueda acceder a algún programa de financiación y las otras no, lo que llevaría la situación a una competencia desigual. De esto se desprende que el gobierno recurre a la combinación de dos o más formas de clasificación con el objetivo de incluir a todas las empresas en sus programas de financiación. Podemos ver en el cuadro anterior, la unidad de negocio llamada Micro Empresa (de ahí que usualmente pueda aparecer el término MIPYME). Este tipo de empresa surge a partir de la iniciativa de promover fondos de financiación para estas empresas. Entonces, según el volumen que factura tiene un correspondiente limite de financiación y promociones que le sirven de soporte desde las entidades financieras y del mismo gobierno nacional. 1.2 Tipos de Empresas según su actividad Vamos a describir las ramas de actividad de las empresas PYME de nuestro país. Según el tipo de actividad que ejecutan las empresas PYMES de argentina, podemos dividirlas en los siguientes sectores: • Agropecuario. • Industria manufacturera. • Minería. • Comercial. • Servicios. • Construcción. Al respecto diremos que los sectores agropecuario, de la industria manufacturera, el comercial y el de servicios son los que concentran la mayor cantidad de empresas de nuestro medio. En la provincia de Tucumán la situación es similar. En el presente trabajo nos vamos a referir exclusivamente al sector de Servicios, también llamado sector terciario. Cada vez con mayor frecuencia se crean empresas dedicadas a ofrecer sus servicios, que van desde la selección de personal calificado a grandes empresas, hasta servicios financieros ya sea para pequeños o grandes clientes. Además existe una gran diversidad de servicios muy particulares que muchas veces surgen para cubrir las necesidades de las grandes empresas. El sector terciario está compuesto de las áreas suaves de la economía tales como: • Seguros. • Turismo. • Actividades financieras o Derecho financiero. • Comercio. • Al por mayor. • Al por menor. • Educación. • Restaurantes. • Franquicias. • Industria del ocio incluyendo la industria de grabación, música, radio, televisión y cine. • Informática y tecnología. • Transporte. • Cuidados personales y de salud. • Servicios a empresas como consultoría, inversión y asesoramiento jurídico.
  • 12. José Daniel Muccela - 12 - • Comunicaciones (prensa, televisión, radio e Internet) A su vez dentro del sector “servicios a empresas como consultoría” tenemos los servicios a empresas dedicadas a trabajar con recursos humanos. Nuestro foco de atención se centra en las empresas que se encargan de la selección de personal. En una empresa de dimensiones como las de las PYME, el seguimiento correcto de sus recursos humanos puede determinar el éxito de la misma. Esto se debe a que un margen de error grande le puede resultar en el cierre del negocio principalmente porque no se tiene el personal adecuado en cada puesto de trabajo, lo que lleva a una mala utilización de estos recursos, tal vez los más importantes de toda la empresa. 1.3 Situación actual de las PYMES Las PYMES cobran cada día más importancia en cada país del mundo; de hecho hoy en día, las políticas de los Estados se encaminan a darle un mayor valor a este tipo de empresas por lo que representan para sus respectivas economías, en particular en la generación de empleos. A continuación podemos ver los motivos por los que estas empresas toman cada vez más protagonismo: • Tienen directa relación con la generación de puestos de trabajo. • Mejoran la distribución del ingreso. • Aportan al desarrollo de la economía regional. • Se pueden adaptar fácilmente a los ciclos de actividad. • Sirven de soporte a las grandes empresas. En Argentina las PYMES constituyen el 99,6% de las unidades económicas produciendo el 70% de todos los puestos de trabajo del país y el 40% del valor agregado. Existen 85 PYMES industriales cada 100.000 habitantes, un porcentaje superior al que se verifica en Japón, Reino Unido, Italia, España y Alemania. En tanto a las exportaciones las PYMES representan el 15% del volumen total. Desde el año 2003 hasta la actualidad, la cantidad de pequeñas y medianas compañías que venden al exterior creció un 20%. Los actuales problemas por los que se enfrentan las PYMES giran entorno al difícil acceso a las líneas de crédito, el peso de los impuestos y la deficiencia en infraestructura. Actualmente el nuevo contexto económico volvió a hacer posible el desarrollo de estas empresas sin mayores obstáculos. En Argentina, las PYMES supieron aprovechar las ventajas que surgieron a partir de la devaluación en el año 2001/2002. Ventajas en el sentido de obtener una importante participación en el mercado interno aprovechando la sustitución de importaciones e incluso, incrementando su presencia en mercados externos. Son cada vez más frecuentes las iniciativas de gobierno para promover la generación de nuevas empresas y el mantenimiento y mejora de las ya existentes, tales como: mejorar el acceso al crédito y el costo del mismo, programas de capacitación a empleados y dirigentes, planes de acción para mejorar la gestión y la competitividad, programas destinados a jóvenes empresarios y a grupos asociativos de empresas, entre otros. 1.4 PYMES y necesidades de software Toda empresa sin importar sus dimensiones o clasificación necesita y hace uso constante de información. Muchas veces o la mayoría de las veces esta no está disponible en el momento requerido. Es de vital importancia contar con un mecanismo que organice la información y la mantenga disponible en cualquier momento y lugar. Cuando hablamos de necesidades de software hablamos de necesidades de gestión de información, de orden en el proceso de gestión del negocio, de información certera y
  • 13. José Daniel Muccela - 13 - oportuna, entre otras. Estas necesidades pueden ser encapsuladas y trabajar sobre ellas hasta obtener la solución al problema. Ello se puede lograr a través de la implementación de un software o aplicación. Aplicado esto a las empresas PYME le permite no sólo estar al corriente del uso de las tecnologías de la información sino que le aporta ventajas competitivas respecto de la competencia. Estas empresas, cuando piensan incorporar un software que sirva de soporte a la gestión de su negocio en general evalúan los siguientes factores: • Costos iniciales y costos anuales de mantenimiento. • Coincidencia entre los paquetes de software y la plantilla de empleados. • Posibilidad de actualizarlo. • Mayor eficacia y ahorro de tiempo. • Compatibilidad con sistemas actuales. • Facilidad de uso. • Disponibilidad de apoyo técnico. • Necesidad de adaptación. • Tiempo requerido para su implantación. • Tiempo de capacitación requerido para recursos humanos y nómina de empleados. En el capítulo 3 se explica como estos factores se cumplen a favor de la empresa cuando se utiliza software libre. 1.5 PYMES de Servicios de RRHH y requerimientos en común Haciendo referencia a las PYMES de servicio de recursos humanos y a través de datos relevados a empresas del medio se obtuvo como resultado un conjunto de requerimientos o necesidades de información en común. Las mismas se detallan a continuación: • Distinguir la información relevante de información superflua. • Determinar mediante algún mecanismo la asignación de puestos según las capacidades que posea un empleado. • Permitir el control permanente de los recursos humanos de la empresa. • Permitir el seguimiento de capacitación de los empleados. • Sistema de utilización sencilla. • Posibilidad de mejorar la gestión de los empleados. • Capacitación permanente en materia de tecnologías de información. • Seguridad de la información de la empresa. • Mayor organización. • Poseer un historial de actividades realizadas. Otras necesidades que se identificaron se refieren a cuestiones de capacitación en conceptos básicos de informática, tanto en los aspectos software como de hardware. Esto se debe a que en muchos casos los dueños de las empresas desconocen el uso y la aplicación de tecnología en ellas y por falta de asesoramiento.
  • 14. José Daniel Muccela - 14 - CAPITULO 2 – Profesional de Sistemas de Información 2.1 Carrera de Ingeniería en Sistemas de Información La carrera de Ingeniería en Sistemas de Información se puso en vigencia en la Universidad Tecnológica Nacional en el año 1985. Después de más de veinte años y como consecuencia de la experiencia acumulada por las distintas Facultades Regionales en las que se dicta y atendiendo a las necesidades de la sociedad, se produjeron entre otras, una transformación académica de la carrera otorgando al profesional egresado de esta casa de altos estudios de las herramientas adecuadas y actualizadas para enfrentar los desafíos del mundo actual. Esto produce que el profesional se vea con mayores posibilidades de inserción laboral además de la característica inherente de un ingeniero que es la y generar cambios. El objetivo principal de la carrera de Ingeniería en Sistemas de Información es formar un ingeniero tecnológico capacitado para desarrollar sistemas de ingeniería y tecnología afines a los existentes y producir innovaciones. Por las capacidades que adquiere, un Ingeniero en Sistemas está en condiciones de analizar y evaluar requerimientos de procesamiento de información, para luego, diseñar, desarrollar, organizar, implementar y controlar sistemas informáticos, al servicio de múltiples necesidades de información, de las organizaciones y de todas las profesiones con las que deberá interactuar con versatilidad y vocación de servicio interdisciplinario. La implementación constante de actualizaciones al contenido curricular de la carrera, como respuesta a las necesidades actuales de la sociedad, permiten que el profesional formado en la Universidad Tecnológica Nacional se integre sin dificultades en cualquier ámbito laboral y en general en cualquier proyecto que se requiera de su servicio. 2.2 Perfil profesional del Ingeniero en Sistemas de Información. A través de su formación analítica, el Ingeniero en Sistemas de Información es un profesional es capaz de interpretar y resolver problemas mediante el uso de metodologías de sistemas y tecnologías de procesamiento de información. Además, debido a su capacidad para el autoaprendizaje y para adaptarse rápidamente a los cambios tecnológicos el Ingeniero puede encontrar mayor número de soluciones y mas eficientes. Adquiere capacidades que le permiten integrar la información proveniente de distintos campos disciplinarios concurrentes a un proyecto común. La capacidad adquirida en la Universidad Tecnológica Nacional le permite afrontar con solvencia el planeamiento, desarrollo, dirección y control de los sistemas de información. Es poseedor de conocimientos de diversas áreas como recursos humanos, recursos físicos y de administración permitiéndole administrarlos correctamente durante el desarrollo de proyectos de sistemas de información. Tiene capacidades que lo habilitan para el desempeño de funciones gerenciales en concordancia con su formación profesional. Por su preparación es apto para abordar proyectos de investigación y desarrollo, integrando por consiguiente equipos interdisciplinarios en cooperación, o bien asumiendo el liderazgo efectivo en la coordinación de los aspectos técnicos y metodológicos de los mismos. Posee la capacidad de transmitir eficientemente el conocimiento debido a la enseñanza recibida y a los métodos de aprendizaje que adquirió. Estas y otras características inherentes al profesional hacen que el Ingeniero en Sistemas se ubique en una posición relevante.
  • 15. José Daniel Muccela - 15 - 2.3 El Ingeniero en Sistemas de la Universidad Tecnológica Nacional. Incumbencias. El Ingeniero en Sistemas de Información posee muchas incumbencias asociadas a su profesión. Su preparación en la universidad le confieren la propiedad de desempeñar cualesquiera de ellas. A continuación se mencionan las incumbencias. Según la Ordenanza N° 622/88 (Resolución Ministeria l N° 593/91) un Ingeniero en Sistemas de la Universidad Tecnológica Nacional está habilitado para: • Participar en la toma de decisiones estratégicas de una organización y asesorar, en concordancia con las mismas acerca de las políticas de desarrollo de sistemas de información. • Evaluar, clasificar y seleccionar proyectos de sistemas de información y evaluar y seleccionar alternativas de asistencia interna. • Planificar, efectuar y evaluar los estudios de factibilidad inherentes a todo proyecto de diseño de sistemas de información y de modificación o reemplazo de los mismos, así como los sistemas de computación asociados. • Planificar, dirigir, ejecutar y controlar el relevamiento, análisis, diseño, desarrollo, implementación y prueba de sistemas de información. • Evaluar y seleccionar los sistemas de programación disponibles con miras a su utilización en sistemas de información. • Evaluar y seleccionar, desde el punto de vista de los sistemas de información, los equipos de procesamiento y comunicación y los sistemas de base. • Organizar y dirigir el área de sistemas; determinar el perfil de los recursos humanos necesarios y contribuir a su selección y formación. • Participar en la elaboración de programas de capacitación para la utilización de sistemas de información. • Determinar y controlar el cumplimiento de las pautas técnicas que rigen el funcionamiento y la utilización de recursos informáticos en cada organización. • Elaborar métodos y normas a seguir en cuestiones de seguridad y privacidad de la información procesada y/o generada por los sistemas de información; participar en la determinación de las acciones a seguir en esta materia y evaluar su aplicación. • Elaborar métodos y normas a seguir en cuestión de salvaguardia y control, de los recursos físicos y lógicos, de un sistema de computación; participar en la determinación de las acciones a seguir en esta materia y evaluar su aplicación. • Desarrollar modelos de simulación, sistemas expertos y otros sistemas informáticos destinados a la resolución de problemas y asesorar en su aplicación. • Realizar auditorias en áreas de sistemas y centros de cómputos así como en los sistemas de información utilizados. • Realizar arbitrajes, pericias y tasaciones referidas a los sistemas de información y a los medios de procesamiento de datos. • Realizar estudios e investigaciones conducentes a la creación y mejoramiento de técnicas de desarrollo de sistemas de información y nuevas aplicaciones de la tecnología informática existente. En la provincia de Tucumán se estima que existen aproximadamente 500 profesionales de sistemas entre Analistas de Sistemas e Ingenieros en Sistemas de Información recibidos de la Facultad Regional Tucumán. Por otro lado, el reconocimiento de los profesionales de sistemas está asociado a la importancia y relevancia que las organizaciones dan a la información, difícil tarea por tratarse de un bien estratégico pero intangible. El reconocimiento mencionado está en ascenso, ante la demostración de idoneidad y eficiencia de la mayoría de los graduados de la UTN que se desempeñan en el medio. (Ing. Crisitina Rojas, entrevista, 25 de Septiembre 2010)
  • 16. José Daniel Muccela - 16 - CAPÍTULO 3 – Software Libre 3.1 Software Libre La expresión “Software Libre” cada vez toma mayor fuerza. Pero qué es el Software Libre? Según el sitio oficial de la Free Software Foundation (FSF, Fundación para el Software Libre) cuando nos referimos al software libre, hablamos de una cuestión de libertad, no de precio. Para comprender el concepto, se debería pensar en "libre" como en "libre expresión", no como en "barra libre". El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Más precisamente, significa que los usuarios de programas tienen las cuatro libertades esenciales. En 1996, la Fundación del Software Libre enunció las libertades del software libre: • La libertad de ejecutar el programa, para cualquier propósito (libertad 0). • La libertad de estudiar cómo trabaja el programa, y cambiarlo para que haga lo que uno quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello. • La libertad de redistribuir copias para que pueda ayudar al prójimo (libertad 2). • La libertad de distribuir copias de sus versiones modificadas a terceros (la 3ª libertad). Si lo hace, puede dar a toda la comunidad una oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición necesaria para ello. Un programa es software libre, si los usuarios tienen todas esas libertades. Entonces, debería ser libre de redistribuir copias, con o sin modificaciones, ya sea gratis o cobrando una tarifa por distribución, a cualquiera en cualquier parte del mundo. Así el ser libre de hacer estas cosas significa, entre otras cosas, que no tiene que pedir o pagar el permiso. Asimismo debería tener la libertad de hacer modificaciones y usarlas en privado, en el trabajo u obra, sin siquiera mencionar que existen. Si publica sus cambios, no debería estar obligado a notificarlo a alguien en particular, o de alguna forma en particular. La libertad de ejecutar el programa significa la libertad para cualquier tipo de persona u organización de usarlo en cualquier tipo de sistema de computación, para cualquier tipo de trabajo y propósito, sin estar obligado a comunicarlo a su programador, o alguna otra entidad específica. En esta libertad, el propósito de los usuarios es el que importa, no el propósito de los programadores. Como usuario es libre de ejecutar un programa para sus propósitos; y si lo distribuye a otra persona, también es libre para ejecutarlo para sus propósitos, pero uno no tiene derecho a imponerle sus propios propósitos. La libertad de redistribuir copias debe incluir las formas binarias o ejecutables del programa, así como el código fuente; tanto para las versiones modificadas como para las no lo están. (En este sentido distribuir programas en forma de ejecutables, es necesario para que los sistemas operativos libres se puedan instalar fácilmente). Resulta aceptable si no existe un modo de producir una formato binario o ejecutable para un programa específico, dado que algunos lenguajes no incorporan esa característica, pero debe tener la libertad de redistribuir dichos formatos si encontrara o programara una forma de hacerlo. Para que la 1ª y 3ª libertad, para realizar cambios y publicar versiones mejoradas, tengan sentido; debe tener acceso al código fuente del programa. Por consiguiente, el acceso al código fuente es una condición necesaria para el software libre. El "código fuente" ofuscado no es código fuente real, y no cuenta como código fuente. (Entiéndase por código
  • 17. José Daniel Muccela - 17 - fuente ofuscado el hecho de escribir el código en forma ininteligible ocultando de esta manera su funcionalidad) La 1ª libertad incluye la libertad de usar su versión modificada en lugar de la original. Si el programa se entrega con un producto diseñado para ejecutar versiones modificadas de terceros, pero rechaza ejecutar las suyas, una práctica conocida como “tivoization” o “arranque seguro” (mediante listas negras); la 1ª libertad se convierte más en una ficción teórica que en una libertad práctica. Esto no es suficiente. En otras palabras, estos binarios no son software libre, incluso si se compilaron desde un código fuente que es libre. Una manera importante de modificar un programa es fusionando subrutinas y módulos libres disponibles. Si la licencia del programa dice que no puede fusionar un módulo existente con una debida licencia, así como si le requiere ser el titular de los derechos de autor de lo que agregue, entonces la licencia es demasiado restrictiva para calificarla como libre. La 3ª libertad incluye la libertad de liberar sus versiones modificadas como software libre. Una licencia también puede permitir otras formas de relicenciarlas, en otras palabras, no tiene que ser una licencia de copyleft. No obstante, una licencia que requiera que las versiones modificadas no sean libres, no se puede considerar como una licencia libre. Para que estas libertades puedan ser reales, deben ser irrevocables siempre que uno no cometa ninguna equivocación; si el programador del software tiene el poder de revocar la licencia, o de cambiar retroactivamente sus términos, sin que uno se haya equivocado para justificarlo, el software no es libre. Sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre son aceptables, cuando no entran en conflicto con las libertades principales. Por ejemplo, el copyleft (definido de manera muy resumida) es la regla en base a la cual, cuando redistribuye el programa, no puede agregar restricciones para denegar a las demás personas las libertades principales. Esta regla no entra en conflicto con las libertades principales; más bien las protege. La expresión "Software libre" no significa "que no sea comercial". Un programa libre debe estar disponible para el uso comercial, la programación comercial y la distribución comercial. La programación comercial de software libre ya no es práctica poco conocida; tal software libre comercial es muy importante. Puede haber pagado dinero para obtener copias de software libre, o puede haber obtenido copias sin costo. Pero sin tener en cuenta cómo obtuvo sus copias, siempre tiene la libertad de copiar y modificar el software, incluso de vender copias. Si una modificación constituye una mejora, es un asunto subjetivo. Si sus modificaciones se limitan, en esencia, a los cambios que otra persona considera una mejora, eso no se trata de libertad. El movimiento del software libre fue creado por Richard Stallman y otros entusiastas. Richard Matthew Stallman (nació en Manhattan, Nueva York, el 16 de marzo de 1953), con frecuencia abreviado como "rms", es un programador estadounidense y figura relevante del movimiento por el software libre en el mundo. También es creador de la Free Software Foundation (Fundación para el software libre), una organización creada en octubre de 1985 con el propósito de difundir este movimiento. 3.2 Software propietario Contrario a lo que sucede con el software libre aparece el concepto de software propietario. El software propietario es cualquier programa que no cumple los criterios de la Fundación para el Software Libre. Propietario significa que alguna compañía o individuo retiene el derecho de autor exclusivo sobre una pieza de programación, al mismo tiempo que niega a otras personas el acceso al código fuente del programa y el derecho a copiarlo, modificarlo o estudiarlo.
  • 18. José Daniel Muccela - 18 - El término “propietario” se refiere a que está “poseído y controlado privadamente”[6]. No obstante, el programa puede seguir siendo propietario aunque su código fuente se haya hecho público, si es que se mantienen restricciones sobre su uso, distribución o modificación. Por otro lado, el programa se puede considerar no-proprietario, una vez que se haya lanzado con una licencia que permita a otros crear versiones del software modificadas independientemente, sin restricciones onerosas, aun cuando los derechos de autor puedan permanecer en manos de un individuo en particular. Al menos en teoría, se ha cedido el control. 3.3 Software libre versus software propietario. Ahora bien, nos planteemos el siguiente interrogante: ¿software libre o software propietario? La respuesta más probable tal vez gire en torno a las ventajas y desventajas derivadas del uso de uno u otro tipo de software. El software libre posee una serie de ventajas sobre el software propietario más que nada por los derechos que les proporciona a sus usuarios. Partes de estas ventajas son más valoradas que otras según la figura de quien se trate, a saber: • usuarios particulares, • empresas y • la administración pública. A continuación se explican las ventajas y desventajas de cada tipo de software: 3.3.1 Ventajas del Software Libre # Ventaja 1 Libre utilización y bajo costo de adquisición: Lo que el usuario adquiere, a través de una erogación monetaria o sin ella, es una licencia respecto de los usos que puede dar a los programas. El software no solo cuesta un precio de adquisición de licencia sino también mantenerlo, operarlo y ajustarlo a los requerimientos. El usuario que adquiere software libre lo hace sin ninguna erogación monetaria o a muy bajo costo y ofrece un conjunto de recursos muy amplios. 2 Innovación permanente: El software libre, tiene como objetivo principal compartir la información, trabajando de manera cooperativa. Aquí aparece la ideología de los defensores del software libre, que enuncia que el conocimiento le pertenece a la humanidad, sin hacer distinciones. Por lo tanto, los usuarios tienen un importante papel al influir de manera decisiva sobre el rumbo que toman los programas ya sea apuntando los errores que quieren que sean corregidos, proponiendo nuevas funcionalidades al programa, o contribuyendo ellos mismos en el desarrollo del software. 3 Menores requisitos de hardware y soluciones mas durables: Existen casos documentados que dan muestra que las soluciones de software libre tienen menores requisitos de hardware, y por lo tanto son mas baratas de implementar. A manera de ejemplo podemos citar el caso del sistema operativo Linux. Si implementamos este sistema como servidor, puede llegar a ser utilizado sin la interfaz grafica, lo que da como resultado el ahorro respecto de un requisito de hardware. 4 Decisiones de la comunidad: El modelo que se sigue en el desarrollo de software libre es un método a través de
  • 19. José Daniel Muccela - 19 - la cual trabajan de forma cooperativa los programadores que en gran parte son voluntarios y trabajan coordinadamente en Internet. El código fuente de un programa en cuestión esta a la vista de todo el mundo, y son frecuentes los casos en que se reportan errores que alguien ha descubierto leyendo o trabajando con ese código. El proceso de revisión publica al que esta sometido el desarrollo del software libre proporciona un gran dinamismo al proceso de corrección de errores. Los usuarios del programa de todo el mundo, gracias a que disponen del código fuente de dicho programa, pueden detectar sus posibles errores, corregirlos y contribuir a su desarrollo con sus mejoras. Con el software propietario la solución de los errores no llega hasta que el fabricante del programa puede asignar los recursos necesarios para solventar el problema y publicar la solución. 5 No depender de un proveedor: El software libre garantiza una independencia con respecto al proveedor gracias a la disponibilidad del código fuente. Cualquier empresa o profesional, con los conocimientos adecuados, puede seguir ofreciendo desarrollo o servicios para nuestra aplicación. En el mundo del software propietario, solo el desarrollador de la aplicación puede ofrecer todos los servicios, con el software libre, como su denominación lo indica, su uso es libre: todo aquel que lo tiene en su poder puede usarlo cuantas veces quiera, en cuantas maquinas quiera, a los fines que quiera. Uno de los grandes problemas en la industria del software propietario es la dependencia que se crea entre el fabricante y el cliente. 6 Favorecer a la industria local: Si el usuario esta habilitado para ejecutar un programa, pero no para inspeccionarlo ni modificarlo, entonces no puede aprender de el, se vuelve dependiente de una tecnología que no solo no comprende sino que le esta expresamente vedada. Los profesionales que tiene a su alrededor, que podrían ayudarlo a cumplir sus metas, están igualmente limitados: como el funcionamiento del programa es secreto, y su inspección esta prohibida, no es posible arreglarlo. Por este motivo es importante comenzar a utilizar software libre en todos los niveles (ya sea, usuarios particulares, empresas locales, instituciones públicas) y en los casos en que ya se este utilizando no descontinuar su uso. De este modo, se contribuye a la formación de profesionales en nuevas tecnologías y al desarrollo local. 7 Software que se puede adaptar: El software propietario habitualmente se vende en forma de paquete cerrado, que muchas veces no se adapta a las necesidades específicas de empresas y administraciones públicas y privadas. Una gran parte de la industria del software se basa en desarrollar proyectos donde se requiere software personalizado o "a medida". El software libre da la posibilidad, gracias a que disponemos del código fuente, personalizar los programas tanto como sea necesario hasta que cubran exactamente la necesidad requerida. La personalización es un área muy importante en que el software libre puede responder mucho mejor que el software de propiedad a unos costos mucho mas razonables. 8 Sectores de bajos recursos: Los sectores de bajo recurso pueden ver incrementadas sus posibilidades de acceder al software libre al no incurrir en costos de adquisición. 9 El Estado y el software: El Estado esta en una posición particularmente estratégica para beneficiarse con las ventajas del software libre, y también para contribuir a su desarrollo. Si para el sector privado adquirir software libre puede resultar conveniente, se puede deducir que para el Estado esto se debe volver una necesidad.
  • 20. José Daniel Muccela - 20 - 3.3.2 Desventajas del Software Libre # Desventaja 1 Es mayor la curva de aprendizaje: Es mayor el tiempo y esfuerzo para aprender a utilizar software libre sobre el software propietario. Esto se da principalmente porque el usuario alguna vez utilizó software propietario. 2 El software libre no tiene garantía proveniente del autor o comunidad que desarrolló el programa. 3 Los contratos de software propietario no se hacen responsables por daños económicos, y de otros tipos por el uso de sus programas: El software libre se adquiere o se vende “AS IS” (tal cual) sin garantías explicitas del fabricante, sin embargo, puede haber garantías específicas para situaciones muy específicas. 4 Se necesita dedicar recursos a la reparación de errores: Sin embargo en el software propietario es imposible reparar errores, hay que esperar a que saquen a la venta otra versión. Con lo que se cae en la dependencia nuevamente. 5 No existen compañías únicas que respalden toda la tecnología. 6 Las interfaces gráficas de usuario (GUI) y la multimedia continúan en proceso de estabilización: Sin embargo hay un número cada vez mayor de usuarios que aseguran que las interfaces gráficas más populares en el software libre (KDE, GNOME y el manejador de ventanas WindowMaker) son ya lo suficientemente estables para el uso cotidiano y lo suficientemente amigables para los neófitos de la informática. 7 La mayor parte de la configuración de hardware no es intuitiva: Es necesario poseer conocimientos previos acerca del funcionamiento del sistema operativo y fundamentos del equipo a conectar para lograr un funcionamiento adecuado. 8 Sólo los proyectos importantes y de trayectoria tienen buen soporte, tanto de los desarrolladores como de los usuarios. 9 El usuario debe tener nociones de programación: Sin embargo, existen en la actualidad muchas herramientas visuales que permiten al usuario que no posee demasiado conocimiento técnico llevar a cabo tareas de configuración del sistema de una manera gráfica muy sencilla.
  • 21. José Daniel Muccela - 21 - 3.3.3 Ventajas del Software propietario # Ventaja 1 Control de calidad establecido: Las compañías que desarrollan software propietario comúnmente poseen departamentos que se encargan del control de calidad de dicho software. 2 Aporte de recursos a la investigación: Una parte importante de los recursos se utilizan para la investigación sobre los usos del producto. 3 Poseen personal altamente capacitado. 4 Uso generalizado por parte de los usuarios: Cuando el software propietario es de una marca conocida es usado por muchas personas. 5 Existe software para aplicaciones muy especificas: Se encuentra software propietario destinado para aplicaciones muy específicas. Es difícil encontrar software similar además del que produce una compañía. 6 Las empresas ofrecen planes de uso a las universidades: En ocasiones las empresas fabricantes de software ofrecen a las universidades planes educativos con importantes descuentos por la adquisición y uso de sus productos. 7 Gran difusión de publicaciones acerca del uso del software: Existe gran cantidad de publicaciones, que dan la posibilidad de facilitar el uso de las tecnologías provistas por las empresas de software propietario. Cabe destacar en este punto que la cantidad de publicaciones que apuntan al software libre va en aumento. 3.3.4 Desventajas del Software propietario # Desventaja 1 Aprendizaje costoso: En muchas ocasiones resulta difícil aprender a usar el software propietario sin haber incurrido en costos por cursos de capacitación sobre el software en cuestión. 2 El secreto del código fuente: La empresa que desarrolla el software propietario guarda celosamente el secreto de funcionamiento del mismo. Los inconvenientes derivados de esta situación se deben a que en ocasiones resulta riesgosa la utilización del software ya que es como una caja negra, por lo cual se desconoce su funcionamiento y cuyos resultados no se pueden predecir. Además es casi imposible encontrar las razones de un resultado no deseado o erróneo, justamente porque es producido por un componente del software cuyo funcionamiento se desconoce. 3 El soporte técnico es ineficiente: En general el soporte técnico no cubre las expectativas de los usuarios o bien lleva demasiado tiempo encontrar una respuesta satisfactoria. 4 En el caso de haber necesidades particulares resulta ilegal o costosa la adaptación de un modulo del software propietario: Si una empresa que utiliza el software tiene necesidades particulares y es de vital importancia incluir la modificación al sistema original, es necesario pagar una elevada suma de dinero a la compañía desarrolladora del software, para que sea esta quien lleve a cabo la modificación a su propio ritmo de trabajo y sujeto a su propio calendario de proyectos.
  • 22. José Daniel Muccela - 22 - 5 La compañía desarrolladora del software posee el derecho exclusivo de innovación: Si a alguien se le ocurre una idea innovadora respecto a una aplicación propietaria, este tiene que optar entre escribir desde cero su propia versión de una aplicación equivalente o venderle la idea a la compañía propietaria de la aplicación. 6 Las copias son ilegales si no se poseen las licencias para tal efecto: No se permite hacer copias del software propietario si no se contratan antes, las licencias necesarias para ello. 7 No se permite compartir: Supongamos que una dependencia de gobierno tiene un sistema de tecnología propietaria funcionando de manera exitosa, esta no lo puede compartir con otras dependencias a menos que cada una de ellas contrate la cantidad de licencias necesarias. 8 Peligro de quedar sin soporte técnico: En caso que la compañía que desarrolló el software propietario quiebre, el soporte técnico por consiguiente desaparece, además de desaparecer la posibilidad de tener versiones mejoradas de dicho software. Los clientes que contrataron licencias para utilizar ese software quedan abandonados sin soporte alguno. 9 Descontinuación de una línea de software: Si llegara a ocurrir que una compañía desarrolladora de software es adquirida por otra mas grande, es probable que esa línea de software no se siga produciendo además de no volver a tener una modificación futura. 10 Dependencia respecto de los proveedores: En general, tanto el gobierno como las entidades privadas, se hacen dependientes de un solo proveedor. 11 Imposibilidad de crecimiento de la industria nacional respecto del desarrollo de software: Comparado con las industrias extranjeras, la industria local ve anulada su posibilidad de desarrollo en este ámbito ya que por lo general las aplicaciones de consumo masivo se desarrollan en otros países. 12 Requisitos de hardware: En el software propietario, el autor puede decidir en un momento dado no continuar el proyecto para una cierta plataforma, para un hardware que considera antiguo, o descontinuar el soporte para una versión de su software. De la investigación surge que una de las regiones en el mundo que en la actualidad aprovechan y estimulan el software libre es Latinoamérica, en donde los elevados precios del software comercial convencional alcanza precios muy elevados. Países como Argentina, Chile, Ecuador, México, Venezuela, República Dominicana, Brasil y Cuba, encuentran el apoyo de sus administraciones públicas para la migración de sus servidores y servicios a software libre. Actualmente se están reportando cada vez más casos de control a las empresas respecto del uso del software. Tales controles son ordenados por la justicia a pedido de la empresa propietaria del software que sospecha del uso ilegal de sus productos. Según el último estudio de IDC, el 71% del software en Argentina es ilegal. En el contexto latinoamericano, la Argentina se encuentra entre los 10 países con mayor nivel de piratería. También en el 2009, por orden de la justicia civil, fueron ordenadas 136 diligencias probatorias destinadas a constatar el posible uso de software ilegal en las instalaciones informáticas de importantes empresas del rubro pesquero, de cereales, del turismo, agropecuario, inmobiliario, de la construcción, financiero, de corredores de cereales y de autopartes, ubicadas en Capital Federal, el gran Buenos Aires y en las ciudades de Córdoba, Mendoza, Mar del Plata, Buenos Aires, Santa Fe, Tres arroyos, Bariloche, Tucumán, Salta, Neuquén, y Rosario entre muchas otras. A nivel regional América Latina es la tercera región con mayor índice de piratería (63%) del mundo.
  • 23. José Daniel Muccela - 23 - Como contraposición veamos el siguiente gráfico donde se muestra el impacto del software libre (u open source) a nivel mundial. 3.4 Modelos de software libre y no libre Se puede decir que los antecedentes del software libre datan alrededor de los años 60”s y 70′s, cuando era común el intercambio de software entre programadores y desarrolladores. Luego, al pasar de los años y a medida que la informática empezó a cobrar más relevancia, las compañías fabricantes de computadoras obligaron al usuario a aceptar sus sistemas operativos privativos (aún cuando estos presentaban algunos fallos). Esta es una de las principales causas que motivaron la aparición de diferentes tipos de software. Sumado esto a la creación del movimiento del software libre a través de Richard Stallman, como se mencionó anteriormente. Observemos a continuación las categorías de software libre y no libre y una explicación de cada una de ellas: • Software libre • Código abierto (Open source) • Software de dominio público • Software protegido con copyleft • Software libre no protegido con copyleft • Software cubierto por la GPL • Software no libre • Software semilibre • Software privativo • Shareware • Freeware • Software privado (a medida) • Software comercial
  • 24. José Daniel Muccela - 24 - En esta categorización se puede ubicar la totalidad de tipos de software existentes en el mundo excepto situaciones particulares. A continuación se describe cada una de ellas: • Software libre Como se mencionó anteriormente, el software libre es software con autorización para que cualquier individuo o empresa pueda usarlo, copiarlo y distribuirlo, ya sea con o sin modificaciones, de manera gratuita o por medio de una retribución. Cabe aclarar que en particular, esto significa que el código fuente debe estar disponible. • Software de código abierto (Open source) Es común utilizar la expresión software de código abierto para hacer referencia, más o menos, a la misma categoría a la que pertenece el software libre. Pero, no son exactamente el mismo tipo de software: en el primer tipo existen algunas licencias que se consideran demasiado restrictivas, y hay licencias de software libre que los partidarios del “open source” no han aceptado. Aún así, las diferencias entre lo que implican ambas categorías son pocas: casi todo el software libre es de código abierto, y casi todo el software de código abierto es libre. Es recomendable usar la expresión “software libre” porque se refiere a libertad; se debe hacer la salvedad porque la expresión “código abierto” no lo hace. • Software de dominio público Este software es el que no está protegido por derechos de autor. Viene a ser un caso especial de software libre no protegido con copyleft, lo que hace alusión a que algunas copias o versiones modificadas del software original (o el que se tome como punto de partida) pueden no ser completamente libres. Hay casos en que un programa ejecutable puede ser de dominio público sin que su código fuente esté disponible para el público. Este software no cae en la categoría de software libre, ya que para que lo sea es preciso que se pueda acceder al código fuente. Por lo mencionado en los párrafos anteriores, es necesario mencionar que la mayor parte del software libre no es software de dominio público; ya está protegido por derechos de autor, y son estos los que ofrecen el permiso “legal” para que cualquiera lo emplee en forma libre haciendo uso de una licencia de software libre. • Software protegido con copyleft El software que está protegido con copyleft es un tipo de software libre en cuyos términos de distribución se asegura que todas las copias de todas las versiones del mismo, son software libre. Si un tercero desea agregar un requisito adicional sólo deben estar orientados a aumentar la protección del software) y exige de igual manera que el código fuente agregado sea público. • Software libre no protegido con copyleft Esta categoría incluye la autorización del autor para redistribuir y modificar el software, así como el permiso para añadirle restricciones adicionales. Que un programa sea libre pero no esté protegido con copyleft, significa que algunas copias o versiones modificadas del mismo pueden no ser completamente libres. Un individuo o empresa de software podría compilar el programa, con o sin modificaciones, y distribuir el archivo ejecutable como un producto de software privativo (o propietario).
  • 25. José Daniel Muccela - 25 - • Software cubierto por la GPL La GPL (General Public License/Licencia Pública General) de GNU es un conjunto específico de términos de distribución empleados para proteger un programa con copyleft. • Software no libre En este tipo recae cualquier software que no es libre. Esto incluye al software semilibre y el software privativo. • Software semilibre En esta categoría aparece el software que no es libre, pero con la característica que incluye una autorización para que los particulares o empresas hagan uso de el, lo copien, lo distribuyan y lo modifiquen (incluyendo la distribución de versiones modificadas) con la condición que sea sin propósitos lucrativos. • Software privativo Se mencionó con más detalle esta definición en el apartado que describe al software propietario. El software privativo es software que no es libre ni semilibre. Su uso, redistribución o modificación están prohibidos, requieren que solicite una autorización, o está tan restringido que de hecho no puede hacerlo libremente. • Freeware El término freeware es usado en forma general para hacer referencia a software que se puede distribuir pero no modificar (y por ende el código fuente no está disponible). Este software no es libre. Por consiguiente, se recomienda no utilizar el término freeware para referirse al software libre. • Shareware Este tipo de software es el que permite redistribuir copias del mismo, pero que por cada copia utilizada, el usuario debe abonar un cargo por cada licencia. Este software no es software libre, ni aún semilibre. Esto se debe a dos motivos: • No se permite realizar una copia de shareware e instalarla sin incurrir en un cargo por la licencia correspondiente. • En la mayor parte del software tipo shareware, el código fuente no está disponible; por ende, un particular o empresa no puede modificar el programa bajo ninguna forma. • Software privado El software privado, o como se conoce normalmente “software a medida”, es aquel que se desarrolla para un usuario (generalmente una organización o una compañía). El usuario lo tiene en su poder y lo utiliza, y no lo libera al público ni en forma de código fuente ni como binario. • Software comercial Este tipo de software es aquel que desarrolla una empresa que pretende obtener dinero a partir de su utilización. Cabe aclarar que “Comercial” y “Privativo” no es lo mismo.
  • 26. José Daniel Muccela - 26 - La mayor parte del software comercial es privativo, pero hay software libre comercial, y hay software no libre no comercial. 3.5 Licencias. Licencias del software libre Primeramente diremos que una licencia de software es un contrato que vincula al licenciante (llámese autor o titular de los derechos de explotación o distribución) y al licenciatario del programa informático (llámese usuario consumidor o usuario profesional o empresa), para utilizar el software cumpliendo una serie de términos y condiciones establecidas dentro de las cláusulas del mismo. Particularmente una licencia de software libre contiene características distintivas respecto del software no libre. En el modelo de licenciamiento libre, se confiere al cliente el derecho al uso irrestricto del programa (sin limitar, por ejemplo, la cantidad de computadoras en las que lo ejecutará ni la cantidad de usuarios del programa), como así también la facultad de inspeccionar sus mecanismos y realizar las modificaciones que considere pertinentes para adaptarlo a sus necesidades. Las licencias se clasifican según ciertas cuestiones claves, a saber: • Si puede ser considerada una licencia de software libre. • Si es una licencia de tipo copyleft. • Si es compatible con la GNU GPL (esto significa que se puede combinar un módulo que fue distribuido bajo esa licencia con otro cubierto por la GPL para hacer un programa más grande). • Si causa cualquier otro problema particular. En el sitio Web de la GNU se puede consultar cualquier cuestión referente a las licencias a través del sitio http://www.gnu.org/licenses/license-list.es.html o escribiendo un correo electrónico a licensing@gnu.org para recibir soporte. Debido a la inmensa cantidad de licencias proliferantes en el mundo del software libre, vamos a exponer a continuación las más importantes. 3.5.1 Licencias para software 3.5.1.1 Licencias de software libre compatibles con la GPL Hay licencias calificadas como libres que no son para nada compatibles con la GPL. Esto complica la reutilización de código; por este motivo se motiva a los desarrolladores de software libre a licenciar su código bajo GPL o licencias compatibles con la GPL, pudiendo por consiguiente aprovechar las ventajas derivadas. Las más conocidas son: • La Licencia Pública General de GNU, o GNU GPL de manera abreviada: Es una licencia de software libre, y de tipo copyleft. • La Licencia Pública General Reducida de GNU, o GNU LGPL de manera abreviada: Esta es una licencia de software libre, pero no tiene un copyleft fuerte, porque permite que el software se enlace con módulos que no son libres.
  • 27. José Daniel Muccela - 27 - • La licencia de Guile: Consiste en la GNU GPL, agregándole además una declaración especial que permite enlazar con software no libre. Por tanto no tiene un copyleft fuerte, pero es compatible con la GNU GPL. • El dominio público: Aquí hay ausencia de una licencia. Esto es debido a que el contenido en cuestión no está protegido y no necesita licencia. En los casos llevados a la práctica, si un trabajo está en el dominio público, es como si tuviera una licencia de software libre totalmente permisiva y sin copyleft. Sin embargo es compatible con la GNU GPL. 3.5.1.2 Licencias de software libre incompatibles con la GPL Contrario al caso anterior hay licencias que no son compatibles con la enunciada por la GPL. Estas son licencias de software libre pero no son compatibles con la GNU GPL. En este subgrupo se pueden mencionar: • La Licencia Pública General de Affero: Esta es una licencia de software libre, de tipo copyleft, pero no es compatible con la GNU GPL. • La Licencia Pública Arphic: Es una licencia de software libre de tipo copyleft, pero no es compatible con la GNU GPL. Su uso habitual es para fuentes tipográficas, y para ese fin, la incompatibilidad no constituye un problema. • La licencia BSD original: Esta licencia de software libre es simple y permisiva sin copyleft pero con un grave defecto: la cláusula publicitaria de BSD. El defecto no es definitivo ya que el software sigue siendo libre, pero provoca problemas, en particular, incompatibilidad con la GNU GPL. • La Licencia de Software Abierto, versión 1.0: Esta es una licencia de software libre. Sus autores dicen que se trata de una licencia de tipo copyleft, pero se encuentran dificultades para determinar si las garantías de copyleft que se indican en las cláusulas son válidas. Es incompatible con la GNU GPL en varios aspectos. • La Licencia Pública de Mozilla (MPL): Es una licencia de software libre, pero no tiene un copyleft fuerte. Tiene algunas restricciones complejas que la hacen incompatible con la GNU GPL. • La licencia FreeType: Es una licencia de software libre sin copyleft, incompatible con la GNU GPL por razones técnicas. 3.5.1.3 Licencias de software no libre Estas licencias no pueden ser consideradas licencias de software libre ya son licencias automáticamente incompatibles con la GNU GPL. Como ocurre con el software libre, la cantidad de este tipo de licencias es enorme porque cada compañía de software privativo tiene las suyas propias. Entre las más comunes encontramos:
  • 28. José Daniel Muccela - 28 - • La Licencia Artística (Original): Esta licencia es poco clara en sus cláusulas; algunos pasajes de ella son demasiado ingeniosos para su propio bien. Los problemas son debidos a la redacción, no a lo substancial. Sin embargo hay una versión revisada de la licencia artística ("La Licencia Artística 2.0") que es una licencia de software libre, compatible con la GNU GPL. • La Licencia Pública Abierta: El problema de esta licencia es que requiere que se envíe toda versión modificada que se publique a un desarrollador inicial específico. También hay problemas en cuanto a la claridad de sus cláusulas lo que puede llevar a malentenderlas. • La Licencia de Código Fuente Compartido de Microsoft: Esta licencia no permite la distribución comercial, y sólo posibilita el uso comercial bajo ciertas circunstancias. • La Licencia de Código Fuente de Sun Solaris, versión 1.1 No es una licencia de software libre ya que prohíbe la redistribución, el uso comercial y puede ser revocada. 3.5.2 Licencias para documentación 3.5.2.1 Licencias de documentación libre (FDL/Free Documentation License) Tal vez el mayor problema de los sistemas operativos libres y software libre en general no es el software en si, sino la falta de buenos manuales libres que podamos incluir en estos sistemas. Gran parte de los programas más importantes no vienen con manuales completos. Cuando un software libre no viene con un manual libre, produce un vacío importante. Aún en la actualidad existen muchos de estos vacíos. Tal como ocurre con el software libre, la documentación libre es un asunto de libertad y no de precio. El criterio que se aplica para un manual libre es el mismo que para el software libre: se trata de dar a todos los usuarios ciertas libertades. La redistribución (incluida la redistribución comercial) debe permitirse, de forma que el manual pueda acompañar a cada copia del programa, en línea (a través de un sitio Web) o en papel. El permiso para modificar la documentación también es crucial. • La Licencia de Documentación Libre de GNU (GNU FDL): Esta licencia se creó pensando en el uso de documentación libre con copyleft. También se puede aplicar a otro tipo de obras útiles (como libros de texto y diccionarios por citar ejemplos). Su aplicabilidad no se limita a los trabajos textuales (libros) sino que se extiende a otras obras. • La Licencia de Documentación de FreeBSD: Esta es una licencia de documentación libre simple y permisiva sin copyleft, pero compatible con la GNU FDL. • La Licencia de Publicación Abierta, versión 1.0: Esta licencia puede utilizarse como una licencia de documentación libre. Posee copyleft de documentación libre siempre y cuando el propietario de los derechos de autor no ejerza ninguna de las opciones listadas en una sección de la licencia en la que de aceptarse, la licencia deja de ser libre.
  • 29. José Daniel Muccela - 29 - 3.5.2.2 Licencias de documentación no libre Son aquellas que ponen restricciones para cobrar dinero por las copias y porque en algunos casos descontinúan versiones de documentaciones. Estas licencias no pueden calificarse como licencias de documentación libre. • La Licencia de Contenido Abierto, versión 1.0: Esta licencia no es libre, porque pone restricciones para cobrar dinero por las copias. Se debe tener cuidado para no confundir esta licencia con la Licencia de Publicación Abierta. • La Licencia de Directorio Abierto (también conocida como Licencia dmoz.org): Esta no es una licencia de documentación libre. Los principales problemas son que su derecho para redistribuir una versión dada no es permanente y que exige al usuario que siga revisando ese sitio, lo que es demasiado restrictivo para su libertad. 3.5.3 Licencias para trabajos aparte del software y la documentación En este tipo se encuentran todas aquellas obras que no siendo software o documentación relativa al software, también se pueden licenciar. Por ejemplo: • La Licencia Pública General de GNU: La GNU GPL puede utilizarse para datos generales que no sean software, siendo importante poder identificar algo equivalente a la noción de código fuente, es decir adaptar la licencia al tipo de la obra que se desea licenciar. • La Licencia de Documentación Libre de GNU: La FDL de GNU se recomienda para los libros de texto y los materiales didácticos para todos los asuntos (el término documentación significa simplemente los libros de texto y otros materiales didácticos para usar el equipo o el software). También se puede utilizar la FDL de GNU para los diccionarios, las enciclopedias, y cualquier otro trabajo que proporcione información para uso práctico. • La Licencia de la Ciencia del Diseño (DSL): Esta es una licencia libre y con copyleft apropiada para los datos generales. Es incompatible con la GNU GPL y con la FDL de GNU; sin embargo, se aplica sin inconvenientes para otras clases de datos. • La Licencia Libre del Arte: Se trata de una licencia libre y con copyleft apropiada para trabajos artísticos. Posibilita la distribución comercial, con la condición de que cualquier trabajo más grande que incluya el trabajo licenciado debe ser libre. 3.6 Evolución. El futuro del software libre. El software libre tiene cada vez más adeptos. La gente siente curiosidad por el movimiento del software libre. Lo típico es encontrar a quien se sentó frente a una computadora con conexión a Internet con la intención de buscar información básica acerca del software libre y al final termina en sitios de Internet que ofrecen cientos y hasta miles de programas de uso libre. Esto seduce al individuo, que luego busca el software libre equivalente al software propietario del cual hace uso frecuente. Y muchas veces termina utilizándolo y reemplazándolo.
  • 30. José Daniel Muccela - 30 - Alrededor del mundo hay gran diversidad de grupos de usuarios de software libre que aportan sus ideas, críticas, mejoras y cualquier tipo de ayuda conducente a acrecentar el uso del software libre. En la República Argentina las organizaciones más conocidas de este tipo son: • Software Libre Argentina. Sitio Web: http://www.solar.org.ar/ • Usuarios de Software Libre Argentina. Sitio Web: http://drupal.usla.org.ar/ • Grupo de Usuarios de Software Libre de Tucumán (LUG Tucumán). Sitio Web: http://www.lugtucuman.org.ar/index.php 3.7 PYMES y el software libre. Cada vez es más frecuente encontrar en varios países del mundo, la aparición de aplicaciones “a medida” que se distribuyen bajo licencias libres. Tradicionalmente, cuando una PYME requiere el desarrollo de un sistema de gestión contrata los servicios de una empresa o programador particular. Lo que el cliente adquiere es un programa ejecutable (también denominado binario) y la autorización de ejecutarlo en un número determinado de computadoras, siempre dentro del ámbito de la misma empresa. En las PYMES se puede emplear y es altamente recomendable hacerlo, el uso de software libre por las siguientes razones: • El beneficio económico en términos de ahorro, por no incurrir en gastos de adquisición del software y el uso derivado del mismo. • Por ser la empresa que adquiere el software libre, la que posee los derechos de uso del mismo. • Por ser la empresa la que posee el código fuente del software, dando la posibilidad de modificarlo en cualquier momento y sin restricciones, según las necesidades que surjan del negocio. • La empresa puede contratar al programador o desarrollador de su confianza para que modifique total o parcialmente el software adquirido (con su correspondiente código fuente) según sus necesidades. • Se beneficia por ser poseedora de un software que puede mejorarse permanentemente gracias a que existen comunidades de usuarios en todo el mundo que aportan nuevas ideas y mejoras al mismo. • Promueve el desarrollo de las empresas locales de software (o particulares) e incluso el desarrollo y un aprendizaje cada vez más profundo dentro de su propia organización. Volviendo el foco de atención a las empresas PYME de servicios de recursos humanos, y como se mencionó en el capítulo 1, existen diversos factores que las empresas evalúan a la hora de pensar implementar un software. Los factores mencionados se cumplen en su totalidad a favor de la empresa cuando se hace uso del software libre. A continuación se justifica el cumplimiento de cada uno de esos factores:
  • 31. José Daniel Muccela - 31 - Factor Justificación • Costos iniciales y costos anuales de mantenimiento. Puede llegar a ocurrir que la empresa incurra en un costo al adquirir el software pero luego su mantenimiento será menor (respecto a costos) si contrata a un desarrollador, o nulo si un empleado de la empresa realiza el mantenimiento. • Coincidencia entre los paquetes de software y la plantilla de empleados. Si se realiza un correcto proceso de construcción o desarrollo del software (con su correspondiente base de datos) este factor se cumple. • Posibilidad de actualizarlo. Como sucede con otros tipos de software, el software libre también dispone de actualizaciones. • Mayor eficacia y ahorro de tiempo. El sólo hecho de convertir el proceso manual de trabajo a automatizado implica un ahorro de tiempo y eficacia del proceso de negocio. Este punto está vinculado con la capacidad del usuario de usar el sistema, lo que requiere de capacitación lo cual es posible porque quien ofrece el software puede ofrecer un plan de capacitación. • Compatibilidad con sistemas actuales. Existe cada vez más cercanía entre los distintos tipos de software gracias al uso de complementos y otros recursos informáticos que permiten la compatibilidad entre sistemas. Gran parte del software libre busca adaptarse a los sistemas actuales. • Facilidad de uso. Gracias a las mejoras en las interfaces gráficas de los programas (o software) es posible otorgarle al usuario mayor facilidad de uso de ellos. Cuando esto no fuera posible se solicita al desarrollador que modifique el software para incrementar la facilidad de uso. Esto es posible porque la empresa además del software posee el código fuente del mismo. • Disponibilidad de apoyo técnico. Si la empresa adquirió o solicitó el desarrollo del software a un particular o grupo de desarrolladores, estos pueden ofrecerle mediante algún contrato el apoyo técnico necesario hasta que la empresa lo solicite. Además cuenta con las comunidades de software libre en todo el mundo, las cuales pueden aportarle la mayoría de las veces el apoyo técnico que solicita. • Necesidad de adaptación. Esto es posible gracias a que la empresa al disponer del código fuente del software puede contratar al desarrollador de su confianza o grupo de desarrolladores para que adapten el software a las necesidades del negocio. • Tiempo requerido para su implantación. Comparando con la implementación de un software propietario, los tiempos no varían. Además, esto depende de la dificultad del software a construir y de la urgencia de la empresa por utilizarlo. • Tiempo de capacitación requerido para recursos humanos y nómina de empleados. El tiempo de capacitación depende del software que se está por implementar. Cabe aclarar que un empleado que ya recibió capacitación, está en condiciones de capacitar a los demás dentro de su ámbito de trabajo.
  • 32. José Daniel Muccela - 32 - DESARROLLO
  • 33. José Daniel Muccela - 33 - CAPITULO 4 – Caso de Estudio Enunciado los contenidos que sustentan el marco teórico del proyecto volvamos a la idea principal: Ingeniería en Sistemas y Software Libre al servicio de las PYMES. 4.1 Selección de Metodologías de Trabajo Para llevar a cabo el proyecto se emplearon diversas técnicas según las necesidades requeridas por el tópico en cuestión. Para recavar datos se utilizó como herramienta la entrevista. La misma se formulo en base al propósito que se perseguía, es decir: • Para obtener información referente a la carrera de ingeniería en sistemas de información. • Para capturar las necesidades de información de las empresas PYMES de servicios de recursos humanos. • Para obtener información referente al software libre y sus aplicaciones. Para la recopilación de información general se procedió a lecturas a partir de bibliografías específicas, artículos, diarios, revistas y documentos electrónicos de la Web. Para desarrollar el análisis y el diseño del sistema se empleó la metodología UML con su correspondiente notación. 4.2 Alternativas de solución ¿Qué camino vamos a seguir para resolver el problema planteado? Se proponen dos situaciones: CASO 1: Podemos optar por un lado, contratar los servicios de una empresa desarrolladora de software o bien, a un desarrollador en particular. Y supongamos que ambos hacen uso de software privativo para construir sus sistemas. CASO 2: La otra situación sería contratar los servicios de una empresa o particular, pero a diferencia del caso anterior, estos se valen del uso del software libre para el desarrollo de sus sistemas. Supongamos entonces que una empresa (o desarrollador particular) opta por realizar el sistema requerido. Esta le presenta a su eventual cliente un plan de trabajo a seguir en el mejor de los casos, especificándole los costos por dicho trabajo, además del tiempo necesario. Al final del periodo pautado la empresa le entrega el sistema funcionando y listo para su uso. El cliente, la PYME en cuestión, comienza a hacer uso efectivo del mismo sin mayores inconvenientes hasta que comienzan a surgir problemas con la actualización del sistema operativo de base (supongamos Microsoft© Windows XP Proffessional) y por ende problemas con la aplicación de su empresa. Si consideramos además que el cliente necesita la licencia del sistema operativo mas los paquetes de software necesarios para la computadora donde se pondrá en funcionamiento la aplicación, además de incurrir en los costos asociados, tiene la limitación del uso de la licencia del sistema operativo. Imaginemos ahora lo que sucede en el segundo caso. Luego de la planificación y los trabajos relevantes por parte del profesional, el sistema es entregado al cliente para su utilización. Este sistema podrá ser utilizado en tantas computadoras como sea necesario, ya
  • 34. José Daniel Muccela - 34 - que al haber utilizado software libre para desarrollarlo las licencias permiten que el cliente haga uso libre del sistema. Además, a posterior realización y uso del sistema, el cliente en el corto o mediano plazo puede requerir de modificaciones parciales o totales del sistema original. Para ello puede contratar un desarrollador de su confianza para que retome el trabajo realizado primeramente. Esto es posible gracias a que el código fuente del sistema está en poder del cliente. Suponiendo que el profesional siguió las buenas prácticas de desarrollo de sistemas (entiéndase por buenas prácticas en este contexto el procedimiento correcto y estandarizado para desarrollar un sistema informático) el posterior desarrollador no debería tener problemas para modificar el sistema original. Como se puede ver, en esta segunda alternativa de solución, la empresa PYME se ve beneficiada por ser poseedora de un producto de uso libre y que posee la característica de ser modificado en cualquier momento y al ritmo de las necesidades del negocio. Esta es la alternativa de solución a describir en el presente trabajo y nos vamos a servir del desarrollo del Sistema GRH-TUC (Software para la Gestión de los Recursos Humanos), mediante la utilización de software libre. 4.3 Desarrollo del Sistema Según Jacobson (1998) El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo". Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo". En general el desarrollo de un software involucra las siguientes etapas generales: • Análisis • Diseño • Codificación • Pruebas • Implementación Durante el proceso aparecen otras cuestiones que hacen referencia a los costos, normas y metodologías a cumplimentar con el objeto de obtener un software de calidad, entendiendo por calidad al cumplimiento satisfactorio de todos los requerimientos en tiempo y forma. Estas cuestiones no se abordan en el presente trabajo por no estar dentro del alcance del mismo. En consecuencia, en el siguiente capítulo, vamos a descomponer y explicar las etapas de análisis y diseño del sistema según la metodología UML. El código fuente del software desarrollado se encuentra adjunto a este trabajo. Teniendo en cuenta que se deben cumplir satisfactoriamente todos los requerimientos en el tiempo y forma establecido, el trabajo consiste en llevar a cabo una adecuada aplicación de metodologías, técnicas, herramientas, controles y seguimiento.
  • 35. José Daniel Muccela - 35 - CAPITULO 5 – Análisis del Sistema Caso de Estudio – Sistema GRH – TUC 5 Análisis del Sistema Para seguir las buenas prácticas de planificación y desarrollo del sistema, el cual está orientado a Web se empleó la estructura que se detalla en la sección 6.4: 5.1 Estructura del Sistema El sistema GRH-TUC posee tres capas procedimentales: • Presentación (HTML y XML) Esta es la que hace referencia a las páginas como las ve el usuario del lado del cliente. Controla el diseño de la página y el manejo de datos de los formularios. • Lógica de Negocio (PHP) Esta es la capa que hace referencia a las páginas como se ven del lado del servidor. Controla los datos que se envían desde los formularios del lado del cliente, además de ejecutarse todas las acciones que tienen que ver con la interacción a la base de datos. • Modelo de Datos (PostgreSQL) Esta capa también funciona del lado del servidor y tiene conexión directa con el mismo. Controla la entrada y salida de datos de la BD REC_Db (Base de Datos del sistema GRH-TUC). 5.2 Presentación General del Sistema El sistema tiene por objeto permitir la gestión de Recursos Humanos de una Empresa. Descripción del Cliente El cliente es cualquier Empresa que requiere el control y seguimiento de su personal. Metas: • Mejorar la velocidad y mantenimiento en la de gestión de empleados. • Facilitar la registración de los cursos. • Facilitar la registración de empleados. • Facilitar la registración de puestos. • Facilitar la registración de áreas de la empresa • Control de empleados, cursos, puestos y áreas de la Empresa. • Permitir el seguimiento de la capacitación de Empleados.
  • 36. José Daniel Muccela - 36 - Funciones del Sistema # Ref. Función Categoría R1.1 Registra ingreso de un nuevo empleado. Evidente R1.2 Registra el ingreso de un nuevo curso, asignándole su número de curso. Evidente R1.3 Registra el ingreso de un nuevo puesto de trabajo. Evidente R1.4 Registra el ingreso de una nueva área de la Empresa. Evidente R1.5 Busca un empleado a través de su nombre. Evidente R1.6 Registra la realización de cursos. Evidente R1.7 Registra para cada curso la fecha de realización. Oculta R1.8 Realiza la eliminación de un empleado. Evidente R1.9 Realiza la eliminación de un curso. Evidente R1.10 Realiza la eliminación de un puesto. Evidente R1.11 Realiza la eliminación de un área. Evidente R1.12 Realiza la modificación de datos de un empleado. Evidente R1.13 Realiza la modificación de datos de un curso. Evidente R1.14 Realiza la modificación de datos de un puesto. Evidente R1.15 Realiza la modificación de datos de un área. Evidente Atributos del Sistema Atributo Tipo Detalles y Restricciones de Frontera Tiempo de respuesta Restricción de Frontera La información sobre un empleado deberá aparecer en menos de tres segundos. Metáfora de interfaz Detalle Desarrollo del sistema en un entorno Web. Plataforma del sistema operativo Detalle Windows 98 / Me / 2000 / XP Facilidad de uso Detalle Guiar al usuario durante la utilización del sistema. Uso frecuente del Mouse para operaciones básicas Actores del sistema • Usuario. • Sistema
  • 37. José Daniel Muccela - 37 - 5.3 Casos de Uso • Búsqueda de Empleados. • Alta de Empleados. • Baja de Empleados. • Modificación de Empleados. • Alta de Cursos. • Baja de Cursos. • Modificación de Cursos. • Alta de Puestos. • Baja de Puestos. • Modificación de Puestos. • Alta de Áreas. • Baja de Áreas. • Modificación de Áreas. • Registración de Cursos. 5.4 Descripción Formal de los Casos de Uso Caso de Uso de Alto Nivel CASOS DE USO Caso de Uso: Búsqueda de Empleados. Actores: Usuario. Tipo: Primario. Descripción: Un Usuario del Sistema desea consultar la existencia de un Empleado. El Usuario realiza la consulta y revisa los resultados. Caso de Uso: Alta de Empleados. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea dar de Alta a un Empleado. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Baja de Empleados. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea dar de Baja a un Empleado. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Modificación de Empleados. Actores: Usuario
  • 38. José Daniel Muccela - 38 - Tipo: Primario. Descripción: Un Usuario del Sistema desea modificar los datos de un Empleado. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Alta de Cursos. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea dar de Alta un nuevo Curso de capacitación. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Baja de Cursos. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea dar de Baja a un Curso existente. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Alta de Puestos. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea dar de Alta un nuevo puesto. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Baja de Puestos. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea dar de Baja a un Puesto existente. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Alta de Áreas. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea dar de Alta una nueva Área de la Empresa. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Baja de Áreas. Actores: Usuario, Sistema. Tipo: Primario.
  • 39. José Daniel Muccela - 39 - Descripción: Un Usuario del Sistema desea dar de Baja a un Área existente. El Usuario realiza la operación y actualiza la base de datos. Caso de Uso: Registración de Cursos. Actores: Usuario, Sistema. Tipo: Primario. Descripción: Un Usuario del Sistema desea registrar un nuevo Curso. El Usuario realiza la operación y actualiza la base de datos. 5.5 Curso normal de eventos y cursos alternos Casos de Uso Expandidos CASOS DE USO Caso de Uso: Búsqueda de Empleados. Actores: Usuario (Iniciador). Propósito: Realizar la búsqueda de un Empleado. Tipo: Primario y esencial. Resumen: Un Usuario del Sistema desea consultar la existencia de un Empleado. El Usuario realiza la consulta y revisa los resultados. Referencias Cruzadas: Funciones: R1.5. Curso Normal de Eventos: Acción del Actor Respuesta del Sistema 1. Este caso de uso comienza cuando el Usuario desea consultar la existencia de un Empleado 2. El Usuario ingresa el nombre del Empleado. 3. Muestra los datos del Empleado. 4. El Usuario indica al sistema que la consulta terminó. 5. Vuelve al menú principal. Curso Alterno de Eventos: • Línea 3: El Empleado no existe, indicar con un mensaje de error. Caso de Uso: Alta de Empleados. Actores: Usuario, Sistema.
  • 40. José Daniel Muccela - 40 - Propósito: Realizar el Alta de un nuevo empleado al Sistema. Tipo: Primario y esencial. Descripción: Un Usuario del Sistema desea dar de Alta a un Empleado. El Usuario realiza la operación y actualiza la base de datos. Referencias Cruzadas: Funciones: R1.1. Curso Normal de Eventos: Acción del Actor Respuesta del Sistema 1. Este caso de uso comienza cuando el Usuario desea ingresar un nuevo Empleado 2. El Usuario ingresa el DNI (#dni) del Empleado. 3. Verifica la existencia del Empleado en el sistema a través del DNI ingresado. 4. El Usuario realiza la carga de datos del Empleado (CUIL, Apellido y nombre, Sexo, Edad, Fecha de Nac., Fecha de Alta, Fecha de Baja, Domicilio, Experiencia, Capacitacion, Area, Puesto, Departamento, Localidad, Teléfono) 5. Valida los datos ingresados. 6. El Usuario indica al sistema que la captura de datos finalizó. 7. Registra los datos del Empleado. Curso Alterno de Eventos: • Línea 3: El empleado ya existe. Indicar con un mensaje de error. Se cancela la operación. • Línea 5: Los datos se ingresaron de manera incorrecta. Indicar con un mensaje de error. Volver a ingresar los datos nuevamente. Caso de Uso: Baja de Empleados. Actores: Usuario, Sistema. Propósito: Realizar la eliminación de un Empleado de la Empresa. Tipo: Primario y esencial. Descripción: Un Usuario del Sistema desea eliminar un Empleado del Sistema. El Usuario realiza la operación y actualiza la base de datos. Referencias Cruzadas: Funciones: R1.8. Curso Normal de Eventos: Acción del Actor Respuesta del Sistema 1. Este caso de uso comienza cuando el Usuario desea eliminar un Empleado
  • 41. José Daniel Muccela - 41 - existente. 2. El Usuario selecciona a un Empleado. 3. Despliega todos los datos del empleado. 4. El Usuario le indica al sistema la acción de eliminar al Empleado. 5. Despliega mensaje de advertencia. 6. El Usuario le indica al sistema la opción de eliminar. 7. Actualiza la base de datos. Curso Alterno de Eventos: • Línea 6: El Usuario le indica al sistema que no eliminará al Empleado. Caso de Uso: Modificación de Empleados. Actores: Usuario. Propósito: Realizar la modificación de datos de un Empleado de la Empresa. Tipo: Primario y esencial. Descripción: Un Usuario del Sistema desea modificar los datos de un Empleado de la Empresa. El Usuario realiza la operación y actualiza la base de datos. Referencias Cruzadas: Funciones: R1.12. Curso Normal de Eventos: Acción del Actor Respuesta del Sistema 1. Este caso de uso comienza cuando el Usuario desea modificar los datos de un Empleado existente. 2. El Usuario selecciona a un Empleado. 3. Despliega todos los datos del empleado. 4. El Usuario introduce la/las modificaciones necesarias. 5. El Usuario le indica al Sistema la acción de actualizar los datos introducidos. 6. Valida los datos ingresados y actualiza la base de datos Curso Alterno de Eventos: • Línea 5: Los datos se ingresaron de manera incorrecta. Indicar con un mensaje de error. Volver a ingresar los datos nuevamente. Caso de Uso: Registración de Cursos. Actores: Usuario, Sistema. Propósito: Realizar la registración de cursos por parte de un Empleado de la Empresa.
  • 42. José Daniel Muccela - 42 - Tipo: Primario y esencial. Descripción: Un Usuario del Sistema desea registrar los datos de un nuevo Curso. El Usuario realiza la operación y actualiza la base de datos. Referencias Cruzadas: Funciones: R1.6. Curso Normal de Eventos: Acción del Actor Respuesta del Sistema 1. Este caso de uso comienza cuando el Usuario desea ingresar un nuevo curso. 2. El Usuario Introduce el nombre del nuevo. 3. Verifica la existencia del curso. 4. El Usuario ingresa la fecha de capacitación y la cantidad de horas. 5. El Usuario le indica al sistema que finalizó la captura de datos. 6. Registra el Curso y actualiza la base de datos. Curso Alterno de Eventos: • Línea 3: Curso existente. Mensaje de error.
  • 43. José Daniel Muccela - 43 - 5.6 Diagrama de Casos de Uso Búsqueda de Empleados Alta de Empleados Usuario Sistema Empresa Alta de Cursos Alta de Puestos Alta de Áreas Baja de Empleados Baja de Cursos Baja de Puestos Baja de Áreas Modificación de Empleados Modificación de Cursos Modificación de Puestos Modificación de Áreas
  • 44. José Daniel Muccela - 44 - 5.7 Modelo Conceptual 5.7.1 Conceptos 5.7.2 Modelo Conceptual Simplificado Empresa Área Cursos Disponibles Puesto Departamento UsuarioEmpleado Cursos Realizados Sistema ListadoEmpleados LineaListadoEm LineaCursosDispon Área Empresa Departamento Puesto Cursos Realizados UsuarioSistema Forman Contiene Contenido_en Controlado_por Realiza Requiere_de Ocupado_por 1..* 1 1 1 1 1 1..* 1 1..* 1..* 1 1 1 1..*1 Gestiona ◄ Gestiona Gestiona 1 1..* 1 1..* ▲ Cursos Disponibles 1..* 1..* Gestiona 1 Gestiona ◄ 1..* 1 Gestiona 1..*1 Empleado LineaListadoEmp ListadoEmpleados 1..* 1 Representa ▲ 1 1 Tiene◄ Genera 1 1..* LineaCursosDispon 1..* 1 Representa ▲
  • 45. José Daniel Muccela - 45 - 5.7.3 Modelo Conceptual Extendido Área Empresa Departamento Puesto Cursos Realizados UsuarioSistema Forman Contiene Contenido_en Controlado_por Realiza Requiere_de Ocupado_por1..* 1 1 1 1 1 1..* 1 1..* 1..* 1 1 1 1..*1 Gestiona ◄ Gestiona Gestiona 1 1..* 1 1..* ▲ Cursos Disponibles 1..* 1..* Gestiona1 Gestiona ◄ 1..* 1 Gestiona 1..*1 Clave Nombreusuario Nombre Misión Objetivo Nombre Misión Objetivo Nombre Fecha Nombre Fecha Cant. Hs. Empleado Nombre y Apellido DNI Datos FinCaptura LineaListadoEmp ListadoEmpleados 1..* 1 Representa ▲ 1 1 Tiene◄ Genera 1 1..* FinCaptura LineaCursosDispon 1..* Representa ▲ 1
  • 46. José Daniel Muccela - 46 - 5.7.4 Glosario Término Categoría Comentario Sistema Tipo Gestiona las operaciones sobre los empleados, áreas, puestos de trabajo y cursos de la empresa Empresa Tipo El lugar donde se efectúan las operaciones del sistema Usuario Tipo Describe a la persona que hace uso del sistema Empleado Tipo Describe a una persona que forma parte de la empresa Puesto Tipo Describe las características del trabajo a realizar por un empleado Área Tipo Área de trabajo que forma parte de la empresa Departamento Tipo Lo conforman una o más áreas Cursos Realizados Tipo Describe los cursos que ya fueron realizados por uno o más empleados Cursos Disponibles Tipo Describe los cursos que pueden realizar los empleados de la empresa DNI: entero Atributo Número de documento del empleado Nombre de usuario: cadena Atributo Texto que identifica al usuario del sistema Clave: cadena Atributo Texto alfanumérico que identifica la clave del usuario Nombre y apellido: cadena Atributo Texto que identifica a un empleado Fecha: date/time Atributo Valor en formato de fecha que describe el día y hora de realización del curso Cant. Hs: entero Atributo Valor numérico que describe la carga horaria de un curso Nombre: cadena Atributo Texto que describe a un área, un puesto, un curso disponible o un curso realizado Misión: cadena Atributo Texto que describe la misión que persigue un área o un puesto Objetivo: cadena Atributo Texto que describe el objetivo que persigue un área o un puesto
  • 47. José Daniel Muccela - 47 - 5.8 Diagramas de Secuencia Caso de uso: Búsqueda de empleados Caso de uso: Alta de Empleados Caso de uso: Registración de Cursos Caso de uso: Modificación de Empleados Usuario Sistema realizarBusqueda (nombre) finalizarBusqueda () Usuario Sistema consultarEmpExistente (dni) ingresarEmpleado (parametros) finalizarCaptura () Usuario Sistema consultarCursoExistente (nombre) ingresarCurso (nombre,fecha.cant_hs) finalizarRegistro () Usuario Sistema consultarEmpExistente (dni) modificarEmpleado (parametros) finalizarCaptura ()
  • 48. José Daniel Muccela - 48 - 5.9 Contratos 5.9.1 Búsqueda de Empleados Nombre: buscarEmpleado (nombre:texto) Responsabilidad: Capturar (buscar) la existencia de un empleado. Desplegar los datos. Tipo: Sistema. Ref. cruzadas: R1.5. Casos de uso: Búsqueda de Empleados. Excepciones: Si no se pudo capturar el cliente, mostrar mensaje. Precondiciones: El sistema conoce el nombre del empleado. Poscondiciones: • Se creó una instancia de LineaListadoEmp (creación de instancia). • Se asoció LineaListadoEmp con una instancia de ListadoEmp (asociación formada). • Se asoció una instancia LineaListadoEmp con Empleado (asociación formada). Nombre: finalizarBusqueda () Responsabilidad: Indicar que es el final de la captura del empleado y volver al menú principal. Tipo: Sistema. Ref. cruzadas: R1.5. Casos de uso: Búsqueda de Empleados. Excepciones: Si no se desea buscar otro empleado, volver al menú principal. Precondiciones: El sistema conoce la estructura del menú de opciones del sistema. Poscondiciones: • Se eliminó la instancia LineaListadoEmp (eliminación de instancia). 5.9.2 Alta de Empleados Nombre: consultarEmpExistente (dni: entero) Responsabilidad: Comprobar existencia de un empleado. Tipo: Sistema. Ref. cruzadas: R1.1, R1.5 Casos de uso: Alta de Empleados. Excepciones: Si se cancela la operación, abortar la transacción. Si el dni ingresado no es válido, indicar que se cometió un error. Precondiciones: El sistema conoce los empleados. Poscondiciones: • Se creó una instancia de LineaListadoEmp (creación de instancia). Nombre: ingresarEmpleado (parametros: texto) Responsabilidad: Actualizar los datos ingresados del empleado. Introducir un nuevo empleado. Tipo: Sistema. Ref. cruzadas: R1.1 Casos de uso: Alta de Empleados. Excepciones: El Usuario cancela la operación. Precondiciones: El sistema sabe asociar el dni ingresado con los datos del nuevo empleado.
  • 49. José Daniel Muccela - 49 - Poscondiciones: • Se asoció LineaListadoEmp con una instancia de ListadoEmp (asociación formada). • Se asoció una instancia LineaListadoEmp con Empleado (asociación formada). • Se asignó el valor de parámetros a Empleado.datos (modificación de atributo). Nombre: finalizarCaptura () Responsabilidad: Registrar que es el final de la captura del nuevo empleado. Tipo: Sistema. Ref. cruzadas: R1.1 Casos de uso: Alta de Empleados. Excepciones: Si alguno de los datos ingresados no es válido, indicar que se cometió un error. Precondiciones: El sistema conoce el dni. Poscondiciones: • Se asignó Verdadero a Empleado.FinCaptura (modificación de atributo). 5.9.3 Registración de Cursos Nombre: consultarCursoExistente (nombre: texto) Responsabilidad: Capturar (buscar) la existencia de un curso. Desplegar los datos. Tipo: Sistema. Ref. cruzadas: R1.6, R1.7 Casos de uso: Registración de Cursos. Excepciones: El Usuario cancela la operación. Precondiciones: El sistema conoce los cursos disponibles. Poscondiciones: • Se creó una instancia de Cursos Disponibles (creación de instancia). Nombre: ingresarCurso (nombre:texto, fecha:fecha, cant_hs:entero) Responsabilidad: Verificar datos ingresados. Introducir un nuevo curso y agregarlo a los cursos disponibles. Tipo: Sistema. Ref. cruzadas: R1.6, R1.7 Casos de uso: Registración de Cursos. Excepciones: El Usuario cancela la operación. Precondiciones: El sistema conoce el calendario de fechas y la carga horaria.. Poscondiciones: • Se asignó el valor de nombre a CursosDisponibles.nombre (modificación de atributo). • Se asignó el valor de fecha a CursosDisponibles.fecha (modificación de atributo). • Se asignó el valor de cant_hs a CursosDisponibles.cant_hs (modificación de atributo). Nombre: finalizarRegistro () Responsabilidad: Registrar que es el final de la captura del nuevo curso. Tipo: Sistema.
  • 50. José Daniel Muccela - 50 - Ref. cruzadas: R1.6, R1.7 Casos de uso: Registración de Cursos. Excepciones: El usuario cancela la operación. Precondiciones: Poscondiciones: • Se asignó Verdadero a CursosDisponibles.FinCaptura (modificación de atributo). 5.9.4 Modificación de Empleados Nombre: consultarEmpExistente (dni: entero) Responsabilidad: Comprobar existencia de un empleado. Tipo: Sistema. Ref. cruzadas: R1.12. Casos de uso: Modificación de Empleados. Excepciones: Si se cancela la operación, abortar la transacción. Si el dni ingresado no es válido, indicar que se cometió un error. Precondiciones: El sistema conoce los empleados. Poscondiciones: • Se creó una instancia de LineaListadoEmp (creación de instancia). Nombre: modificarEmpleado (parametros: texto) Responsabilidad: Introducir las modificaciones sobre los datos del empleado. Tipo: Sistema. Ref. cruzadas: R1.12 Casos de uso: Modificación de Empleados. Excepciones: El Usuario cancela la operación. Precondiciones: El sistema sabe asociar el dni ingresado con los datos del nuevo empleado. Poscondiciones: • Se asoció LineaListadoEmp con una instancia de ListadoEmp (asociación formada). • Se asoció una instancia LineaListadoEmp con Empleado (asociación formada). • Se asignó el valor de parámetros a Empleado.datos (modificación de atributo). • Se asignó el valor de Verdadero a Empleado.Modificado (modificación de atributo). Nombre: finalizarCaptura () Responsabilidad: Registrar que es el final de la captura de las modificaciones introducidas. Tipo: Sistema. Ref. cruzadas: R1.12 Casos de uso: Modificación de Empleados. Excepciones: Si alguno de los datos ingresados no es válido, indicar que se cometió un error. Precondiciones: El sistema conoce el dni. Poscondiciones: • Se asignó Verdadero a Empleado.FinCaptura (modificación de atributo).
  • 51. José Daniel Muccela - 51 - CAPITULO 6 – Diseño del Sistema Caso de Estudio – Sistema GRH – TUC 6 Diseño del Sistema 6.1 Casos Reales de Uso 6.1.1 Caso de Uso: Búsqueda de Empleados. Actores: Usuario (Iniciador). Propósito: Realizar la búsqueda de un Empleado. Resumen: Un Usuario del Sistema desea consultar la existencia de un Empleado. El Usuario realiza la consulta y revisa los resultados. Tipo: Primario y real. Referencias: Funciones: R1.5. Ventana 1 Ventana 2 A B A B C
  • 52. José Daniel Muccela - 52 - Curso Normal de Eventos: Acción del Actor Respuesta del Sistema 1. Este caso de uso comienza cuando el Usuario desea consultar la existencia de un Empleado. 2. El Usuario ingresa el nombre del Empleado en A de la Ventana 1. Se oprime B después de capturar el nombre del empleado. 3. Muestra los datos del empleado en A de la Ventana 2. 4. El Usuario indica al sistema que la consulta terminó haciendo clic en B de la Ventana 2 o en C de la Ventana 1. 5. Vuelve al menú principal. Curso Alterno de Eventos: • Línea 3: El Empleado no existe, indicar con un mensaje de error. No mostrar ninguna información en A de la Ventana 2. 6.1.2 Caso de Uso: Alta de Empleados. Actores: Usuario. Propósito: Realizar el Alta de un nuevo empleado al Sistema. Resumen: Un Usuario del Sistema desea dar de Alta a un Empleado. El Usuario realiza la operación y actualiza la base de datos. Tipo: Primario y real. Referencias Cruzadas: Funciones: R1.1.
  • 53. José Daniel Muccela - 53 - Ventana 3 A B C D E F G H I J K L M N O P Q R S