Examen A2 Age 1 2009

Examen A2 Age 1 2009

Lenguajes de programación

Con la llegada de las computadoras aparecen las secuencias de posiciones de llaves eléctricas que debían conectarse para obtener una acción determinada, una llave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101…) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.

Funciones de análisis en los Sistemas de Información Geográfica

El modelo vectorial de datos asume un espacio geográfico continuo que cumple los postulados de la geometría euclidiana. Los objetos espaciales que se recogen con este modelo se representan codificando de forma explicita sus bordes, limites o fronteras.

Los Sistemas de Gestión de Base de Datos

El Sistema de Información de una Empresa o de cualquier Organización es un sistema más al servicio de ésta y de sus objetivos, en ningún caso independiente de su estrategia y, como algunos autores afirman, resulta ser parte de su Infraestructura, ya que hoy no se considera

Elementos funcionales de un ordenador digital.

La arquitectura de un computador define su comportamiento funcional. El modelo básico de arquitectura empleada en los computadores digitales fue establecido en 1946 por John Von Neumann.

Breve historia de la Protección de Datos Personales

La evolución de la informática, que ha facilitado la gestión masiva de la información relativa a las personas, ha supuesto que se genere un nuevo derecho de las personas a la protección de los datos de carácter personal, que se ha desarrollado en un tiempo récord.

Ley de Contratos del Sector Público: Ley 9/2017



Hoy, 9 de Noviembre de 2017, se ha publicado en el Boletín Oficial del Estado la Ley 9/2017, de 8 de noviembre, de Contratos del Sector Público, por la que se transponen al ordenamiento jurídico español las Directivas del Parlamento Europeo y del Consejo 2014/23/UE y 2014/24/UE, de 26 de febrero de 2014.

 Esta ley ya venía con retraso, pues como todos sabéis las Directivas Comunitarias deben ser transpuestas en la legislación de los estados miembros, y en este caso eran 2 las directivas de 2014 que teníamos sin trasponer.

 Sin embargo, la situación de inestabilidad que se vivió en nuestro país, con un gobierno en funciones durante más de un año, que no tiene competencias para remitir proyectos de ley al parlamento, ha ocasionado este retraso.

Si quieres saber las principales novedades de la ley de contratos del sector público, actualizadas a 2017 y 2018, y en qué afecta fundamentalmente al sector de las Tecnologías de la Información y las Telecomunicaciones (TIC) sigue leyendo esta entrada.

Sin duda, la Ley 9/2017 o LCSP va a ser carne de cañón para las oposiciones que se celebren próximamente.

Te recomiendo que visites esta entrada periódicamente porque hay mucho que contar, y la iré actualizando con frecuencia.



Qué es la tasa de reposición de efectivos.

Definición de tasa de reposición.

En esta entrada te vamos a explicar qué es la tasa de reposición de efectivos, un término que en los últimos años ha estado muy de moda, pues ha sido empleado como instrumento para recortar las gastos de personal de las Administraciones Públicas. 

Posiblemente cuando hayas leido noticias del tipo "los sindicatos negocían la tasa de reposición" o "el gobierno eleva la tasa de reposición de efectivos para cuerpos prioritarios, como los relacionados con las TIC o la lucha contra el fraude fiscal" no conocieras el significado de la tasa de reposición.

La primera versión de esta entrada fue publicada en el año 2010. Hemos decidido actualizarla con fecha de 21 de Octubre de 2016.

¿Qué es la tasa de reposición?

La tasa de reposición de  efectivos no es más que el número de funcionarios que ingresan en la Administración dividido por el número de funcionarios que salen de ella por jubilación.

Una definición más formal sería "la tasa de reposición de efectivos es la ratio que determina el número de funcionarios de nuevo ingreso que se pueden incorporar en una administración pública en función de las bajas que se hayan producido en el año anterior".

Es decir, el significado de esta última definición es que se tienen en cuenta bajas, defunciones, jubilaciones, excedencias sin reservas de puesto, pérdidas de la condición de funcionario, renuncias voluntarias, etc

Para el cómputo de las plazas de nuevo ingreso se tendrá en cuenta los funcionarios que reingresen de una excedencia sin reserva de puesto, pero no los funcionarios que asciendan por promoción interna.

De todos modos, para evitar interpretaciones, lo mejor es acudir a la fuente: la Ley de Presupuestos Generales del Estado. En esta ley, que se aprueba todos los años (veremos si para 2017 también, o directamente se tiene que prorrogar la de 2016) se incluye la siguiente definición de tasa de reposición (tomada de la Ley de Presupuestos Generales del Estado para el año 2014):

 Para calcular la tasa de reposición de efectivos, el porcentaje máximo a que se refiere el apartado anterior se aplicará sobre la diferencia resultante entre el número de empleados fijos que, durante el ejercicio presupuestario de 2013, dejaron de prestar servicios en cada uno de los sectores, ámbitos, cuerpos o categorías, previstos en el apartado anterior y el número de empleados fijos que se hubieran incorporado en los mismos en el referido ejercicio, por cualquier causa, excepto los procedentes de ofertas de empleo público, o reingresado desde situaciones que no conlleven la reserva de puestos de trabajo. A estos
efectos, se computarán los ceses en la prestación de servicios por jubilación, retiro, fallecimiento, renuncia, declaración en situación de excedencia sin reserva de puesto de trabajo, pérdida de la condición de funcionario de carrera o la extinción del contrato de trabajo o en cualquier otra situación administrativa que no suponga la reserva de puesto de trabajo o la percepción de retribuciones con cargo a la Administración en la que se cesa.


Evolución de la Tasa de Reposición de efectivos en los últimos años.

Una vez que tenemos claro cual es el significado de la tasa de reposición de funcionarios, es interesante ver cual ha sido su evolución, según lo reflejan los Presupuestos Generales del Estado, para ver cómo se ha empleado este concepto como medida de recorte y contención del gasto público, con el objetivo de reducir el déficit público del estado español.


  • De 1997 a 2002, la tasa de reposición de funcionarios fue del 25 %.
  • Desde el año 2003, hasta el año 2008 la tasa de reposición de efectivos fue del 100%.
  • En el año 2009 la tasa de reposición fue del 30%.
  • En 2010, la tasa de reposición fue del 15 %.
  • En 2011, 2012, 2013 y 2014 la tasa de reposición fue del 10%, pero ¡Solo para aquellos colectivos y sectores de actividad de la administración marcados como prioritarios! Estos sectores prioritarios eran sanidad, educación, y cuerpos de seguidad del estado.
  • En 2015, al igual que en los años anteriores de la década, la norma general es que no se permite la reposición, pero para los sectores identificados como prioritarios se eleva la tasa de reposición del 10% al 50%.
  • Y finalmente, para el año 2016, el de salida de la crisis (o quizás, por haber sido un año electoralmente convulso, con elecciones autonómicas y generales, repetidas por cierto) se establece una tasa de reposición como norma general del 50%, elevándose al 100% para sectores prioritarios.
¿Cuales son estos sectores prioritarios, para los que se ha fijado una tasa del 100%?

  • Cuerpos de funcionarios docentes.
  • Plazas de hospitales y centros de salud del Sistema Nacional de Salud.
  • Fuerzas y Cuerpos de Seguridad del Estado, Autonómicos y Policia Local.
  • Militares de carrera y de complemento.
  • Cuerpos de lucha contra el fraude fiscal, laboral, de seguridad social, o fraude en general.
  • Otros cuerpos y sectores como seguridad nacional, catedráticos de Universidad, etc.

Conclusión: tasa de reposición y sueldo de los funcionarios. Merma en la calidad de los servicios públicos.



La evolución de esta tasa ha pasado a ser del 100% en el año 2007, al 30% en el año 2008 (ya entrados en la crisis económica, aunque no todos se dieron cuenta a tiempo de que estábamos en una crisis), directamente del 0% salvo excepciones hasta el año 2015.

Es decir, durante 7 años, por cada 10 funcionarios que se han ido, solo ha entrado a trabajar 1 en la Administración.

Si sumamos esta medida a la de la bajada del sueldo de los funcionarios no se entiende que el Gobierno no haya conseguido bajar el déficit público del 5%...

a no ser que a lo mejor es que en este pais el problema no era que sobraran funcionarios o que ganasen tanto dinero.

Porque de la Administración Paralela, y de los numerosos chiringuitos que mantienen nuestros políticos para colocar a los suyos, se ha hablado poco.

¿Y cómo ha afectado esto a la calidad de los servicios públicos?

 Esta situación me recuerda mucho a la que nos tocó vivir a los profesionales del sector de las TIC en el año 2001, con el estallido de la burbuja de las puntocom.

De repente, las empresas empezaron a despedir gente, muchísima gente.

Lo hacían las empresas que pasaban por dificultades, y también las que no tanto, pero aprovechaban para hacer purga, o directamente pretendían beneficiarse del incremento de "oferta" que había en el mercado laboral para buscar profesionales más baratos.

Y a los que tuvimos la fortuna de conservar nuestro puesto de trabajo, la única opción que nos quedó es volver a los tiempos de la revolución industrial, y tener jornadas laborales de 12 horas en "picos" de trabajo que se convertían en cordilleras, durante meses y meses, cobrando como si trabajase 8 por supuesto.

En aquel momento fue cuando llegué a la conclusión de que la industria de las TIC en nuestro país (o el menos el del desarrollo de software, en el que yo trabajaba) estaba muy degradada, y que prefería trabajar para el sector público en la Administración.

Esta convicción se vió incrementada cuando ví que los sueldos de los funcionarios eran unos sueldos competitivos, comparados con los sueldos del sector privado.

Diez años después, nos encontramos la misma situación, las mismas variables en la ecuación. Si de cada diez funcionarios que se jubilan, solo entra uno nuevo, quedan dos opciones: Rebajar los objetivos que se le marquen a ese nuevo funcionario, o que éste funcionario trabaje con "picos" de 12 horas.

Pero claro, uno no trabaja doce horas cobrando ocho a no ser que le amenacen con el despido (y lo hace si tiene cargas familiares, y mientras busca otro trabajo), y esto no puede pasar si eres funcionario. Así que para que la ecuación tenga solución...


¿Estamos los ciudadanos dispuestos a rebajar los servicios públicos de los que disfrutamos?

Hay otra solución. Que el ahorro que en los presupuestos de ingresos se haga del capítulo II (Gastos de Personal) se convierta en gasto en capítulo VI (Gastos de Inversión). Es decir, externalización (si no privatización) de los servicios públicos.



Si te ha gustado esta entrada, suscríbete para recibir las próximas entradas por correo electrónico. Por favor, apoya este blog.

Herramientas CASE. Temario de las Oposiciones de Informática y Telecomunicaciones.

En esta entrada trataremos el tema "Herramientas CASE. Tipos. Estructura. Prestaciones" del temario de las oposciones de Informática y Telecomunicaciones (múltiples administraciones).

Introducción

CASE es el acrónimo de Computer Aided Software Engineering, es decir, ingeniería del software asistida por ordenador. 

Este término en su día tuvo sentido, puesto que se diseñaba software de forma manual: los ordenadores no tenían las capacidades necesarias para ayudar en los procesos de ingeniería. Hoy en día, todos los procesos de desarrollo se realizan ayudándose en herramientas informáticas.

En este tema veremos una descripción e historia de dichas herramientas, una clasificación de las mismas, y expondré la estructura general de las herramientas CASE actuales. Por último, veremos algunos ejemplos de herramientas y de sus prestaciones.

Herramientas CASE

En los años 60-70, cuando comenzaba a desarrollarse software, los sistemas se definían basándose en un conjunto de información textual.

A finales de los años 70 surgieron las técnicas de desarrollo estructurado, que permitían especificar el software de forma más precisa y concreta, basándose en técnicas gráficas. Sin embargo, para proyectos grandes, se generaban inconsistencias que eran difíciles de detectar. Además el volumen de documentación generado resultaba complicado de tratar de forma manual.

Estos problemas, junto con el aumento de las capacidades de los ordenadores, propicia el surgimiento de las herramientas CASE que se desarrollaron para afrontar los problemas de la calidad del software y de la documentación inadecuada. La idea de las herramientas CASE es automatizar los métodos existentes de la ingeniería del software, para mejorar la eficiencia y la calidad del proceso.

A principios de los 80, las herramientas CASE se utilizaban para la gestión de la documentación y para la creación de diagramas. A mediados de los 80 empiezan a integrarse herramientas que chequean las inconsistencias de forma automática, y se generalizan los repositorios centralizados con información del sistema. 

A finales de los 80 se comienza a generar código a partir del diseño. En los años 90 se generalizan las interfaces gráficas y se fomenta la reutilización de código como metodología de desarrollo.

Hoy en día la tendencia es a utilizar un IDE o entorno integrado de desarrollo, como pueden ser Eclipse o Visual Studio, sobre el que se instalan plugins o complementos que cubren las diferentes necesidades del proceso: integración con gestión de proyectos, con repositorios de código, documentación y diseño de diagramas, etc..

Tipos

En la clasificación de herramientas CASE pueden utilizarse muchos criterios diferentes, según el punto de vista desde el que las examinemos. Veremos aquí tres clasificaciones que consideramos son las más relevantes.

Según tipo de integración

Juegos de herramientas (Toolkits)

Los toolkits consisten en una serie de herramientas independientes entre sí, donde cada una de ellas sirve para realizar una función. Por ejemplo podría haber un compilador/depurador específico (gcc) un IDE para proporcionar una interface gráfica (Eclipse) y un sistema para gestionar las versiones (SVN). Dichos productos se integran pero son intercambiables.

Bancos de trabajo (Workbenchs)

Se trata de un conjunto de herramientas integradas que comparten una base de datos de soporte y una interface única. Están orientados a una metodología de desarrollo, y ayudan al usuario a seguir la misma. La salida de una de las fases metodológicas se puede utilizar directamente de entrada para la fase siguiente. Un ejemplo sería la herramienta Power Designer de Sybase

Según metodología utilizada

Metodología estructurada

La metodología estructurada fue la primera que se usó de forma extendida, y a la que las primeras herramientas CASE daban soporte. Las herramientas de este tipo permiten gestionar proyectos de desarrollo mediante la construcción y gestión de DFDs, modelos Entidad/Relación, Diagramas de módulos, etc..
TODO: Poner un ejemplo

Metodología orientada a objetos

La metodología orientada a objetos surgió con posterioridad, cuando ya las herramientas CASE estaban más maduras. Las técnicas de la MOO son muy diferentes, y están basadas sobre todo en el lenguaje UML y en el desarrollo iterativo basado en casos de uso. Hoy en día es más común desarrollar con esta metodología y con herramientas que la soportan.
También existen herramientas mixtas, que permiten soportar ambas metodologías.

Según etapa del ciclo de vida en que se usan

Otra forma de clasificar las herramientas es según en qué fase del ciclo de vida resultan de utilidad, aunque hay que tener en cuenta que muchas de ellas están integradas en suites y se aplican a más de una tarea (por ejemplo, creación de E/R y generación del SQL)

Gestión de proyectos y requisitos

Permiten realizar diagramas de Gantt y PERT, obtener el camino crítico de un proyecto, y gestionar los recursos del mismo. Además permiten realizar un seguimiento del trabajo realizado para controlar si deben realizarse ajustes en el plan.

Un ejemplo de estas herramientas serían MS Project u OpenProj.

Las herramientas de gestión de requisitos comienzan a cobrar fuerza en los últimos tiempos. Permiten recoger los requisitos, asegurar la coherencia de los mismos, y realizar el seguimiento de los mismos a lo largo del proceso de desarrollo (qué requisito afecta a qué artefacto: DFD, clase, etc)


Análisis y diseño

Las herramientas de análisis y diseño son muy diferentes según su metodología.

En metodología estructurada permiten realizar DFDs, descomposición modular de programas y modelos entidad/relación. Las herramientas más clásicas siguen esta metodología, aunque están adaptándose para permitir técnicas tanto estructuradas como orientadas a objetos, ya que cada vez la metodología estructurada se utiliza menos. Un ejemplo sería PowerDesigner, de Sybase, o Designer, de Oracle (herramienta por excelencia para hacer Diagramas ED y E/R.

Las herramientas de metodología orientada a objetos, debido a que el desarrollo es iterativo, suele haber una fuerte integración entre el diseño y la generación de código. 

Se puede generar a partir de un modelo de clases el código que le da soporte, normalmente en varios lenguajes de programación. Las herramientas más modernas como SDE permiten además que el modelo se actualice conforme se modifica el código. Un ejemplo de este tipo de herramientas sería el ya mencionado Smart Development Environment , Rational Rose o Enterprise Architect.

Programación

Las herramientas de programación facilitan las tareas de edición, compilación y depuración de código. Suelen estar integradas en un entorno de desarrollo o IDE (de Integrated Development Environment). Se incluyen en esta categoría, aparte de las mencionadas, herramientas como los editores de código con chequeo de sintaxis, los generadores de interface de usuario (editores de ventanas), generadores de consultas a bases de datos, etc.

Ejemplos de este tipo de herramientas serían Microsoft Visual Studio o Eclipse.

Integración y pruebas

TODO: ejemplo
TestLink, JUnit, JMeter, etc.

Soporte y mantenimiento

TODO: ejemplo

Otra posible clasificación según el ciclo de vida las divide en Upper-CASE (apoyo a las fases iniciales: análisis de requisitos, gestión de proyectos), Medium-CASE (análisis y diseño) y Lower-CASE (implementación, pruebas y mantenimieno).

Estructura

ver herramientas case-tema2 en los materiales

Prestaciones

Dado que las herramientas CASE están en continua evolución y cada empresa utiliza las que considera más adecuadas, no tendría sentido centrar este apartado en el uso profesional de las mismas. En vez de eso voy a mencionar algunas herramientas CASE que resultarían de utilidad en la práctica docente, mencionando dónde podrían resultar más apropiadas.

Modeling Software KIT (MOSKitt)

Es una herramienta CASE LIBRE, basada en Eclipse que está siendo desarrollada por la Consellería de Infraestructuras y Transporte (CIT) para dar soporte a la metodología gvMétrica (una adaptación de Métrica III a sus propias necesidades). gvMétrica utiliza técnicas basadas en el lenguaje de modelado UML.

MOSKitt se desarrolla en el marco del proyecto gvCASE, uno de los proyectos integrados en gvPontis, el proyecto global de la CIT para la migración de todo su entorno tecnológico a Software Libre.

Gestión de proyectos y requisitos
Análisis y diseño
Programación
Integración y pruebas
Soporte y mantenimiento

También pueden resultar de utilidad entornos web para el desarrollo de código. Por ejemplo, Google Code permite generar de forma sencilla un proyecto de desarrollo. Proporciona un servidor SVN para guardar el código, un Wiki para la documentación, y gestión de permisos para el acceso. Mediante Google Code puede generarse en unos minutos un entorno que permita a los alumnos trabajar de forma colaborativa en un proyecto tanto desde el centro como desde sus casas. El problema lo tendríamos con el ancho de banda, que suele ser limitado en los centros educativos.

Enlaces de interés.

Bibliografía

Ejemplo

  • Smart Development Environment http://www.visual-paradigm.com/product/sde/
  • ArgoUML, Herramienta de modelado UML escrito en Java (enlace externo)
  • BOUML, Ligera herramienta de modelado UML y generación de código C++, Java e IDL. Disponible para Windows, Unix/Linux y Mac OS X (Sitio Oficial)
  • Fujaba, No solo sirve para modelar sino que puede generar código Java automáticamente. También es capaz de hacer ingeniería inversa y crear los diagramas a partir del código Java [1].
  • Dia Puede ser usado para modelar varios tipos de diagramas UML (enlace externo)
  • gModeler Herramienta para modelado de UML basada en Flash (utilizable desde el navegador), que permite generar código Action Script 2.0 Compatible (enlace externo)
  • MonoUML Herramienta CASE para la plataforma mono (Sitio Oficial)
  • Papyrus, Herramienta gráfica basada en Eclipse para el modelado con UML2, es de código abierto y se ofrece bajo licencia EPL (Sitio Oficial)
  • StarUML Herramienta de modelado para Windows desarrollada en Delphi. Bastante estable y utilizable (enlace externo)
  • TCM, Toolkit for Conceptual Modeling, herramienta para crear diversos tipos de diagramas incluidos UML [http://wwwhome.cs.utwente.nl/~tcm/ Web oficial)
  • Umbrello Herramienta para modelado UML para el entorno KDE (enlace externo)
  • UMLet Herramienta para modelado rápido de UML también escrita en Java (enlace externo)
  • Netbeans módulo UML -> no acepta UML2.0
  • Existen varios programas libres para hacer diagramas de Gantt:
  • GanttProject: quizás uno de los más extendidos, está programado en Java por lo que es multiplataforma. Me parece algo lento y además la navegación por el timeline es poco intuitiva, pero viene bien para salir del paso.
  • TaskJuggler: cuenta con una inferfaz CLI y una GUI, pero parece algo complejo si sólo se quieren hacer cosas básicas. Además para cambiar una tarea el editor gráfico muestra el fichero de texto para editarlo directamente.
  • KPlato: forma parte de la suite KOffice de KDE. Parece algo verde, además no he podido ni cambiar la duración de una tarea de manera fácil.
  • OpenWorkbench: la alternativa a Microsoft Project, está programado en Java pero de momento sólo funciona en entornos windows así que no lo he podido probar, pero tiene buena pinta. Port para GNU/Linux en camino.
  • OpenProj: también desarrollado en Java y multiplataforma, es el programa que más me ha convencido. No tiene unas barras espectaculares pero es muy sencillo y intuitivo crear tareas y modificar su duración y fechas de inicio/fin y además cuenta con varias vistas del proyecto interesantes. Es un programa open-source pero no libre, pero tiene hasta paquetes debian para su descarga.
  • Planner: un gestor de projectos para el entorno GNOME desarrollado con las librerías GTK+, simple pero efectivo.

Si te ha gustado esta entrada, suscríbete para recibir las próximas entradas por correo electrónico. Por favor, apoya este blog.

Entradas populares