Ingeniería en Sistemas y Software Libre
al servicio de las PYMES
Autor: José Daniel Muccela
Tutor: Ing. Alberto Moyano
Dep...
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...
José Daniel Muccela
- 4 -
ÍNDICE
Agradecimientos 3
Resumen 7
Situación Problemática – Planteo del Problema 8
Objetivo Gene...
José Daniel Muccela
- 5 -
3.5.3 Licencias para trabajos aparte del software y la
documentación.
29
3.6 Evolución. El futur...
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...
José Daniel Muccela
- 7 -
RESUMEN
En la actualidad, con la masiva aparición de pequeñas y medianas empresas
(PYMES) y por ...
José Daniel Muccela
- 8 -
SITUACIÓN PROBLEMÁTICA. PLANTEO DEL PROBLEMA
El tema que trata este proyecto es candente en la a...
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 po...
José Daniel Muccela
- 11 -
La resolución mencionada en el párrafo precedente surge modificaciones cada cierto
tiempo y est...
José Daniel Muccela
- 12 -
• Comunicaciones (prensa, televisión, radio e Internet)
A su vez dentro del sector “servicios a...
José Daniel Muccela
- 13 -
oportuna, entre otras. Estas necesidades pueden ser encapsuladas y trabajar sobre ellas
hasta o...
José Daniel Muccela
- 14 -
CAPITULO 2 – Profesional de Sistemas de Información
2.1 Carrera de Ingeniería en Sistemas de In...
José Daniel Muccela
- 15 -
2.3 El Ingeniero en Sistemas de la Universidad Tecnológica Nacional. Incumbencias.
El Ingeniero...
José Daniel Muccela
- 16 -
CAPÍTULO 3 – Software Libre
3.1 Software Libre
La expresión “Software Libre” cada vez toma mayo...
José Daniel Muccela
- 17 -
fuente ofuscado el hecho de escribir el código en forma ininteligible ocultando de esta
manera ...
José Daniel Muccela
- 18 -
El término “propietario” se refiere a que está “poseído y controlado privadamente”[6].
No obsta...
José Daniel Muccela
- 19 -
la cual trabajan de forma cooperativa los programadores que en gran parte son
voluntarios y tra...
José Daniel Muccela
- 20 -
3.3.2 Desventajas del Software Libre
# Desventaja
1
Es mayor la curva de aprendizaje:
Es mayor ...
José Daniel Muccela
- 21 -
3.3.3 Ventajas del Software propietario
# Ventaja
1
Control de calidad establecido:
Las compañí...
José Daniel Muccela
- 22 -
5
La compañía desarrolladora del software posee el derecho exclusivo de innovación:
Si a alguie...
José Daniel Muccela
- 23 -
Como contraposición veamos el siguiente gráfico donde se muestra el impacto del
software libre ...
José Daniel Muccela
- 24 -
En esta categorización se puede ubicar la totalidad de tipos de software existentes
en el mundo...
José Daniel Muccela
- 25 -
• Software cubierto por la GPL
La GPL (General Public License/Licencia Pública General) de GNU ...
José Daniel Muccela
- 26 -
La mayor parte del software comercial es privativo, pero hay software libre comercial, y hay
so...
José Daniel Muccela
- 27 -
• La licencia de Guile:
Consiste en la GNU GPL, agregándole además una declaración especial que...
José Daniel Muccela
- 28 -
• La Licencia Artística (Original):
Esta licencia es poco clara en sus cláusulas; algunos pasaj...
José Daniel Muccela
- 29 -
3.5.2.2 Licencias de documentación no libre
Son aquellas que ponen restricciones para cobrar di...
José Daniel Muccela
- 30 -
Alrededor del mundo hay gran diversidad de grupos de usuarios de software libre
que aportan sus...
José Daniel Muccela
- 31 -
Factor Justificación
• Costos iniciales y costos
anuales de mantenimiento.
Puede llegar a ocurr...
José Daniel Muccela
- 32 -
DESARROLLO
José Daniel Muccela
- 33 -
CAPITULO 4 – Caso de Estudio
Enunciado los contenidos que sustentan el marco teórico del proyec...
José Daniel Muccela
- 34 -
que al haber utilizado software libre para desarrollarlo las licencias permiten que el cliente
...
José Daniel Muccela
- 35 -
CAPITULO 5 – Análisis del Sistema
Caso de Estudio – Sistema GRH – TUC
5 Análisis del Sistema
Pa...
José Daniel Muccela
- 36 -
Funciones del Sistema
# Ref. Función Categoría
R1.1 Registra ingreso de un nuevo empleado. Evid...
José Daniel Muccela
- 37 -
5.3 Casos de Uso
• Búsqueda de Empleados.
• Alta de Empleados.
• Baja de Empleados.
• Modificac...
José Daniel Muccela
- 38 -
Tipo: Primario.
Descripción: Un Usuario del Sistema desea modificar los datos de un Empleado. E...
José Daniel Muccela
- 39 -
Descripción: Un Usuario del Sistema desea dar de Baja a un Área existente. El Usuario
realiza l...
José Daniel Muccela
- 40 -
Propósito: Realizar el Alta de un nuevo empleado al Sistema.
Tipo: Primario y esencial.
Descrip...
José Daniel Muccela
- 41 -
existente.
2. El Usuario selecciona a un Empleado.
3. Despliega todos los datos del empleado.
4...
José Daniel Muccela
- 42 -
Tipo: Primario y esencial.
Descripción: Un Usuario del Sistema desea registrar los datos de un ...
José Daniel Muccela
- 43 -
5.6 Diagrama de Casos de Uso
Búsqueda de Empleados
Alta de Empleados
Usuario Sistema
Empresa
Al...
José Daniel Muccela
- 44 -
5.7 Modelo Conceptual
5.7.1 Conceptos
5.7.2 Modelo Conceptual Simplificado
Empresa
Área
Cursos
...
José Daniel Muccela
- 45 -
5.7.3 Modelo Conceptual Extendido
Área Empresa Departamento
Puesto
Cursos
Realizados
UsuarioSis...
José Daniel Muccela
- 46 -
5.7.4 Glosario
Término Categoría Comentario
Sistema Tipo Gestiona las operaciones sobre los
emp...
José Daniel Muccela
- 47 -
5.8 Diagramas de Secuencia
Caso de uso: Búsqueda de empleados
Caso de uso: Alta de Empleados
Ca...
José Daniel Muccela
- 48 -
5.9 Contratos
5.9.1 Búsqueda de Empleados
Nombre: buscarEmpleado (nombre:texto)
Responsabilidad...
José Daniel Muccela
- 49 -
Poscondiciones:
• Se asoció LineaListadoEmp con una instancia de ListadoEmp
(asociación formada...
José Daniel Muccela
- 50 -
Ref. cruzadas: R1.6, R1.7
Casos de uso: Registración de Cursos.
Excepciones: El usuario cancela...
José Daniel Muccela
- 51 -
CAPITULO 6 – Diseño del Sistema
Caso de Estudio – Sistema GRH – TUC
6 Diseño del Sistema
6.1 Ca...
José Daniel Muccela
- 52 -
Curso Normal de Eventos:
Acción del Actor Respuesta del Sistema
1. Este caso de uso comienza cu...
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
Próxima SlideShare
Cargando en…5
×

Tesis ingenieria en sistemas, software libre y pymes

1.686 visualizaciones

Publicado el

Tesis referida a la Aplicación de los conocimientos de la Ingeniería en Sistemas a un negocio tipo Pyme, utilizando las bondades del software libre.
Por favor si utilizan todo o parte del mismo, refiéranse al autor del documento. Es el premio al esfuerzo.

Publicado en: Ingeniería
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.686
En SlideShare
0
De insertados
0
Número de insertados
5
Acciones
Compartido
0
Descargas
53
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Tesis ingenieria en sistemas, software libre y pymes

  1. 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
  2. 2. José Daniel Muccela - 2 -
  3. 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. 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. 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. 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. 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. 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. 9. José Daniel Muccela - 9 - MARCO TEÓRICO
  10. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 32. José Daniel Muccela - 32 - DESARROLLO
  33. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×