Sistemas de Información para Recursos Humanos

Page 1

Sistemas de Informaciรณn para Recursos Humanos


Universidad de Guanajuato Divisiรณn de Ciencias Econรณmico Administrativas Lic. Relaciones Industriales Uda: Sistemas de Informaciรณn para RH Actividad 0 Biblioteca Digital Integrantes de equipo: Veronica Murillo Lona, Dulce Patricia Ponce Salazar y Veronica Lรณpez Durรกn Fecha: 17 de Abril del 2018


Contenido Biblioteca Digital ...........................................................................................................................1 Paso 1: Ingresar la página oficial de la Biblioteca www.bibliotecas.ugto.mx ............1 Paso 2: Deberás ingresar a la sección de BIBLIOTECA DIGITAL .................................2 Paso 3: Seleccionar una de las bases de datos ................................................................2 Paso 4: revisar los resultados y hacer modificaciones. ..................................................4 Ingresar a la Biblioteca digital desde tu casa ..............................................................................5 Paso 1: Ingresar de nuevo a la página oficial www.bibliotecas.ugto.mx ....................5 Paso 2: Llenar tus datos ..........................................................................................................6 Paso 3: Menú de bases de datos ...........................................................................................6 Paso 4: selección de Base de datos .....................................................................................7 Paso 5: Comienza a navegar en la biblioteca digital ........................................................7 Paso 6: Revisión de los resultados ......................................................................................8 Dato curioso ...................................................................................................................................9

Índice de Figuras Figura 1 Página oficial.........................................................................................................................1 Figura 2 Biblioteca digital ...................................................................................................................2 Figura 3 Menú de bases de datos .......................................................................................................3 Figura 4 inicia tu búsqueda ................................................................................................................3 Figura 5 opciones nuevas ...................................................................................................................4 Figura 6 Resultados de búsqueda.......................................................................................................4 Figura 7 Palabras clave .......................................................................................................................5 Figura 8 desde casa ............................................................................................................................5 Figura 9 ingresa tus datos ..................................................................................................................6 Figura 10 Bases de datos ....................................................................................................................6 Figura 11 Dentro de la base de datos .................................................................................................7 Figura 12 EBSCOhost ..........................................................................................................................7 Figura 13 Opciones dentro de la base de datos .................................................................................8 Figura 14 Resultados aproximadamente ............................................................................................8 Figura 15 Menú para ingresar ............................................................................................................9 Figura 16 Agrega tus datos .................................................................................................................9 Figura 17 Opciones que tienes una vez dentro ................................................................................10 Figura 18 Búsqueda de material .......................................................................................................10 Figura 19 resultados de material solicitado......................................................................................11 Figura 20 Datos para encontrar tu material más rápido en la biblioteca de tu Sede .......................11


Biblioteca digital

Biblioteca Digital La Biblioteca Digital de la Universidad de Guanajuato está conformada por diversas colecciones digitalizadas y recursos electrónicos organizados, que cubren diversas áreas del conocimiento. Sus usuarios son la comunidad de profesores, investigadores, alumnos y personal administrativo de la institución. Las bases de datos -a texto completo- proporcionan íntegramente estadísticas, artículos de publicaciones periódicas o libros de diversas editoriales y de contenido científico de interés

para

la

comunidad

universitaria.

Las

bases

de

datos referenciales proporcionan resúmenes y referencias bibliográficas de literatura científica. Para poder ingresar a esta plataforma, existen dos formas, la primera se usa desde cualquier equipo que este conectado a la red de wifi de la Universidad. Los pasos para ingresar de esta forma son los siguientes: Paso 1: Ingresar la página oficial de la Biblioteca www.bibliotecas.ugto.mx

Figura 1 Página oficial

1


Biblioteca digital

Paso 2: Deberás ingresar a la sección de BIBLIOTECA DIGITAL En esta sección se abrirá una ventana como la Figura 2 Biblioteca digital la siguiente, en la cual podrás encontrar un menú de opciones sobre las áreas en las que puedes comenzar a investigar sobre el tema de interés, además de que aquí es donde se muestran todas las bases de datos que contiene la biblioteca digital.

Figura 2 Biblioteca digital

Paso 3: Seleccionar una de las bases de datos Al dar clic en biblioteca digital podrás ver una serie de menú donde encontraras las bases de datos que podrás seleccionar dependiendo de lo que sea de tu interés, cada base de datos tiene su propia forma de recibir la información para así poder regresarte las respuestas que sean de acuerdo con tu tema. Además de que podrás visualizar cada área en la parte de arriba del menú. Para poder ingresar a estas bases de datos solo tienes que dar clic en CONSULTAR, aparece una nueva ventana donde tendrás que poner la palabra o frase que deseas buscar, además de que en algunas bases de datos te ofrecen la opción de anotar dos palabras o frases mas con las que pueden dar el resultado más rápido el tema que tú necesitas.

2


Biblioteca digital

Figura 3 MenĂş de bases de datos

Figura 4 inicia tu bĂşsqueda

3


Biblioteca digital

Figura 5 opciones nuevas

Paso 4: revisar los resultados y hacer modificaciones. En este paso tu podrás revisar los resultados además de que podrás, visualizar en algunas bases de datos, al lado izquierdo de la pantalla de tu equipo un menú donde puedes realizar modificaciones a tu búsqueda, además de encontrar con una serie de palabras llamadas Tesauros, los cuales te servirán como ayuda para usarlas como palabras clave para tu búsqueda.

Figura 6 Resultados de búsqueda

4


Biblioteca digital

Figura 7 Palabras clave

Ingresar a la Biblioteca digital desde tu casa Paso 1: Ingresar de nuevo a la página oficial www.bibliotecas.ugto.mx En este paso, deberás repetir el paso 2 de la búsqueda con la red Universitaria, donde aparecerá una ventana como la Figura 8 desde casa, donde se ve un párrafo que especifica que estas fuera de la red Universitaria, además te dice donde debes seguir para ingresar a la plataforma. Además, aquí podrás encontrar un tutorial para que sigas los pasos.

Figura 8 desde casa

5


Biblioteca digital

Paso 2: Llenar tus datos En este paso deberás ingresar tu correo institucional y tu contraseña para poder ingresar a las bases de datos solo das clic en Login.

Figura 9 ingresa tus datos

Paso 3: Menú de bases de datos Al dar clic en login, aparecerá una ventana donde esta una lista de las bases de datos que tiene la biblioteca Universitaria, a las cuales tu puedes ingresar para realizar tus investigaciones.

Figura 10 Bases de datos

6


Biblioteca digital

Paso 4: selección de Base de datos Al momento de seleccionar una base de datos, aparecerá una ventana donde deberas seleccionar el nombre de la base de datos nuevamente, esto dependerá del nombre de la base que selecciones.

Figura 11 Dentro de la base de datos

Paso 5: Comienza a navegar en la biblioteca digital Aquí se inicia la búsqueda de los temas de interés, en el recuadro se debe poner la palabra o frase del tema, se le pone en Buscar y así aparecerán tus resultados, además de que podrás seleccionar búsqueda avanzada en la que podrás poner no solo las palabras del tema, sino que también puedes poner palabras relacionadas, para que tu tema sea buscado y te arroje mas resultados confiables y exactos.

Figura 12 EBSCOhost

7


Biblioteca digital

Figura 13 Opciones dentro de la base de datos

Paso 6: Revisión de los resultados Al momento de que aparecen los resultados de la búsqueda, en la parte de debajo de cada uno hay una fase que dice Texto completo en pdf, al cual debes de dar clic para que aparezca el documento relacionado con tu búsqueda y tu puedas revisarlo y así descubrir si te sirve o tienes que buscar mas opciones.

Figura 14 Resultados aproximadamente

8


Biblioteca digital

Dato curioso Cuando ya tienes en tu poder algún libro o material de la biblioteca, podrás checarlo desde internet de cualquier dispositivo y además puedes renovar este material, pero únicamente tres veces, para después hacerlo debes ir hasta la cede para cambiar el material y volver hacer las renovaciones. Para realizar todo lo anterior debes registrarte en la plataforma de la biblioteca eso lo debes hacer con algún encargado de la biblioteca este trámite tarda como cinco minutos, ya después con la contraseña y el Id de usuario podrás entrar y veras tu cuenta, desde la cual tienes acceso a varios servicios, uno de ellos es realizar la búsqueda de libros y esto te sirve para darte cuenta en que lugar esta el libro, su numero para identificarlo y de esta manera puedes saber si esta en tu sede esta. En la plataforma podrás encontrar tutoriales de todos estos pasos.

Figura 15 Menú para ingresar

Figura 16 Agrega tus datos

9


Biblioteca digital

Figura 17 Opciones que tienes una vez dentro

Figura 18 BĂşsqueda de material

10


Biblioteca digital

Figura 19 resultados de material solicitado

Figura 20 Datos para encontrar tu material mรกs rรกpido en la biblioteca de tu Sede

11


Universidad de Guanajuato

Divisiรณn de Ciencias Econรณmico Administrativas

Lic. Relaciones Industriales

UDA: Sistemas de informaciรณn para RH

Actividad 1

Alumna: Veronica Murillo Lona, Dulce Patricia Ponce Salazar y Veronica Lรณpez Durรกn

Maestro: Alfaro Cuellar Ricardo

Fecha: 17 de abril del 2018


Contenido Fundamentos y tipos de sistemas de información ......................................................................1 Definición de un Sistema de información .................................................................................1 Los sistemas de información se clasifican en..........................................................................1 Componentes de los sistemas de información ........................................................................9 Conceptos ..................................................................................................................................12 Datos .......................................................................................................................................12 Proceso de los datos.............................................................................................................14 Información .............................................................................................................................15 Elementos de un Sistema de Información .................................................................................18 Equipos de cómputo .................................................................................................................18 Supercomputadoras ..............................................................................................................18 Mainframes .............................................................................................................................19 Computadoras personales ...................................................................................................19 Computadoras híbridas ........................................................................................................20 Computadoras portátiles.......................................................................................................21 Computadoras de escritorio .................................................................................................21 Netbooks .................................................................................................................................22 Tablet ......................................................................................................................................22 Teléfonos inteligentes ...........................................................................................................23 Computadoras vestibles .......................................................................................................23 computadoras del futuro .......................................................................................................24 Periféricos ...................................................................................................................................24 Recursos Humanos ...................................................................................................................26 Datos e información ..................................................................................................................28 Programas ..................................................................................................................................29 Diseño conceptual de los sistemas de información ..................................................................34 Ejemplos de las actividades que realizan los SI .......................................................................35 Sistema de procesamiento de transacción (TPS) .......................................................35 Sistema de soporte de decisiones (DSS) ......................................................................35 ¿Cómo es implementado en la empresa el Sistemas de apoyo a la toma de decisiones (DSS)? ...............................................................................................................36 Sistemas de información gerencial (SIG) ......................................................................36


Sistemas de información estratégicos ........................................................................................37 Etapas del ciclo de vida de los sistemas de información .........................................................42 Análisis de sistemas ..................................................................................................................42 Investigación preliminar ............................................................................................................42 Requerimientos ..........................................................................................................................42 Determinación del objetivo .......................................................................................................45 Determinación de la factibilidad ...............................................................................................45 Factibilidad técnica: ...............................................................................................................45 Factibilidad económica: ........................................................................................................46 Factibilidad social: .................................................................................................................46 Planteamiento ............................................................................................................................46 Análisis de hechos ....................................................................................................................46 Calidad de información .............................................................................................................47 Redundancia mínima ................................................................................................................47 Facilidad operativa ....................................................................................................................48 Controles ....................................................................................................................................48 Eficiencia y requerimientos ......................................................................................................50 Herramientas de un analista ....................................................................................................53 Diagrama de flujo de datos ......................................................................................................54 Diccionario de datos ..................................................................................................................55 Diseño .........................................................................................................................................56 Formato.......................................................................................................................................57 Tipos de salidas .........................................................................................................................57 Diseño de entradas ...................................................................................................................59 Complejidad ...............................................................................................................................60 Movimientos ...............................................................................................................................61 Formularios.................................................................................................................................62 Otras formas de entrada ...........................................................................................................63 Diseño de archivos ....................................................................................................................63 Diseño de procesos...................................................................................................................68 Definición de software ...............................................................................................................72 Los 7 tipos de software .............................................................................................................72 Las webApps ..............................................................................................................................72


Ingenieria de software ...............................................................................................................73 El proceso de software .............................................................................................................74 Mitos del software ......................................................................................................................75 El modelo general de proceso .................................................................................................78 Evaluación y mejora de proceso .............................................................................................79 Modelos de procesos prescriptivos .........................................................................................79 Modelos de proceso especializado .........................................................................................81 Proceso Unificado .....................................................................................................................83 Modelo de proceso personal y del equipo .............................................................................85 Tecnología de proceso .............................................................................................................87 Producto y proceso ...................................................................................................................87 Desarrollo Ágil ............................................................................................................................88 Programación XP o extrema ....................................................................................................91 Conjunto de herramientas para el proceso ágil ...................................................................103 Pruebas.....................................................................................................................................104 Bibliografía .....................................................................................................................................129


Fundamentos y tipos de sistemas de información

Definición de un Sistema de información

Un SI, es un tipo especializado de sistema que puede definirse de muchas maneras. Es un conjunto de elementos que interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio. Es un conjunto de elementos o componentes interrelacionados para recolectar, manipular y diseminar datos en información y para proveer un mecanismo de retroalimentación en pro del cumplimiento de un objetivo.

Un sistema de información está integrado de una gran variedad de elementos que se interrelacionan entre sí con el fin de apoyar las actividades de una empresa o negocio. Se considera que un sistema de información brinda información a todos los subsistemas de una organización. Es por eso que un analista se dedica a estudiar todas las partes de una organización,

para

entonces

especificar

sus

sistemas

de

información

correspondientes. Al considerar estos elementos, el analista debe especificar cómo deben funcionar el sistema y sus subsistemas, las entradas requeridas y las salidas que se deben proporcionar, así como los trabajos que serán realizados de forma manual y los que serán realizados por medio de las computadoras.

Los sistemas de información se clasifican en: ➢ Sistemas transaccionales ➢ Sistemas para la gestión de información ➢ Sistemas de información ejecutiva ➢ Sistemas de apoyo a las decisiones ➢ Sistemas expertos

1


Sistemas transaccionales Un sistema transaccional controla el flujo de la seguridad y la consistencia de los datos involucrados. Por ejemplo: un cliente de un banco realiza una transacción de efectivo de un número de cuenta a otra, de modo que la cantidad de dinero que se le descuenta a la primera cuenta debe ser la misma cantidad de dinero que recibe la segunda cuenta. En caso contrario, la transacción no se efectuaría. Un sistema transaccional tiene la capacidad de corregir cualquier tipo de error que llegue a surgir durante una transacción almacenando la información obtenida antes de que dicho error surgiera. Por consiguiente, es capaz de controlar y administrar múltiples transacciones, determinando las prioridades que hay entre éstas. Por ejemplo, si una persona decide reservar un asiento de un vuelo, dicho asiento debe ser bloqueado momentáneamente hasta que la operación finalice, ya que otra persona podría llegar a estar reservando el mismo asiento en el mismo momento. “Los sistemas de procesamiento de las transacciones (TPS) tiene como finalidad mejorar las actividades rutinarias de una empresa y de las que depende toda la organización”.

Las principales características de los sistemas transaccionales son:

1) A través de estas automatizaciones de tareas operativas de la organización se ha podido ahorrar un valioso tiempo en mano de obra. 2) Son consideradas como el primer tipo de sistema de información que llega a implementarse en las organizaciones. Este sistema sirve como apoyo en las tareas a nivel operativo de la organización. 3) En los sistemas transaccionales son importantes las entradas y las salidas de información, y los procesos que llegan a realizarse suelen ser simples y poco sofisticados. 4) Su prioridad es recolectar la información, es decir, a través de estos sistemas se cargan grandes bases de la información para su explotación. 3 James A. Senn, Análisis y diseño de sistemas de información, p. 25. 36

2


5) Los sistemas transaccionales tienen una facilidad para justificarse ante la dirección general, ya que los beneficios que proporcionan son visibles y palpables.

Sistemas para la gestión de información Un sistema de información gerencial es un conjunto de sistemas de información que interactúan entre si y que a su vez proporcionan información a la administración acerca de las necesidades que se tienen en las operaciones. “Los sistemas de información administrativa (MIS) ayudan a los directivos a tomar decisiones y resolver problemas”.4 Prácticamente, se puede decir que una computadora no es un elemento indispensable en un Sistema de Información Gerencial (SIG), pero en las prácticas es probable que no se utilice un SIG complejo sin la ayuda de una computadora. El SIG es conocido como una agrupación de la información extensa y coordinada de subsistemas relacionados que convierten los datos en información en una gran variedad de formas para mejor la productividad con el estilo del administrador y sus características.

Sistemas de apoyo a las decisiones “No todas las decisiones son de naturaleza recurrente. Algunas se representan sólo una vez o escasamente. Los sistemas para el soporte de decisiones (DSS) ayudan a los directivos a tomar decisiones no muy estructuradas, también denominadas no estructuradas o decisiones semiestructuradas”. Un sistema de soporte a decisiones suele ser implementado después de los sistemas transaccionales más importantes de una empresa, y prácticamente estos sistemas llegan a ser la plataforma principal en el manejo de su información. La información generada por estos sistemas comúnmente sirve de apoyo a los mandos intermedios y a la alta administración para tomar sus decisiones. Los sistemas para el soporte a decisiones llegan a ser muy pesados en cálculos y muy débiles en entradas y salidas de la información. Por ejemplo: una planeación financiera llega a requerir una escasa información en la entrada, que a su vez produce poca información como respuesta, pero en el

3


proceso suelen ser realizados una gran cantidad de cálculos. En este proceso no se ahorra mano de obra. Debido a ello, su justificación económica llega a ser muy complicada, ya que se desconocen las ganancias de un proyecto de inversión en sistemas de soporte a decisiones. Estos sistemas llegan a ser amigables e interactivos por sus altas perspectivas en su diseño gráfico y visual, ya que están desarrollados especialmente para los usuarios. Los sistemas de soporte a decisiones apoyan tanto a la toma de las decisiones rutinarias como a la toma de decisiones no estructurada que no suele repetirse. Por ejemplo, un sistema de compra de materiales que nos indique cuándo hay que hacer un pedido a los proveedores u otro sistema de simulación de negocios que apoye la decisión de integrar un nuevo producto en el mercado. Frecuentemente estos sistemas son creados por los usuarios sin la necesidad de requerir los servicios de un programador o un analista que tengan conocimiento de esta área. En estos sistemas también se puede tomar en cuenta la programación de la producción, la compra de materiales, el flujo de los fondos, las proyecciones financieras, el desarrollo de modelos de simulación de negocios, modelos de inventarios, etcétera.

Efectos en las organizaciones Un sistema de información tiene la capacidad de reducir costos, reemplazando capital y mano de obra, pero también disminuye el costo de las transacciones, esto es, el costo que se genera por la participación de una empresa en un mercado. Un sistema de información también llega a reducir los costos internos de administración. Teoría de la agencia: cada empleado pelea por sus propios intereses, pero cuando hay tecnología de por medio es más fácil de controlar, algo que tiene mucha más importancia cuando una empresa está en crecimiento. En la teoría conductual se describe el funcionamiento de una empresa individual. La tecnología de la información puede modificar su jerarquía o la toma de sus decisiones en cualquier organización al reducir sus costos de adquirir información y al incrementar la distribución de la misma. En la actualidad, una autoridad de base es más importante por su conocimiento que por el cargo que se le ha

4


asignado, y es muchísimo más fácil amar los equipos de trabajo cuando éstos están conectados por medio de la red. Dentro de una organización existen pugnas políticas y resistencias al cambio entre quienes las conforman. Así pues, otra ventaja de la implementación de los sistemas de información es que éstos tienen la capacidad de modificar la estructura, la cultura, la política y el trabajo de una organización. Por último, es necesario señalar que el Internet también aumenta la accesibilidad, el almacenamiento y la distribución de información y conocimientos en las organizaciones con excelentes resultados.

Un sistema de información según dice (Laudon, 2012) es un conjunto de componentes

interrelacionados

que

recolectan

(o

recuperan),

procesan,

almacenan y distribuyen información para apoyar los procesos de toma de decisiones, la coordinación y el control en una organización. Además, pueden ayudar a los gerentes y trabajadores del conocimiento a analizar problemas, visualizar temas complejos y crear nuevos productos.

En algunos sitios web, donde se habla de tecnología, explican que hay seis tipos de sistemas de información, como son:

1. Sistemas de procesamiento de transacciones

Los sistemas de procesamiento de transacciones (TPS por sus siglas en inglés) son los sistemas empresariales básicos que sirven al nivel operacional de la organización. Un sistema de procesamiento de transacciones es un sistema computarizado que realiza y registra las transacciones rutinarias diarias necesarias para el funcionamiento de la empresa. Se encuentran en el nivel más bajo de la jerarquía organizacional y soportan las actividades cotidianas del negocio.

2. Sistemas de control de procesos de negocio

5


Los sistemas de control de procesos de negocio (BPM por sus siglas en inglés) monitorizan y controlan los procesos industriales o físicos, como puede ser la refinación de petróleo, generación de energía o los sistemas de producción de acero en una planta siderúrgica. Por ejemplo, en una refinería de petróleo se utilizan sensores electrónicos conectados a ordenadores para monitorizar procesos químicos continuamente y hacer ajustes en tiempo real que controlan el proceso de refinación. Un sistema de control de procesos comprende toda una gama de equipos, programas de ordenador y procedimientos de operación.

3. Sistemas de colaboración empresarial

Los sistemas de colaboración empresarial (ERP por sus siglas en inglés) son uno de los tipos de sistemas de información más utilizados. Ayudan a los directivos de una empresa a controlar el flujo de información en sus organizaciones. Se trata de uno de los tipos de sistemas de información que no son específicos de un nivel concreto en la organización, sino que proporcionan un soporte importante para una amplia gama de usuarios. Estos sistemas de información están diseñados para soportar tareas de oficina como sistemas multimedia, correos electrónicos, videoconferencias y transferencias de archivos.

4. Sistemas de Información de Gestión

Los sistemas de información de gestión (MIS por sus siglas en inglés) son un tipo de sistemas de información que recopilan y procesan información de diferentes fuentes para ayudar en la toma de decisiones en lo referente a la gestión de la organización. Los sistemas de información de gestión proporcionan información en forma de informes y estadísticas. El siguiente nivel en la jerarquía organizacional está ocupado por gerentes y supervisores de bajo nivel. Este nivel contiene los sistemas informáticos que están destinados a ayudar a la gestión operativa en la

6


supervisión y control de las actividades de procesamiento de transacciones que se producen a nivel administrativo. Los sistemas de información de gestión utilizan los datos recogidos por el TPS para proporcionar a los supervisores los informes de control necesarios. Los sistemas de información de gestión son los tipos de sistemas de información que toman los datos internos del sistema y los resumen en formatos útiles como informes de gestión para utilizarlos como apoyo a las actividades de gestión y la toma de decisiones.

5. Sistemas de apoyo a la toma de decisiones

Un sistema de apoyo a la toma de decisiones o de soporte a la decisión (DSS por sus siglas en inglés) es un sistema basado en ordenadores destinado a ser utilizado por un gerente particular o por un grupo de gerentes a cualquier nivel organizacional para tomar una decisión en el proceso de resolver una problemática semiestructurada. Los sistemas de apoyo a la toma de decisiones son un tipo de sistema computarizado de información organizacional que ayuda al gerente en la toma de decisiones cuando necesita modelar, formular, calcular, comparar, seleccionar la mejor opción o predecir los escenarios. Los sistemas de apoyo a la toma de decisiones están específicamente diseñados para ayudar al equipo directivo a tomar decisiones en situaciones en las que existe incertidumbre sobre los posibles resultados o consecuencias. Ayuda a los gerentes a tomar decisiones complejas.

6. Sistemas de Información Ejecutiva

Los sistemas de información ejecutiva (EIS por sus siglas en inglés) proporcionan un acceso rápido a la información interna y externa, presentada a menudo en formato gráfico, pero con la capacidad de presentar datos básicos más detallados si es necesario. Los sistemas información ejecutiva proporcionan información

7


crítica de una amplia variedad de fuentes internas y externas en formatos fáciles de usar para ejecutivos y gerentes. Un sistema de información ejecutiva proporciona a los altos directivos un sistema para ayudar a tomar decisiones estratégicas. Está diseñado para generar información que sea lo suficientemente abstracta como para presentar toda la operación de la empresa en una versión simplificada para satisfacer a la alta dirección.

Otros tipos de sistemas de información

En este artículo, hemos presentado los 6 tipos de sistemas de información más relevantes en el contexto actual. No obstante, existen otros como, por ejemplo, los siguientes: sistemas expertos, sistemas de gestión del conocimiento, sistemas de información estratégica, sistemas funcionales de negocio, sistemas de información de ventas y marketing, sistemas de información de fabricación y producción, sistemas de información financieros y de contabilidad, y sistemas de información de recursos humanos. Identifica cuáles son tus necesidades y las de tu empresa, y opta por los sistemas de información más adecuados. La clave del éxito de una empresa no reside en poseer todas las herramientas disponibles, sino en contar con las que más se adaptan a tus características.

8


Componentes de los sistemas de información De acuerdo con la Figura 1 Componentes de los sistemas de información podemos observar los componentes que se muestran a continuación: • • • •

Entrada: actividad consistente en la recopilación y captura de datos. Procesamiento: conversión o transformación de datos en salida. Salida: información útil, por lo general bajo la modalidad de documentos y/o informes. Retroalimentación: salida que sirve para hacer cambios en las actividades de entrada o procesamiento.

Figura 1 Componentes de los sistemas de información

Según (Laudon, 2012), los componentes de los sistemas de información son los siguientes, que van de acuerdo con la Figura 2 Componentes de los sistemas de información: Entrada: Captura o recolecta los datos en crudo desde el interior de la organización o a través de su entorno externo. Procesamiento: Convierte esta entrada en bruto en un formato significativo. Salida: Transfiere la información procesada a las personas que harán uso de ella, o a las actividades para las que se utilizara. Retroalimentación: La salida que se devuelve a los miembros apropiados de la organización para ayudarles a evaluar o corregir la etapa de la entrada.

9


Figura 2 Componentes de los sistemas de información

Las entradas

Pueden ser manuales o automáticas. Las unidades típicas de entrada de datos a las computadoras son las estaciones de trabajo, los dispositivos de almacenamiento, lector de código de barras, los escáners, la voz, los monitores sensibles al tacto, teclado y mouse entre otras.

Almacenamiento de datos

A través de esta propiedad el sistema puede recordar la información guardada en la sesión o el proceso anterior. Esta

información

suele

ser

almacenada

en

estructuras

de

información

denominadas archivos. Discos magnéticos o discos duros, discos flexibles, discos compactos, dispositivos de alta capacidad.

Procesamiento de los datos

10


Es la capacidad para efectuar cálculos de acuerdo con una secuencia de operaciones preestablecidas. Estas características de los sistemas permiten la transformación de datos fuentes en información que puede ser utilizada para la toma de decisiones.

Salida Es la capacidad de un SI para sacar la información procesada o bien datos de entrada al exterior. Las unidades típicas de salida son las impresoras, estaciones de trabajo, dispositivos de almacenamiento, la voz, los graficadores, los plotters, entre otros. Puede constituir la entra a otro SI o módulo a través de una interfaz automática.

11


Conceptos Datos Un tipo de datos es la propiedad de un valor que determina su dominio (qué valores puede tomar), qué operaciones se le pueden aplicar y cómo es representado internamente por el computador. Todos los valores que aparecen en un programa tienen un tipo.

A continuación revisaremos los tipos de datos elementales de Python. Además de éstos, existen muchos otros, y más adelante aprenderemos a crear nuestros propios tipos de datos.

Números enteros El tipo int (del inglés integer, que significa «entero») permite representar números enteros. Los valores que puede tomar un int son todos los números enteros: ... -3, -2, 1, 0, 1, 2, 3, ... Los números enteros literales se escriben con un signo opcional seguido por una secuencia de dígitos.

Números reales El nombre float viene del término punto flotante, que es la manera en que el computador representa internamente los números reales.

Hay que tener mucho cuidado, porque los números reales no se pueden representar de manera exacta en un computador. Por ejemplo, el número decimal 0.7 es representado internamente por el computador mediante la aproximación 0.69999999999999996.

Todas

las

operaciones

entre

valores float son

aproximaciones. Esto puede conducir a resultados algo sorpresivos.

12


Los números reales literales se escriben separando la parte entera de la decimal con un punto. Las partes entera y decimal pueden ser omitidas si alguna de ellas es cero.

Otra representación es la notación científica, en la que se escribe un factor y una potencia de diez separados por una letra e. Los

dos

últimos

valores

del

ejemplo

a 6.02×10236.02×1023 (la constante

son

iguales,

respectivamente,

de

Avogadro)

y 9.1094×10−319.1094×10−31 (la masa del electrón).

Números complejos El tipo complex permite representar números complejos. Los números complejos tienen una parte real y una imaginaria. La parte imaginaria es denotada agregando una j inmediatamente después de su valor.

Valores lógicos Los valores lógicos True y False (verdadero y falso) son de tipo bool, que representa valores lógicos. El nombre bool viene del matemático George Boole, quien creó un sistema algebraico para la lógica binaria. Por lo mismo, a True y False también se les llama valores booleanos. El nombre no es muy intuitivo, pero es el que se usa en informática, así que hay que conocerlo.

A los valores que representan texto se les llama strings, y tienen el tipo str. Los strings literales pueden ser representados con texto entre comillas simples o comillas dobles.

Nulo Existe un valor llamado None (en inglés, «ninguno») que es utilizado para representar casos en que ningún valor es válido, o para indicar que una variable todavía no tiene un valor que tenga sentido.

13


El valor None tiene su propio tipo, llamado NoneType, que es diferente al de todos los demás valores.

Proceso de los datos Los datos en bruto entran al sistema y, a partir de ese momento, sólo de la organización depende el uso que se les dé. Aunque todos los procesos de datos son distintos, en todos se aprecia un esquema común: tras el acceso, se produce el despliegue al largo de sistemas informáticos, software, aplicaciones varias... un recorrido que parte del dato y termina en la producción de conocimiento y contexto. El paso previo a la generación de valor.

Las etapas de los procesos de datos Conocer las etapas de los procesos de datos es importante para optimizarlos, entenderlos mejor y lograr extraer todo el partido a cada bit de información que se introduce en el sistema. Así, puede hablarse de seis fases comunes a la mayoría de ellos:

Recogida: es la primera etapa del ciclo y la más relevante ya que la calidad de los datos recogidos afectará en gran medida a los productos que de ellos se obtengan. Esta etapa proporciona tanto la línea de base desde la que organizar el sistema de métricas, como la información necesaria acerca de los objetivos de los procesos de datos, que son los que ayudan a continuar mejorando.

Preparación: en esta etapa se manipulan los datos, con el fin de que adquieran el formato adecuado para su posterior análisis y procesamiento. Los datos en bruto no pueden ser procesados y se debe comprobar su exactitud para evitar errores en fases posteriores.

Entrada de datos: ya se lleve a cabo de forma manual, digital o automatizada, este tipo de procesos de datos buscan convertir los datos en información procesable.

14


Esta etapa, que consume bastante tiempo, requiere velocidad y precisión aunque se caracteriza por su intensidad en recursos.

Procesamiento: llegados a este punto, los datos se someten a diversos métodos, cada uno con sus instrucciones; a través de los que se intentan evaluar, clasificar y organizar para obtener información útil. Ésta es una de las metas de los procesos de datos y que, gracias a los avances tecnológicos, cada vez es posible conseguir en periodos de tiempo más reducidos. Interpretación y análisis: la información procesada se transmite al usuario de negocio, quien se ocupará de acceder a ella a través de informes, visualizaciones, montajes de vídeo o audio; para obtener el conocimiento que guiará las decisiones futuras de la empresa.

A partir de este momento, la información empleada se almacena y el conocimiento extraído se comparte de forma individual o se deja a disposición de todos los demás usuarios de la organización en una plataforma. Lo importante es que la velocidad, la actualización, la seguridad y la accesibilidad nunca se vean comprometidas, puesto que, de suceder cualquiera de esos contratiempos se estaría malgastando el esfuerzo invertido en los procesos de datos.

Información Es un conjunto organizado de datos procesados, constituyen un mensaje que pasa al conocimiento del sujeto o de quien recibe el mensaje. Desde otro punto de vista, la información es el conocimiento extraído por seres vivos o sistemas expertos como resultado de la interacción con el entorno. La información, a diferencia de los datos aislados, tiene una estructura útil que modifica las interacciones de quien posee la información de su entorno. En el campo de la informática administrativa, los tipos de información son los siguientes:

15


Información pública.. Este tipo de información es aquella que cualquier persona puede conocer por poco que se lo proponga. Este tipo de información es importante para conseguir logros comerciales, pero en ocasiones resulta un problema dirigirla solamente al exterior de la empresa. Todos los individuos de una empresa o de cualquier proyecto deben tener una extensa información de lo que el usuario pueda requerir. Información interna. Son los datos para poder llevar a cabo un proyecto, así como las informaciones relativas a la propia empresa que tiene todo su equipo de trabajo. Debido a los diferentes tipos de información que contiene una empresa, los tipos de información interna pueden ser muy diversos, algunos estratégicos y delicados y otros más genéricos y poco relevantes. Información privada. Este tipo de información es de carácter restringido. No puede ir más allá de las personas que puedan manejarla. Es una información sobre toda la empresa: las nuevas ideas, las negociaciones, los datos de clientes. Filtraciones y rumores no propagables. Quien tiene acceso a este tipo de información es personal de suma confianza y con gran sentido de la responsabilidad. El almacenamiento y la transmisión de esta información cifrada deben ser manejados con precaución para evitar problemas. Finalidad: la información debe tener un propósito al transmitirse. El propósito puede ser informar, evaluar o convencer.

Modo y formato. Las formas de comunicar la información a las personas son sensoriales. El ser humano recibe casi toda la información de forma verbal o documentos. Las maquinas la reciben de forma eléctrica mediante cintas, tarjetas o de forma escrita

Redundancia/eficiencia. La redundancia es el exceso de información. La eficiencia del lenguaje crea un nivel óptimo en la transmisión de la información.

La velocidad a la que se transmite la información influye en el tiempo que uno tarda en entender un problema.

16


La frecuencia con que se transmite la información. La información que es excesiva tiende a producir ruidos o distracción.

Carácter determinístico o probabilístico. La información determinística implica que existe un solo valor resultante en un proceso. Si la información es probabilística, se obtienen los resultados posibles con las correspondientes probabilidades.

El costo es un factor muy limitante para la obtención de información. Debe evaluarse constantemente la información y su costo.

El valor de la información depende del modo, la velocidad, la frecuencia, las características determinísticas, la confiabilidad y la validez.

Confiabilidad y precisión. Contar con una mejor precisión es caro, por lo tanto, en ocasiones es posible un cambio entre costo y precisión/confiabilidad.

La exactitud es el grado de aproximación de un número a lo que verdaderamente debería ser.

La validez es una medida del grado en que la información representa realmente lo que pretende representar.

La actualidad designa la antigüedad de la información.

La densidad es el volumen que ocupa la información en un informe o mensaje. Los más largos tienen densidad baja. Las tablas y las gráficas presentan la forma más condensada.

17


Elementos de un Sistema de Información Equipos de cómputo Las computadoras forman parte de la vida de todas las personas del mundo, incluso en aquellas que no las usan directamente pero que por medio de la computación reciben todo tipo de servicios, desde los más esenciales hasta los más especializados. Algunos de los tipos de computadora son:

Supercomputadoras Las computadoras más potentes del mundo Figura 3 Supercomputadoras, las que pueden procesar las mayores cantidades de información y resuelven las operaciones más complicadas son las supercomputadoras. En realidad, las supercomputadoras son un conjunto de ordenadores muy poderosos conectados entre sí para aumentar su capacidad de forma exponencial. La supercomputadora más potente del mundo se encuentra en la Universidad Nacional de Tecnología de Defensa de China. Se llama Tianhe-2 y tiene un rendimiento promedio de 33.48 petaFLOPS. Como dato informativo, cada petaflop significa que la computadora es capaz de realizar más de mil billones operaciones por segundo.

Figura 3 Supercomputadoras

18


Mainframes También conocidos como macrocomputadoras o computadoras centrales Figura 4 Mainframes, son capaces de procesar millones de aplicaciones a la vez. Por eso, son utilizadas principalmente por entidades gubernamentales y empresas que manejan grandes cantidades de información, operaciones bancarias o bases de datos. Los mainframes pueden funcionar con muchos sistemas operativos a la vez y servir para gestionar las actividades de varios terminales virtuales. Necesitan refrigeración para evitar su sobrecalentamiento y cuestan varios miles de dólares.

Figura 4 Mainframes

Computadoras personales La cara más vista de la computación son las computadoras personales, que tienen sus orígenes en los equipos construidos desde 1970 y que en un principio se llamaron microcomputadoras. Se caracterizan por tener un microprocesador y están diseñadas para cumplir las tareas más comunes de la informática actual, como la navegación web, la productividad y el entretenimiento.

19


Las computadoras portátiles y de escritorio son tipos de computadoras de escritorio.

Figura 5 Computadora personal

Computadoras híbridas Surgidas a partir del 2012, las computadoras híbridas son una mezcla entre una laptop y una tableta. Pensadas principalmente como una tableta evolucionada para ofrecer más opciones de productividad, las computadoras híbridas tienen mucho potencial en el futuro de la computación. Casi todas las marcas de computadoras fabrican en la actualidad computadoras híbridas, si bien se considera a la Microsoft Surface como la pionera en el campo y al iPad Pro, recién anunciado, como una de las que impulsará más este mercado.

Figura 6 Computadoras hibridas

20


Computadoras portátiles

La primera computadora portátil como tal fue creada por Epson en 1981 y en su momento fue considerada como la “cuarta revolución de la computación personal” por la revista BusinessWeek. Después del lanzamiento de Windows 95, las computadoras portátiles se popularizaron, y son en la actualidad las computadoras personales más vendidas. El término laptop viene del inglés lap –regazo- y top –encima-, mientras que se les llama también notebookspor su similitud con los cuadernos. Tienen pantalla, teclado, touchpad, procesador, discos duros, memorias y batería.

Figura 7 Computadora portátil

Computadoras de escritorio

Conformadas típicamente por un monitor, un CPU, un teclado y un mouse, además de aparatos accesorios como cámaras web o bocinas. En la actualidad, sin embargo, existen computadoras de escritorio que embuten todas estas partes en una sola pantalla, como las iMac, equipos todo-en-uno.

Figura 8 computadora de escritorio

21


Netbooks Las netbooks son las computadoras personales más básicas que existen. Son laptops con pantallas de 10 pulgadas en promedio, pero con menor potencia y capacidad que las computadoras portátiles más grandes. Están diseñadas principalmente para acceder a Internet y hacer tareas de productividad simples. Este tipo de computadoras prescinden de los lectores de CD o DVD, característica que no obstante está siendo imitada por las laptops de mayor tamaño. Las netbooks son también las computadoras personales más baratas, lo que contribuyó a su éxito en ventas.

Figura 9 Netbooks

Tablet El mundo conoció las tablet cuando Apple lanzó en 2010 el iPad. Las tablet o tabletas son computadoras muy portátiles destinadas a tareas de entretenimiento, web y productividad. Su principal característica es su pantalla táctil, que elimina el teclado y mouse para interactuar con sus contenidos y los reemplaza por gestos con los dedos. Las tabletas como computadoras personales han reemplazado en muchos usuarios las funciones las netbooks o laptops, si bien este tipo de equipos son utilizados para tareas más exigentes.

Figura 10 Tablet

22


Teléfonos inteligentes Los smartphones son computadoras convertidas en teléfono. En menos de 6 pulgadas de tamaño incorporan, además de batería, procesador, pantalla táctil y sensores como acelerómetro, brújula, giroscopio y GPS. Tienen la capacidad de conectarse a Internet por medio de WiFi o conexiones móviles, así como hacer y recibir llamadas y mensajes. Los teléfonos inteligentes pueden hacer muchas tareas de las computadoras personales, como administrar el correo electrónico, navegar por internet y utilizar elementos multimedia. Su principal empuje vino a través de la creación y consolidación de sistemas operativos móviles, como iOS y Android, que ofrecen millones de aplicaciones, programas informáticos pequeños para utilizar dentro de estos dispositivos. El iPhone, lanzado en 2007, fue el inaugurador del concepto del smartphone, si bien existen en la actualidad una serie de marcas de celulares que compiten en esta industria.

Figura 11 Teléfonos inteligentes

Computadoras vestibles Las nuevas tendencias de la computación se dirigen hacia la creación de computadoras en miniatura para su uso personal. Incorporadas en relojes, gafas, pulseras y otros accesorios, sus funciones se enfocan en la complementación de las funciones de otros dispositivos, principalmente de los teléfonos inteligentes. A este apartado de la computación se le conoce como tecnología vestible o dispositivos wearables, y destacan hasta el momento equipos como el Apple Watch,

23


un reloj inteligente; Google Glass, unos lentes inteligentes, o Pebble Watch, pionero de los relojes inteligentes.

Figura 12 Computadoras vestibles

computadoras del futuro

La

computación

está

cambiando

todo

el

tiempo. En el

futuro

de

las

computadoras se abren panoramas prometedores como la computación cuántica, máquinas con capacidades increíbles de procesamiento que apenas comienzan a crearse, mientras que las computadoras de bolsillo o en miniatura buscarán abrirse camino entre los usuarios comunes. También están basados en computadoras en miniatura tecnologías como el Internet

de

las

Cosas,

que

planea

convertir

todos

los

objetos

en

inteligentes. Conforme pase el tiempo, los tipos de computadoras existentes continuarán

diversificándose,

mientras

que

otros

probablemente

desaparecerán. Así funciona el devenir de la tecnología.

Periféricos En informática, el término periférico se aplica a cualquier equipamiento o accesorio que está conectado a la CPU (unidad central de procesamiento). Por ejemplo: las impresoras, el escáner, lectores y/o grabadoras de CD y DVD, lectores de tarjetas de

memoria,

mouse,

teclado,

webcams,

24

son

ejemplos

de

periféricos.


Desde que por primera vez se escuchó hablar de calculadoras hasta la actualidad de nuestras supercomputadoras, el desarrollo y el perfeccionamiento de los accesorios

evoluciona

cada

vez

más.

Figura 13 Periféricos

Cada periférico tiene su función definida y ejecuta o envía tareas a la computadora de acuerdo con la función para la que fue diseñado. Entre los periféricos existentes podemos citar el teclado (envía a la computadora la información tecleada por el operador), el mouse (permite el envío de información por medio del movimiento o el accionamiento de botones) la impresora (recibe información de la computadora e imprime esa información en papel), placa de Sonido (recibe información eléctrica provenientes del procesador y la envía a los parlante), sistemas sensibles al tacto, calor, luz, módem, controladores de juegos (joystick), parlantes,

etc.

Existen tres tipos de periféricos: los periféricos de entrada (envían información a la computadora (teclado, mouse, micrófono); los periféricos de salida (transmiten información desde la computadora hacia el usuario (monitor, impresora, parlantes, auriculares); y los periféricos mixtos (envían y reciben información para y desde la computadora [escaners, lectoras

y

grabadoras

de

cd

25

y

dvd,

teléfonos

VOIP).


Los principales periféricos de entrada de información son: teclado, mouse, unidad lectora de CD y DVD, escáner, micrófono, joystick, pantalla sensible al tacto y lápiz óptico.

Los principales periféricos de salida de información son: monitor de vídeo, unidad grabadora de CD y DVD, parlantes, impresora, sensores de movimiento, temperatura etc, y gafas (para

realidad

virtual).

Los principales periféricos de entrada y salida de información son: módem, lectora y grabadora de CD y DVD y disco rígido. Recursos Humanos Definir los roles a asumir por los integrantes de un equipo de proyecto, teniendo en cuenta las características de la industria de software nacional, constituye un punto de partida válido para contribuir a su desarrollo. De manera general los roles podrían ser asumidos en las empresas desarrolladoras de software y se dejan establecidas las características personales y profesionales que deben poseer los individuos que desempeñen cada rol. ROLES PROPUESTOS EN RUP

Según RUP, un rol es un puesto que puede ser asignado a una persona o conjunto de personas que trabajan juntos en un equipo, y que requiere responsabilidades y habilidades sobre cómo realizar actividades específicas y desarrollar determinados artefactos. Los miembros de un equipo de proyecto generalmente cubren varios roles; sin embargo, los roles no son individuales, ellos más bien describen cómo los individuos se comportan en un negocio y qué responsabilidades tienen estos individuos.

RUP clasifica los roles en cinco grandes grupos: Analistas, desarrolladores, probadores, directivos y otros:

26


Analistas: Analista del proceso de negocios, diseñador de negocios, revisor del modelo de negocios, analista de sistema, especificador de requisitos, revisor de requisitos y diseñador del interfaz usuario.

Desarrolladores: Arquitecto de software, revisor de la arquitectura, diseñador, diseñador de cápsula, diseñador de base de datos, revisor del diseño, programador, revisor del código, integrador.

Probadores: Diseñador de prueba, probador.

Directivos: Director de control de cambio, director de configuración, director de implantación, ingeniero de proceso, director del proyecto, revisor del proyecto. Otros: Stakeholder, cualquier rol, desarrollador de cursos, artista gráfico, administrador de sistema, documentador técnico, especialista en herramientas.

ROLES PROPUESTOS EN TSP

El proceso de software en equipo (TSP) constituye una armazón para desarrollar software a gran escala. Está diseñado para manejar subgrupos de 2 a 20 miembros trabajando bajo la dirección de un jefe, a pesar de que en las grandes empresas algunos proyectos de software pueden ser muy grandes, generalmente se forman subgrupos de trabajo para poder garantizar un adecuado control. Los miembros del equipo deben dominar PSP. De manera general TSP está diseñado para ayudar en la:

Formación de equipos (definición de objetivos, asignación de roles, definir/ajustar el proceso del equipo, planeación detallada y balanceada).

Administración del equipo (comunicación, coordinación, control del proyecto, análisis de riesgos). El equipo debe mostrarles a los gerentes y al cliente que se auto administra. Para ello reporta constantemente el avance y el estatus del

27


proyecto. Las responsabilidades de autoadministración se distribuyen entre los miembros del equipo a través de ocho roles definidos que se muestran a la izquierda de la figura 1, los roles definidos a la derecha son especialistas que aportan los departamentos de calidad, procesos, administración de configuración y herramientas. Datos e información Los datos se refieren generalmente a situaciones reales y se representan por medio de símbolos. Al ser interpretados, adquieren un significado, y a éste se lo suele llamar información. No es posible obtener información del conjunto de datos disponibles sin conocer el contexto en el cual éstos adquieren su significado: es el contexto el que les confiere significado a los datos. Podemos decir, que, para transmitir una información, se emplea una secuencia de símbolos junto con las reglas propias para su interpretación, ya que éstas posibilitan que se les dé un sentido a esos datos.

Por ejemplo: la secuencia numérica 5413336060, por sí sola, carece de significado. En (5413336060, el símbolos que procede al número le da una nueva dimensión al dato inicial. Ahora podemos interpretar que éste corresponde a un número de teléfono. Si conocemos las reglas de discado para realizar comunicaciones internacionales en forma directa DDI, podemos interpretar, además, el significado de esa serie numérica: 54: 1: 3336060:

corresponde es

el corresponde

al

código

código al

de número

del la del

país. ciudad abonado.

De esta manera, al ser interpretados, los datos se transforman en información útil.

28


Los datos pueden considerarse como la materia prima de la información. Su procesamiento

consta,

a)

en

El

ingreso

b) c)

de el

sistema

tres (datos

fases: de

Su La

producción

de

un

entrada) manipulación

resultado

(información

de

salida).

La información, es por lo tanto, el resultado de un proceso de transformación de datos que es interpretado por el ser humano. Sin embargo, en el lenguaje cotidiano no se hace esta distinción y suele usarse como sinónimos. Aplicado a la teoría de comunicación, el término información se refiere a todo lo que es comunicable, puede interpretarse o no.

Programas El software es el conjunto de instrucciones detalladas que controlan la operación de un sistema de cómputo. Las funciones del software son: 1) Administrar los recursos de cómputo de la institución 2) Proporcionar las herramientas a los seres humanos para que aprovechen estos recursos 3) Actuar como intermediario entre las instituciones y la información almacenada.

Programas de software Es un conjunto de argumentos o instrucciones para la computadora. El concepto de programa almacenado significa que el programa debe almacenarse en la memoria primaria de una computadora junto con los datos requeridos con el objeto de ejecutarlos o hacer que las instrucciones sean llevadas a cabo por la computadora. Principales tipos de software Existen tres tipos, y cada uno realiza una función diferente: 1) Software del sistema. Es un conjunto de programas generalizados que administran los recursos

29


de la computadora, como la unidad central de proceso, los dispositivos de comunicaciones y los dispositivos periféricos. 2) Software de aplicación. Se refiere a los programas que son escritos para o por usuarios para aplicar la computadora a una tarea específica. 3) Software de usuario final (o lenguajes de cuarta generación). Consiste en herramientas de software que permiten el desarrollo de algunas aplicaciones directamente por los usuarios finales y sin los programadores profesionales. El software del sistema Coordina las distintas partes del sistema de cómputo y sirve como mediación entre el software de aplicación y el hardware de la computadora. El software del sistema que administra y controla las actividades y recursos de la computadora se llama sistema operativo.

Funciones del sistema operativo Un sistema operativo realiza tres funciones: 1) Define y asigna los recursos del sistema. Supervisa las entradas y salidas y controla las comunicaciones. 2) Programa el uso de recursos y trabajos de cómputo 3)

Hace

el

seguimiento

de

las

actividades

del

sistema

de

cómputo

Multiprogramación Es un método para ejecutar dos o más programas empleando la misma computadora. El CPU sólo ejecuta un programa, pero puede dar servicio a las necesidades de entrada y salida de otros al mismo tiempo. Se cuenta con un procesador en el cual se operan más de una aplicación. Multitareas Se refieren a la multiprogramación en los sistemas operativos individuales como los que se usan en las microcomputadoras. Una persona puede ejecutar dos o más programas de manera concurrente en una sola computadora. Almacenamiento virtual El almacenamiento virtual maneja los programas más eficientemente porque la computadora los divide en pequeñas porciones de longitud fija o variable,

30


almacenando sólo una pequeña porción del programa en la memoria primaria a la vez. Proporciona ventajas: 1) La memoria primaria se utiliza a mayor capacidad. Muchos más programas pueden estar en la memoria primaria porque sólo una página de cada programa reside en ella 2) Los programadores ya no tienen que preocuparse acerca del tamaño del área de la memoria primaria. Tiempo compartido Es una capacidad de un sistema operativo que permite que muchos usuarios compartan simultáneamente los recursos de procesamiento de la computadora. Se diferencia de la multiprogramación en que el CPU emplea una cantidad fija de tiempo en un programa antes de moverse al siguiente. Multiproceso Es un sistema operativo que ejecuta dos o más instrucciones en forma simultánea en un solo sistema de computación utilizando más de una Unidad Central Procesadora. Traducción de lenguaje y software de utilerías El código fuente son instrucciones de programa escritas en un lenguaje de alto nivel antes de ser traducidas a lenguaje de máquina. Un compilador es un software especial de sistemas que traduce un lenguaje de alto nivel a un lenguaje de máquina para su procesamiento por la computadora. Los código objeto son instrucciones de programa que han sido traducidas a lenguaje de máquina para que puedan ser ejecutadas por la computadora. El intérprete es un lenguaje traductor especial que traduce toda instrucción de código fuente a código de máquina y ejecuta una a la vez. Los programas de utilería son software de sistemas que consisten en programas para tareas repetitivas que pueden ser compartidas por muchos usuarios. Sistemas operativos para microcomputadoras Se basa en sistemas operativos específicos y en el hardware de la computadora. Entre ellos se encuentran los siguientes:

31


1) DOS 2) OS/2 3) Windows NT 4) UNIX 5) System 7 Interfase gráfica con el usuario Es la parte de un sistema operativo con la que los usuarios interactuan y que usa iconos gráficos y el mouse de la computadora para emitir comandos y hacer selecciones. Software de aplicaciones Está principalmente relacionado con el cumplimiento de las tareas de los usuarios finales. Está orientado al trabajo que necesita hacerse o al problema que desea resolverse, desde el punto de vista del usuario final, en concreto le indica a la computadora lo que tiene que hacer. Lenguajes de programación · Lenguaje de máquina. Lenguaje de programación que consiste en los 1 y 0 del código binario. · Lenguaje de alto nivel. Lenguaje de programación en el que cada expresión de código fuente genera múltiples expresiones a nivel del lenguaje de máquina. Lenguajes de programación populares · Lenguaje ensamblador. Se parece al lenguaje de máquina pero sustituye los códigos numéricos por expresiones mnemotécnicas. · Fortran. Lenguaje desarrollado para aplicaciones científicas y matemáticas. · Cobol. Lenguaje de programación predominante para las aplicaciones de negocios porque puede procesar grandes archivos de datos con caracteres alfanuméricos. · Basic. Lenguaje de programación de propósito general usado con las microcomputadoras y para enseñar programación. · PL/1. Lenguaje de programación desarrollado para aplicaciones científicas y matemáticas.

32


· Pascal. Lenguaje de programación usado para dar cursos de computación. · ADA. Lenguaje de programación utilizado para aplicaciones militares. Nuevos lenguajes de cuarta generación Un lenguaje de programación puede ser empleado directamente por los usuarios finales o por programadores menos experimentados para desarrollar aplicaciones de computadora más rápidamente que en los lenguajes de programación convencionales. Existen 7 categorías de lenguajes, estos son: · Lenguajes de interrogación · Generadores de reportes · Lenguajes de gráficas · Generadores de aplicaciones · Lenguajes de programación de muy alto nivel · Paquetes de software de aplicaciones · Herramientas para microcomputadoras. Criterios de los lenguajes A) Adaptabilidad. La selección de lenguaje implica la identificación del uso y de los usuarios. B) Sofisticación. Deben seleccionarse de manera que puedan soportar muchas estructuras de datos diferentes. C) Consideraciones de tipo organizacional. Los lenguajes sofisticados bien estructurados son más fáciles de aprender y mucho más fáciles de mantener en el lago plazo. D) Soporte. Es importante adquirir software que sea de un uso extensivo en otras instituciones y que pueda recibir soporte de muchas empresas. Por ello resulta determinante tener software de amplio uso. E) Eficiencia. La eficiencia con la cual un lenguaje compila y ejecuta permanece como consideración al adquirir software.

33


DiseĂąo conceptual de los sistemas de informaciĂłn

34


Ejemplos de las actividades que realizan los SI Sistema de procesamiento de transacción (TPS) La primera transacción ocurre cuando dos personas hacen un intercambio, y la recopilación de datos sobre él se denomina procesamiento de transacciones, por lo que el procesamiento de transacciones es la recopilación, almacenamiento, modificación y recuperación de las operaciones de una organización. Los sistemas de transacciones son importantes para responder a las preguntas de rutina, y ayuda a hacer negocios tales como nómina, mantenimiento de registros del empleado o el pago de un empleado. Es importante almacenar los datos de la transacción guardando y protegiendo porque la transacción generalmente implica un intercambio de dinero, que es fundamental para cualquier organización. ¿Cómo es implementado el sistema de procesamiento de transacciones en una empresa?

la empresa todos los días vende una gran cantidad de productos, así que debe ordenar la materia prima de su proveedor, cada vez que la empresa hace un pedido con su proveedor, una transacción ocurre, y el sistema de procesamiento de transacciones registra la información pertinente, como el nombre de el proveedor, dirección, la calidad de los artículos comprados y, finalmente, el importe de la factura. Sistema de soporte de decisiones (DSS) El sistema de soporte de decisiones se utiliza para modelar datos y tomar decisiones de calidad basado en los datos, para tomar la decisión correcta por lo general se basa en la calidad de los datos y la propia capacidad para analizar los datos, los sistemas de apoyo a las decisiones son por lo general las aplicaciones informáticas con un componente humano. Estos pueden examinar a través de grandes cantidades de datos y elegir entre las muchas opciones.

35


¿Cómo es implementado en la empresa el Sistemas de apoyo a la toma de decisiones (DSS)? Al principio la empresa comienza como un pequeño negocio, venta de artículos para los clientes, el negocio se expande lentamente, a continuación, analiza bien el mercado que viene, como sabe que vivimos en la época de la tecnología, el negocio piensa en la prestación de un nuevo servicio de venta por internet, por lo que la empresa recopila información sobre el uso de los servicios, duración de la estancia y el nivel de las ventas, entonces el sistema de soporte de decisiones analiza los datos para llegar a la decisión de proporcionar servicios electrónicos en su tienda. Sistemas de información gerencial (SIG) Los sistemas de información gerencial “SIG” (o “MISS”) son un sistema que proporciona información necesaria para gestionar con eficacia las organizaciones. Los sistemas de información de gestión consisten en tres recursos primarios: la tecnología, la información y el recurso más importante que son las personas, la información que obtenemos apoya la toma de decisiones de rutina en las áreas funcionales.

¿Cómo se implementa el sistema de información gerencial? En una empresa se implementan sistemas MIS que se utilizan para producir informes periódicos como una lista diaria de los empleados y las horas que trabajan, o un informe mensual de los gastos en comparación con un presupuesto. la empresa utiliza MIS porque el propósito de la MIS es proporcionar información y rentabilidad para ayudar a los administradores y al personal a entender el rendimiento de la empresa y planificar su futura dirección.

36


Sistemas de información estratégicos Los sistemas de información estratégicos consisten en manejar la información procesada de una organización de modo que se pueda utilizar para ser competitivos renunciando a algunas cosas para alcanzar el objetivo propuesto. Su función es lograr ventajas que los competidores no posean, tales como ventajas en costos y servicios diferenciados con clientes y proveedores. Los sistemas estratégicos son creadores de barreras de entrada al negocio. Sus principales características son: Apoyan el proceso de innovación de productos y proceso dentro de la empresa debido a que buscan ventajas respecto a los competidores y una forma de hacerlo en innovando o creando productos y procesos. Son Sistemas que integran múltiples funciones/procesos en las Compañías Surgen por la necesidad de integración de procesos y como un resultado de la maduración de la industria del software Son altamente costosos y de gran alcance Típicamente su forma de desarrollo es a base de incrementos y a través de su evolución dentro de la organización. Se inicia con un proceso o función en particular y a partir de ahí se van agregando nuevas funciones o procesos. EJEMPLOS DE SISTEMAS DE INFORMACION ESTRATEGICOS ERP (Enterprise Resource Planning) Sistema implementado para manejar los recursos de una organización combina funciones de varios departamentos en una sola aplicación, con una sola base de datos para compartir información más fácilmente y comunicarse entre ellos Se enfoca en mejorar el proceso de manejo de órdenes (back-office) Cuando un representante de ventas entra una orden, encuentra toda la información necesaria para completarla

37


No se encarga de procesos de venta frente al cliente Departamentos más afectados: finanzas, operaciones (manufactura, inventario y distribución) y recursos humanos. En el sector público se manejan otros escenarios (contratos, vivienda, etc). La información es visible y actualizable por otros departamentos El sistema se encarga de enrutar las tareas dentro y entre departamentos (workflow) ERP permite ver en que estado está la orden en cada momento Hay tres características principales que distinguen a un ERP. Sistemas Integrales. porque permiten controlar los diferentes procesos de la compañía entendiendo que todos los departamentos de una empresa se relacionan entre sí, es decir, que el resultado de un proceso es punto de inicio del siguiente Sistemas Modulares. Los ERP entienden que una empresa es un conjunto de departamentos que se encuentran interrelacionados por la información que comparten y que se genera a partir de sus procesos. Una ventaja de los ERP, tanto económica como técnicamente es que la funcionalidad se encuentra dividida en módulos, los cuales pueden instalarse de acuerdo con los requerimientos del cliente. Sistemas Adaptables.Los ERP están creados para adaptarse a la idiosincrasia de cada empresa. Esto se logra por medio de la configuración o parametrización de los procesos de acuerdo con las salidas que se necesiten de cada uno.Algunos de los beneficios de implementar un ERP e n una organización son: Integrar información financiera Integrar información de órdenes de clientes: ventas, inventario, producción, distribucion, facturacion, cartera Estandarizar y acelerar los procesos de manufactura

38


Reducir inventario Estandarizar información de recursos humanos Mejorar la plataforma tecnológica SCM Sirve para manejar la cadena de aprovisionamiento en una compañía, permitiendo automatizar los diferentes pasos de producción de esta. Clientes y proveedores trabajando juntos para optimizar el diseño, la planeación y la utilización de recursos usados para entregar o crear un producto o servicio final Involucra la coordinación de flujos de material, financieros y de información Es un imperativo para hacer negocios en el mundo moderno: no basta la eficiencia individual CRM (Customer Relationship Management) Este se utiliza para manejar las relaciones que tiene una organización con los clientes, teniendo en cuenta la cultura, el país, las tendencias, los cambios de la tecnología o de los negocios. Los beneficios que trae implementar un CRM en una organización son: Estrategia de negocios Optimizar la rentabilidad, ingresos y satisfacción de los clientes Promueve conductas de satisfacción de clientes Implementa procesos centrados en el cliente Clientes satisfechos gastan más y pagan más Clientes enojados comparten las malas experiencias Organización alrededor de segmentos de clientes basados en necesidades Se crean experiencias de acuerdo con el segmento Las compañías no pueden ver los clientes como si todos fueran iguales

39


Se trata de relaciones personales Generalmente hay tres componentes: CRM operacional, CRM colaborativo y CRM analítico Un CRM ofrece:

Vista única integrada del cliente Información disponible en tiempo real Mejor conocimiento y entendimiento de los clientes Retención de conocimiento Mejor uso de información de prospectos Mejores prácticas y estandarizadas Automatización de tareas de alto consumo de tiempo Información de producto y competitiva Los sistemas estratégicos de información cambian las metas, operaciones, productos o relaciones con el entorno de las instituciones para ayudarlas a ganar ventaja sobre la competencia. A menudo cambian a la institución así como a los productos, servicios y procedimientos internos, llevándola a nuevos patrones de comportamiento. Las instituciones pueden requerir de un cambio en sus operaciones internas para sacar ventaja de las nuevas tecnologías de los sistemas de información. Estos sistemas emplean la información y los otros sistemas internos como ayuda para eliminar la competencia. Es un sistema complementario del SSG. Como se puede emplear para obtener ventajas competitivas Es necesario primero entender dónde podrían encontrarse las ventajas estratégicas para la empresa. Pueden ayudar a la empresa a superar a la competencia de diversas maneras, por ejemplo desarrollando nuevos productos o servicios, apuntar a diversos nichos de mercado, evitar que los clientes o proveedores cambien a la competencia y proporcionar productos o servicios a costos menores. Modelos

40


Dos modelos de empresa y su entorno han sido utilizados para identificar áreas en donde los sistemas de información puedan proporcionar ventajas sobre la competencia. Estos son: a) Modelo de fuerzas competitivas. Modelo empleado para describir la interacción de las amenazas y oportunidades externas que afectan a la estrategia de la empresa y su capacidad para competir. La ventaja competitiva puede alcanzarse al estimular la capacidad de la empresa de tratar con clientes, proveedores, productos y servicios sustitutivos y nuevos concurrentes a su mercado. La empresa puede usar 4 estrategias competitivas: · Diferenciación de producto. Estrategia competitiva para crear lealtad hacia la marca al desarrollar productos nuevos y únicos que no pueden ser duplicados fácilmente. · Diferenciación orientada. Estrategia competitiva para desarrollar nuevos nichos de mercado en donde una empresa pueda competir en el área objeto mejor que sus competidores. · Costos de cambio. El gasto de un cliente al perder tiempo y recursos cuando se cambia de un sistema o un proveedor al sistema o proveedor de la competencia. · Transformarse en productor de bajos costos. Las empresas pueden producir bienes y servicios a un precio menor que sus competidores sin sacrificar la calidad y el nivel de servicio. b) Modelo de la cadena de valor. Este modelo contempla a la empresa como una serie o cadena de actividades básicas que añaden un margen de valor a los productos o servicios de la empresa. Estas actividades pueden clasificarse en primarias o de apoyo. · Las actividades primarias están relacionadas con la producción y la distribución de los productos y servicios de la empresa que crean valor para el cliente (logística interna o externa, almacenamiento de materiales para su distribución. · Las actividades de apoyo hacen posible la concurrencia de las actividades primarias y consisten en la infraestructura de la institución (administración y dirección), recursos humanos (contratación y capacitación), tecnología (mejorar los procesos) y abastecimiento (adquisición de insumos).

41


Etapas del ciclo de vida de los sistemas de información Análisis de sistemas Consiste en recolectar e interpretar hechos sobre el sistema actual y las necesidades de información actuales y previsibles en el futuro para detectar: Lo que está bien, lo que está mal, lo que sobra y lo que falta. Investigación preliminar También llamada investigación exploratoria, consiste en descubrir un problema y sus componentes; a veces puede formular hipótesis sobre ellos. Carece de estructura, porque si no se conoce el problema de ante mano no se puede saber que se debe estudiar. Su propósito es esclarecer lo que se debe investigar. Requerimientos Los requerimientos de un sistema de software, cuando se ven en su conjunto son extensos y detallados, y además contienen múltiples relaciones entre sí. Lo que nos da a concluir, de acuerdo a lo expuesto en el capítulo de complejidad en el software, que el conjunto de requerimientos de un sistema computacional es complejo.

El análisis de requerimientos consiste brevemente en los siguientes pasos:

1. Obtener información acerca de lo que los usuarios desean 2. Clasificar esos deseos para comenzar a estructurar requerimientos 3. Identificar los niveles de jerarquía del sistema y empezar a alojar los ya clasificados requerimientos en cada nivel. 4. Especificar formalmente los requerimientos de acuerdo al nivel de audiencia que se desea.

En ingeniería de sistemas existen tres tipos de requerimientos.

42


Un requerimiento funcional puede ser una descripción de lo que un sistema debe hacer. Este tipo de requerimiento específica algo que el sistema entregado debe ser capaz de realizar. Un requerimiento no funcional: de rendimiento, de calidad, etc.; especifica algo sobre el propio sistema, y cómo debe realizar sus funciones. Algunos ejemplos de aspectos solicitables son la disponibilidad, el testeo, el mantenimiento, la facilidad de uso, etc. Otros tipos de limitaciones externas, que afectan en una forma indirecta al producto. Estas pueden ir desde la compatibilidad con cierto sistema operativo hasta la adecuación a leyes o regulaciones aplicables al producto. Una colección de requerimientos describe las características o atributos del sistema deseado. Se omite el cómo debe lograrse su implementación, ya que esto debe ser decidido en la etapa de diseño por los diseñadores. En la ingeniería de software se aplica el mismo significado, sólo que el énfasis está puesto en el propio software.

Características

Los requerimientos bien formulados deben satisfacer varias características. Si no lo hacen, deben ser reformulados hasta hacerlo

Necesario: Lo que pida un requerimiento debe ser necesario para el producto. No ambiguo: El texto debe ser claro, preciso y tener una única interpretación posible. Conciso: Debe redactarse en un lenguaje comprensible por los inversores en lugar de uno de tipo técnico y especializado, aunque aún así debe referenciar los aspectos importantes Consistente: Ningún requerimiento debe entrar en conflicto con otro requerimiento diferente, ni con parte de otro. Asimismo, el lenguaje empleado entre los distintos requerimientos debe ser consistente también. Completo: Los requerimientos deben contener en sí mismos toda la información necesaria, y no remitir a otras fuentes externas que los expliquen con más detalle.

43


Alcanzable: Un requerimiento debe ser un objetivo realista, posible de ser alcanzado con el dinero, el tiempo y los recursos disponibles. Verificable: Se debe poder verificar con absoluta certeza, si el requerimiento fue satisfecho o no. Esta verificación puede lograrse mediante inspección, análisis, demostración o testeo.

Estas características suelen ser subjetivas, es decir, no pueden ser calculadas de forma automática por ningún sistema. Por ello, se tiende a medir otras métricas o indicadores que sí que pueden ser calculados de forma automática y que, de algún modo, pueden sustituir o mapear con esta lista de características.

En la ingeniería de sistemas y la ingeniería de software la Ingeniería de requerimientos comprende todas las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisfacer para un software nuevo o modificado, tomando en cuenta los diversos requerimientos de los inversores, que pueden entrar en conflicto entre ellos.

Una terminología usada a veces, pero no completamente análoga es "Ingeniería de Requisitos". Esta ingeniería comprende, básicamente, todo el proceso y tareas involucradas en la Captura, Elicitación, Análisis y Especificación de Requisitos o requerimientos. La comunidad internacional se decantó por el uso de la palabra Requerimientos en lugar de Requisitos, para resolver una posible ambigüedad en el uso de los términos. Actualmente el usar la palabra "Requisito" debe ser documentado explicando el motivo su uso en lugar del término consensuado.

El propósito de la ingeniería de requerimientos es hacer que los mismos alcancen un estado óptimo antes de alcanzar la fase de diseño en el proyecto. Los buenos Requerimientos deben

ser

medibles,

comprobables,

contradicciones, etc.

Fases de implementación

44

sin

ambigüedades

o


Desde un punto de vista conceptual, las actividades son de 5 clases. Obtener requerimientos: A través de entrevistas o comunicación con clientes o usuarios, para saber cuáles son sus deseos. Analizar requerimientos: Detectar y corregir las falencias comunicativas, transformando los requerimientos obtenidos de entrevistas y requerimientos, en condiciones apropiadas para ser tratados por el diseño. Documentar requerimientos: Igual que todas las etapas, los requerimientos deben estar debidamente documentados. Verificar los requerimientos: Consiste en comprobar el correcto funcionamiento de un requerimiento en la aplicación Validar los requerimientos: Comprobar que los requerimientos implementados se corresponden con lo que inicialmente se pretendía.

Determinación del objetivo

El analista debe saber qué es lo que va a investigar y de esta forma poder iniciar con la investigación preliminar para precisar cuál es el problema. Determinación de la factibilidad

Después de haber hecho ya la investigación sobre el problema es necesario determinar la factibilidad de un nu8evo sistema, dentro de esto se deben considerar tres aspectos importantes: técnica, economía y social. Factibilidad técnica: Aquí nos referimos a todos los conocimientos que se deben de tener en cuanto a tecnología, es decir que lo que se necesita para la implementación del sistema de información, se pueda conseguir.

45


Factibilidad económica: En este aspecto debes observar el costo del nuevo sistema y del antiguo, para posteriormente realizar una comparación, además de que se elabora un presupuesto del nuevo sistema. Todo lo anterior con el fin de observar cuales pueden ser los posibles beneficios y cuales las desventajas para la implementación del sistema de información.

Factibilidad social: Esta mide que tanto es aceptado el plan sobre la compra o elaboración de un nuevo sistema de información, esto puede ocasionar debates o conflictos entre los encargados, pero tiene inicio en el analista y sus argumentos sobre el sistema nuevo.

Planteamiento Este se refiere a lo expuesto en la Figura 14 Planteamiento

Figura 14 Planteamiento

Análisis de hechos A continuación en la Figura 15 Análisis de hechos

Figura 15 Análisis de hechos

46


Calidad de informaciĂłn La Figura 16 Calidad nos dice a que se refiere.

Figura 16 Calidad

Redundancia mĂ­nima

Figura 1 Que los datos se repitan lo menos posible

47


Facilidad operativa

Figura 2 Un buen sistema

Controles

48


49


Eficiencia y requerimientos

50


51


52


Herramientas de un analista

53


Diagrama de flujo de datos

54


Diccionario de datos

55


Diseño

56


Formato

Tipos de salidas

57


58


DiseĂąo de entradas

59


Complejidad

60


Movimientos

61


Formularios

62


Otras formas de entrada

DiseĂąo de archivos

63


64


65


66


67


DiseĂąo de procesos

68


69


70


71


Definición de software En la actualidad, la mayoría de profesionales y muchos usuarios tienen la fuerte sensación de que entienden el software. Pero, ¿es así? La descripción que daría un libro de texto sobre software sería más o menos así: El software es: 1) instrucciones (programas de cómputo) que cuando se ejecutan proporcionan las características, función y desempeño buscados; 2) estructuras de datos que permiten que los programas manipulen en forma adecuada la información, y 3) información descriptiva tanto en papel como en formas virtuales que describen la operación y uso de los programas.

Los 7 tipos de software 1. 2. 3. 4. 5. 6. 7.

Aplicaciones de Sistema de control y automatización industrial Aplicaciones ofimáticas Software educativo Software médico Software de Cálculo Numérico Software de Diseño Asistido (CAD) Software de Control Numérico (CAM)

Las webApps En los primeros días de la Red Mundial (entre 1990 y 1995), los sitios web consistían en poco más que un conjunto de archivos de hipertexto vinculados que presentaban la información con el empleo de texto y gráficas limitadas. Al pasar el tiempo, el aumento de HTML por medio deherramientas de desarrollo (XML, Java) permitió a los ingenieros de la web brindar capacidad de cómputo junto con contenido de información. Habían nacido los sistemas y aplicaciones basados en la web6 (denominó a éstas en forma colectiva como webapps). En la actualidad, las webapps se han convertido en herramientas sofisticadas de cómputo que no sólo proporcionan funciones aisladas al usuario final, sino que también se han integrado con bases de datos corporativas y aplicaciones de negocios. Como se dijo en la sección 1.1.2, las webapps son una de varias categorías distintas de software. No obstante, podría argumentarse que las webapps son diferentes. Powell [Pow98] sugiere que los sistemas y aplicaciones basados en web “involucran una mezcla entre las publicaciones

72


impresas y el desarrollo de software, entre la mercadotecnia y la computación, entre las comunicaciones internas y las relaciones exteriores, y entre el arte y la tecnología”. La gran mayoría de webapps presenta los siguientes atributos: Uso intensivo de redes. Una webapp reside en una red y debe atender las necesidades de una comunidad diversa de clientes. La red permite acceso y comunicación mundiales (por ejemplo, internet) o tiene acceso y comunicación limitados (por ejemplo, una intranet corporativa). Concurrencia. A la webapp puede acceder un gran número de usuarios a la vez. En muchos casos, los patrones de uso entre los usuarios finales varían mucho. Carga impredecible. El número de usuarios de la webapp cambia en varios órdenes de magnitud de un día a otro. El lunes tal vez la utilicen cien personas, el jueves quizá 10 000 usen el sistema. Rendimiento. Si un usuario de la webapp debe esperar demasiado (para entrar, para el procesamiento por parte del servidor, para el formado y despliegue del lado del cliente), él o ella quizá decidan irse a otra parte. Disponibilidad. Aunque no es razonable esperar una disponibilidad de 100%, es frecuente que los usuarios de webapps populares demanden acceso las 24 horas de los 365 días del año. Los usuarios en Australia o Asia quizá demanden acceso en horas en las que las aplicaciones internas de software tradicionales en Norteamérica no estén en línea por razones de mantenimiento. Orientadas a los datos. La función principal de muchas webapp es el uso de hipermedios para presentar al usuario final contenido en forma de texto, gráficas, audio y video. Además, las webapps se utilizan en forma común para acceder a información que existe en bases de datos que no son parte integral del ambiente basado en web (por ejemplo, comercio electrónico o aplicaciones financieras).

Ingenieria de software El software se ha incrustado profundamente en casi todos los aspectos de nuestras vidas y, como consecuencia, el número de personas que tienen interés en las características y funciones que brinda una aplicación específica8 ha crecido en forma notable. Cuando ha de construirse una aplicación nueva o sistema incrustado, deben escucharse muchas opiniones. Y en ocasiones parece que cada una de ellas tiene una idea un poco distinta de cuáles características y funciones debiera tener el software. Se concluye que debe hacerse un esfuerzo concertado para entender el problema antes de desarrollar una aplicación de software. Los requerimientos de la tecnología de la información que demandan los individuos, negocios y gobiernos se hacen más complejos con cada año que pasa. En la actualidad, grandes equipos de personas crean programas de cómputo que antes eran elaborados por un solo individuo. El software sofisticado, que alguna vez se implementó en un ambiente de cómputo predecible y autocontenido, hoy en día se halla incrustado en el interior de todo, desde la electrónica de consumo hasta dispositivos médicos o sistemas de armamento. La complejidad de estos

73


nuevos sistemas y productos basados en computadora demanda atención cuidadosa a las interacciones de todos los elementos del sistema. Se concluye que el diseño se ha vuelto una actividad crucial. Los individuos, negocios y gobiernos dependen cada vez más del software para tomar decisiones estratégicas y tácticas, así como para sus operaciones y control cotidianos. Si el software falla, las personas y empresas grandes pueden experimentar desde un inconveniente menor hasta fallas catastróficas. Se concluye que el software debe tener alta calidad. A medida que aumenta el valor percibido de una aplicación específica se incrementa la probabilidad de que su base de usuarios y longevidad también crezcan. Conforme se extienda su base de usuarios y el tiempo de uso, las demandas para adaptarla y mejorarla también crecerán. Se concluye que el software debe tener facilidad para recibir mantenimiento. La ingeniería de software es: 1) La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software; es decir, la aplicación de la ingeniería al software. 2) El estudio de enfoques según el punto 1.

El proceso de software Un proceso es un conjunto de actividades, acciones y tareas que se ejecutan cuando va a crearse algún producto del trabajo. Una actividad busca lograr un objetivo amplio (por ejemplo, comunicación con los participantes) y se desarrolla sin importar el dominio de la aplicación, tamaño del proyecto, complejidad del esfuerzo o grado de rigor con el que se usará la ingeniería de software. Una acción (diseño de la arquitectura) es un conjunto de tareas que producen un producto importante del trabajo (por ejemplo, un modelo del diseño de la arquitectura). Una tarea se centra en un objetivo pequeño pero bien definido (por ejemplo, realizar una prueba unitaria) que produce un resultado tangible. En el contexto de la ingeniería de software, un proceso no es una prescripción rígida de cómo elaborar software de cómputo. Por el contrario, es un enfoque adaptable que permite que las personas que hacen el trabajo (el equipo de software) busquen y elijan el conjunto apropiado de acciones y tareas para el trabajo. Se busca siempre entregar el software en forma oportuna y con calidad suficiente para satisfacer a quienes patrocinaron su creación y a aquellos que lo usarán. La estructura del proceso establece el fundamento para el proceso completo de la ingeniería de software por medio de la identificación de un número pequeño de actividades estructurales

74


que sean aplicables a todos los proyectos de software, sin importar su tamaño o complejidad. Además, la estructura del proceso incluye un conjunto de actividades sombrilla que son aplicables a través de todo el proceso del software. Una estructura de proceso general para la ingeniería de software consta de cinco actividades: Comunicación. Antes de que comience cualquier trabajo técnico, tiene importancia crítica comunicarse y colaborar con el cliente (y con otros participantes).11 Se busca entender los objetivos de los participantes respecto del proyecto, y reunir los requerimientos que ayuden a definir las características y funciones del software. Planeación. Cualquier viaje complicado se simplifica si existe un mapa. Un proyecto de software es un viaje difícil, y la actividad de planeación crea un “mapa” que guía al equipo mientras viaja. El mapa —llamado plan del proyecto de software— define el trabajo de ingeniería de software al describir las tareas técnicas por realizar, los riesgos probables, los recursos que se requieren, los productos del trabajo que se obtendrán y una programación de las actividades. Modelado. Ya sea usted diseñador de paisaje, constructor de puentes, ingeniero aeronáutico, carpintero o arquitecto, a diario trabaja con modelos. Crea un “bosquejo” del objeto por hacer a fin de entender el panorama general —cómo se verá arquitectónicamente, cómo ajustan entre sí las partes constituyentes y muchas características más—. Si se requiere, refina el bosquejo con más y más detalles en un esfuerzo por comprender mejor el problema y cómo resolverlo. Un ingeniero de software hace lo mismo al crear modelos a fin de entender mejor los requerimientos del software y el diseño que los satisfará. Construcción. Esta actividad combina la generación de código (ya sea manual o automatizada) y las pruebas que se requieren para descubrir errores en éste. Despliegue. El software (como entidad completa o como un incremento parcialmente terminado) se entrega al consumidor que lo evalúa y que le da retroalimentación, misma que se basa en dicha evaluación.

Mitos del software Son creencias erróneas sobre éste y sobre el proceso que se utiliza para obtenerlo— se remontan a los primeros días de la computación. Los mitos tienen cierto número de atributos que los hacen insidiosos. Por ejemplo, parecen enunciados razonables de hechos (a veces contienen elementos de verdad), tienen una sensación intuitiva y es frecuente que los manifiesten profesionales experimentados que “conocen la historia”. En la actualidad, la mayoría de profesionales de la ingeniería de software reconocen los mitos como lo que son: actitudes equivocadas que han ocasionado serios problemas a los administradores y a los trabajadores por igual. Sin embargo, las actitudes y hábitos antiguos son difíciles de modificar, y persisten algunos remanentes de los mitos del software.

75


Mitos de la administración. Los gerentes que tienen responsabilidades en el software, como los de otras disciplinas, con frecuencia se hallan bajo presión para cumplir el presupuesto, mantener la programación de actividades sin desvíos y mejorar la calidad. Así como la persona que se ahoga se agarra de un clavo ardiente, no es raro que un gerente de software sostenga la creencia en un mito del software si eso disminuye la presión a que está sujeto (incluso de manera temporal). Mito: Tenemos un libro lleno de estándares y procedimientos para elaborar software. ¿No le dará a mi personal todo lo que necesita saber? Realidad: Tal vez exista el libro de estándares, pero ¿se utiliza? ¿Saben de su existencia los trabajadores del software? ¿Refleja la práctica moderna de la ingeniería de software? ¿Es completo? ¿Es adaptable? ¿Está dirigido a mejorar la entrega a tiempo y también se centra en la calidad? En muchos casos, la respuesta a todas estas preguntas es “no”. Mito: Si nos atrasamos, podemos agregar más programadores y ponernos al corriente (en ocasiones, a esto se le llama “concepto de la horda de mongoles”). Realidad: El desarrollo del software no es un proceso mecánico similar a la manufactura. En palabras de Brooks [Bro95]: “agregar personal a un proyecto de software atrasado lo atrasará más”. Al principio, esta afirmación parece ir contra la intuición. Sin embargo, a medida que se agregan personas, las que ya se encontraban trabajando deben dedicar tiempo para enseñar a los recién llegados, lo que disminuye la cantidad de tiempo dedicada al esfuerzo de desarrollo productivo. Pueden agregarse individuos, pero sólo en forma planeada y bien coordinada. Mito: Si decido subcontratar el proyecto de software a un tercero, puedo descansar y dejar que esa compañía lo elabore. Realidad: Si una organización no comprende cómo administrar y controlar proyectos de software internamente, de manera invariable tendrá dificultades cuando subcontrate proyectos de software. Mitos del cliente. El cliente que requiere software de computadora puede ser la persona en el escritorio de al lado, un grupo técnico en el piso inferior, el departamento de mercadotecnia y ventas, o una compañía externa que solicita software mediante un contrato. En muchos casos, el cliente sostiene mitos sobre el software porque los gerentes y profesionales de éste hacen poco para corregir la mala información. Los mitos generan falsas expectativas (por parte del cliente) y, en última instancia, la insatisfacción con el desarrollador. Mito: Para comenzar a escribir programas, es suficiente el enunciado general de los objetivos —podremos entrar en detalles más adelante. Realidad: Aunque no siempre es posible tener el enunciado exhaustivo y estable de los requerimientos, un “planteamiento de objetivos” ambiguo es una receta para el desastre. Los requerimientos que no son ambiguos (que por lo general se obtienen en forma iterativa) se desarrollan sólo por medio de una comunicación eficaz y continua entre el cliente y el desarrollador.

76


Mito: Los requerimientos del software cambian continuamente, pero el cambio se asimila con facilidad debido a que el software es flexible. Realidad: Es verdad que los requerimientos del software cambian, pero el efecto que los cambios tienen varía según la época en la que se introducen. Cuando se solicitan al principio cambios en los requerimientos (antes de que haya comenzado el diseño o la elaboración de código), el efecto sobre el costo es relativamente pequeño.16 Sin embargo, conforme pasa el tiempo, el costo aumenta con rapidez: los recursos ya se han comprometido, se ha establecido la estructura del diseño y el cambio ocasiona perturbaciones que exigen recursos adicionales y modificaciones importantes del diseño. Mitos del profesional. Los mitos que aún sostienen los trabajadores del software han sido alimentados por más de 50 años de cultura de programación. Durante los primeros días, la programación se veía como una forma del arte. Es difícil que mueran los hábitos y actitudes arraigados. Mito: Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha terminado. Realidad: Alguien dijo alguna vez que “entre más pronto se comience a ‘escribir el código’, más tiempo tomará hacer que funcione”. Los datos de la industria indican que entre 60 y 80% de todo el esfuerzo dedicado al software ocurrirá después de entregarlo al cliente por primera vez. Mito: Hasta que no se haga “correr” el programa, no hay manera de evaluar su calidad. Realidad: Uno de los mecanismos más eficaces de asegurar la calidad del software puede aplicarse desde la concepción del proyecto: la revisión técnica. Las revisiones del software (descritas en el capítulo 15) son un “filtro de la calidad” que se ha revelado más eficaz que las pruebas para encontrar ciertas clases de defectos de software. Mito: El único producto del trabajo que se entrega en un proyecto exitoso es el programa que funciona. Realidad: Un programa que funciona sólo es una parte de una configuración de software que incluye muchos elementos. Son varios los productos terminados (modelos, documentos, planes) que proporcionan la base de la ingeniería exitosa y, lo más importante, que guían el apoyo para el software. Mito: La ingeniería de software hará que generemos documentación voluminosa e innecesaria, e invariablemente nos retrasará. Realidad: La ingeniería de software no consiste en producir documentos. Se trata de crear un producto de calidad. La mejor calidad conduce a menos repeticiones, lo que da como resultado tiempos de entrega más cortos. Muchos profesionales del software reconocen la falacia de los mitos mencionados. Es lamentable que las actitudes y métodos habituales nutran la administración y las prácticas técnicas deficientes, aun cuando la realidad dicta un enfoque mejor. El primer paso hacia la formulación de soluciones prácticas para la ingeniería de software es el reconocimiento de las realidades en este campo.

77


El modelo general de proceso En la Figura 17 Proceso de software, se representa el proceso del software de manera esquemática. En dicha figura, cada actividad estructural está formada por un conjunto de acciones de ingeniería de software y cada una de éstas se encuentra definida por un conjunto de tareas que identifica las tareas del trabajo que deben realizarse, los productos del trabajo que se producirán, los puntos de aseguramiento de la calidad que se requieren y los puntos de referencia que se utilizarán para evaluar el avance. Como se dijo en el capítulo 1, una estructura general para la ingeniería de software define cinco actividades estructurales: comunicación, planeación, modelado, construcción y despliegue.

Figura 17 Proceso de software

brilla: seguimiento y control del proyecto, administración de riesgos, aseguramiento de la calidad, administración de la configuración, revisiones técnicas, entre otras.

78


Evaluación y mejora de proceso En las últimas décadas se han propuesto numerosos enfoques para la evaluación y mejora de un proceso del software: Método de evaluación del estándar CMMI para el proceso de mejora (SCAMPI, por sus siglas en inglés): proporciona un modelo de cinco fases para evaluar el proceso: inicio, diagnóstico, establecimiento, actuación y aprendizaje. El método SCAMPI emplea el SEI CMMI como la base de la evaluación [SEI00]. Evaluación basada en CMM para la mejora del proceso interno (CBA IPI, por sus siglas en inglés): proporciona una técnica de diagnóstico para evaluar la madurez relativa de una organización de software; usa el SEI CMM como la base de la evaluación [Dun01]. SPICE (ISO/IEC 15504): estándar que define un conjunto de requerimientos para la evaluación del proceso del software. El objetivo del estándar es ayudar a las organizaciones a desarrollar una evaluación objetiva de cualquier proceso del software definido [ISO08]. ISO9001:2000 para software: estándar genérico que se aplica a cualquier organización que desee mejorar la calidad general de los productos, sistemas o servicios que proporciona. Por tanto, el estándar es directamente aplicable a las organizaciones y compañías de software [Ant06].

Modelos de procesos prescriptivos Los modelos de proceso prescriptivo fueron propuestos originalmente para poner orden en el caos del desarrollo de software. La historia indica que estos modelos tradicionales han dado cierta estructura útil al trabajo de ingeniería de software y que constituyen un mapa razonablemente eficaz para los equipos de software. Sin embargo, el trabajo de ingeniería de software y el producto que genera siguen “al borde del caos”. Modelo de la cascada Hay veces en las que los requerimientos para cierto problema se comprenden bien: cuando el trabajo desde la comunicación hasta el despliegue fluye en forma razonablemente lineal. Esta situación se encuentra en ocasiones cuando deben hacerse adaptaciones o mejoras bien definidas a un sistema ya existente (por ejemplo, una adaptación para software de contabilidad que es obligatorio hacer debido a cambios en las regulaciones gubernamentales). También ocurre en cierto número limitado de nuevos esfuerzos de desarrollo, pero sólo cuando los requerimientos están bien definidos y tienen una estabilidad razonable. El modelo de la cascada, a veces llamado ciclo de vida clásico, sugiere un enfoque sistemático y secuencial6 para el desarrollo del software, que comienza con la especificación de los requerimientos por parte del cliente y avanza a través

79


de planeación, modelado, construcción y despliegue, para concluir con el apoyo del software terminado. Modelos de proceso incremental Hay muchas situaciones en las que los requerimientos iniciales del software están razonablemente bien definidos, pero el alcance general del esfuerzo de desarrollo imposibilita un proceso lineal. Además, tal vez haya una necesidad imperiosa de dar rápidamente cierta funcionalidad limitada de software a los usuarios y aumentarla en las entregas posteriores de software. En tales casos, se elige un modelo de proceso diseñado para producir el software en incrementos. El modelo incremental combina elementos de los flujos de proceso lineal y paralelo estudiados en la sección 2.1. En relación con la figura 2.5, el modelo incremental aplica secuencias lineales en forma escalonada a medida que avanza el calendario de actividades. Cada secuencia lineal produce “incrementos” de software susceptibles de entregarse [McD93] de manera parecida a los incrementos producidos en un flujo de proceso evolutivo (sección 2.3.3). Por ejemplo, un software para procesar textos que se elabore con el paradigma incremental quizá entregue en el primer incremento las funciones básicas de administración de archivos, edición y producción del documento; en el segundo dará herramientas más sofisticadas de edición y producción de documentos; en el tercero habrá separación de palabras y revisión de la ortografía; y en el cuarto se proporcionará la capacidad para dar formato avanzado a las páginas. Debe observarse que el flujo de proceso para cualquier incremento puede incorporar el paradigma del prototipo. Cuando se utiliza un modelo incremental, es frecuente que el primer incremento sea el producto fundamental. Es decir, se abordan los requerimientos básicos, pero no se proporcionan muchas características suplementarias (algunas conocidas y otras no). El cliente usa el producto fundamental (o lo somete a una evaluación detallada). Como resultado del uso y/o evaluación, se desarrolla un plan para el incremento que sigue. El plan incluye la modificación del producto fundamental para cumplir mejor las necesidades del cliente, así como la entrega de características adicionales y más funcionalidad. Este proceso se repite después de entregar cada incremento, hasta terminar el producto final. Modelos de proceso evolutivo El software, como todos los sistemas complejos, evoluciona en el tiempo. Es frecuente que los requerimientos del negocio y del producto cambien conforme avanza el desarrollo, lo que hace que no sea realista trazar una trayectoria rectilínea hacia el producto final; los plazos apretados del mercado hacen que sea imposible la terminación de un software perfecto, pero debe lanzarse una versión limitada a fin de aliviar la presión de la competencia o del negocio; se comprende bien el conjunto de requerimientos o el producto básico, pero los detalles del producto o extensiones del sistema aún están por definirse. En estas situaciones y otras parecidas se necesita un modelo de proceso diseñado explícitamente para adaptarse a un producto que evoluciona con el tiempo.

80


Los modelos evolutivos son iterativos. Se caracterizan por la manera en la que permiten desarrollar versiones cada vez más completas del software. En los párrafos que siguen se presentan dos modelos comunes de proceso evolutivo. Modelos concurrentes El modelo de desarrollo concurrente, en ocasiones llamado ingeniería concurrente, permite que un equipo de software represente elementos iterativos y concurrentes de cualquiera de los modelos de proceso descritos en este capítulo. Por ejemplo, la actividad de modelado definida para el modelo espiral se logra por medio de invocar una o más de las siguientes acciones de software: hacer prototipos, análisis y diseño.11 dentro de la actividad de modelado con el uso del enfoque de modelado concurrente. La actividad —modelado— puede estar en cualquiera de los estados12 mencionados en un momento dado. En forma similar, es posible representar de manera análoga otras actividades, acciones o tareas (por ejemplo, comunicación o construcción). Todas las actividades de ingeniería de software existen de manera concurrente, pero se hallan en diferentes estados.

Modelos de proceso especializado Los modelos de proceso especializado tienen muchas de las características de uno o más de los modelos tradicionales que se presentaron en las secciones anteriores. Sin embargo, dichos modelos tienden a aplicarse cuando se elige un enfoque de ingeniería de software especializado o definido muy específicamente.15 Desarrollo basado en componentes Los componentes comerciales de software general (COTS, por sus siglas en inglés), desarrollados por vendedores que los ofrecen como productos, brindan una funcionalidad que se persigue con interfaces bien definidas que permiten que el componente se integre en el software que se va a construir. El modelo de desarrollo basado en componentes incorpora muchas de las características del modelo espiral. Es de naturaleza evolutiva [Nie92] y demanda un enfoque iterativo para la creación de software. Sin embargo, el modelo de desarrollo basado en componentes construye aplicaciones a partir de fragmentos de software prefabricados. Las actividades de modelado y construcción comienzan con la identificación de candidatos de componentes. Éstos pueden diseñarse como módulos de software convencional o clases orientadas a objetos o paquetes16 de clases. Sin importar la tecnología usada para crear los componentes, el modelo de desarrollo basado en componentes incorpora las etapas siguientes (se implementan con el uso de un enfoque evolutivo): 1. Se investigan y evalúan, para el tipo de aplicación de que se trate, productos disponibles basados en componentes. 2. Se consideran los aspectos de integración de los componentes. 3. Se diseña una arquitectura del software para que reciba los componentes.

81


4. Se integran los componentes en la arquitectura. 5. Se efectúan pruebas exhaustivas para asegurar la funcionalidad apropiada. El modelo del desarrollo basado en componentes lleva a la reutilización del software, y eso da a los ingenieros de software varios beneficios en cuanto a la mensurabilidad. Si la reutilización de componentes se vuelve parte de la cultura, el equipo de ingeniería de software tiene la posibilidad tanto de reducir el ciclo de tiempo del desarrollo como el costo del proyecto. El modelo de métodos formales El modelo de métodos formales agrupa actividades que llevan a la especificación matemática formal del software de cómputo. Los métodos formales permiten especificar, desarrollar y verificar un sistema basado en computadora por medio del empleo de una notación matemática rigurosa. Ciertas organizaciones de desarrollo de software aplican una variante de este enfoque, que se denomina ingeniería de software de quirófano [Mil87, Dye92]. Cuando durante el desarrollo se usan métodos formales (capítulo 21), se obtiene un mecanismo para eliminar muchos de los problemas difíciles de vencer con otros paradigmas de la ingeniería de software. Lo ambiguo, incompleto e inconsistente se descubre y corrige con más facilidad, no a través de una revisión ad hoc sino con la aplicación de análisis matemático. Si durante el diseño se emplean métodos formales, éstos sirven como base para la verificación del programa, y así permiten descubrir y corregir errores que de otro modo no serían detectados. Aunque el modelo de los métodos formales no es el más seguido, promete un software libre de defectos. Sin embargo, se han expresado preocupaciones acerca de su aplicabilidad en un ambiente de negocios: • El desarrollo de modelos formales consume mucho tiempo y es caro. • Debido a que pocos desarrolladores de software tienen la formación necesaria para aplicar métodos formales, se requiere mucha capacitación. • Es difícil utilizar los modelos como mecanismo de comunicación para clientes sin complejidad técnica. A pesar de estas preocupaciones, el enfoque de los métodos formales ha ganado partidarios entre los desarrolladores que deben construir software de primera calidad en seguridad (por ejemplo, control electrónico de aeronaves y equipos médicos), y entre los desarrolladores que sufrirían graves pérdidas económicas si ocurrieran errores en su software. Desarrollo de software orientado a aspectos Sin importar el proceso del software que se elija, los constructores de software complejo implementan de manera invariable un conjunto de características, funciones y contenido de información localizados. Estas características localizadas del software se modelan como componentes (clases orientadas a objetos) y luego se construyen dentro del contexto de una arquitectura de sistemas. A medida que los sistemas modernos basados en computadora se hacen más sofisticados

82


(y complejos), ciertas preocupaciones —propiedades que requiere el cliente o áreas de interés técnico— se extienden a toda la arquitectura. Algunas de ellas son las propiedades de alto nivel de un sistema (por ejemplo, seguridad y tolerancia a fallas). Otras afectan a funciones (aplicación de las reglas de negocios), mientras que otras más son sistémicas (sincronización de la tarea o administración de la memoria). Cuando las preocupaciones afectan múltiples funciones, características e información del sistema, es frecuente que se les llame preocupaciones globales. Los requerimientos del aspecto definen aquellas preocupaciones globales que tienen algún efecto a través de la arquitectura del software. El desarrollo de software orientado a aspectos (DSOA), conocido también como programación orientada a aspectos (POA), es un paradigma de ingeniería de software relativamente nuevo que proporciona un proceso y enfoque metodológico para definir, especificar, diseñar y construir aspectos: “mecanismos más allá de subrutinas y herencia para localizar la expresión de una preocupación global” [Elr01].

Proceso Unificado El proceso unificado es un intento por obtener los mejores rasgos y características de los modelos tradicionales del proceso del software, pero en forma que implemente muchos de los mejores principios del desarrollo ágil de software. El proceso unificado reconoce la importancia de la comunicación con el cliente y los métodos directos para describir su punto de vista respecto de un sistema (el caso de uso).18 Hace énfasis en la importancia de la arquitectura del software y “ayuda a que el arquitecto se centre en las metas correctas, tales como que sea comprensible, permita cambios futuros y la reutilización” [Jac99]: Sugiere un flujo del proceso iterativo e incremental, lo que da la sensación evolutiva que resulta esencial en el desarrollo moderno del software. Fases del proceso unificado19 Al principio de este capítulo se estudiaron cinco actividades estructurales generales y se dijo que podían usarse para describir cualquier modelo de proceso del software. El proceso unificado no es la excepción. La figura 2.9 ilustra las “fases” del PU y las relaciona con las actividades generales estudiadas en el capítulo 1 y al inicio de éste. La fase de concepción del PU agrupa actividades tanto de comunicación con el cliente como de planeación. Al colaborar con los participantes, se identifican los requerimientos del negocio, se propone una arquitectura aproximada para el sistema y se desarrolla un plan para la naturaleza iterativa e incremental del proyecto en cuestión. Los requerimientos fundamentales del negocio se describen por medio de un conjunto de casos de uso preliminares que detallan las características y funciones que desea cada clase principal de usuarios. En este punto, la arquitectura no es más que un lineamiento tentativo de subsistemas principales y la función y rasgos que tienen. La arquitectura se mejorará después y se expandirá en un conjunto de modelos que representarán distintos puntos de vista del sistema. La planeación identifica los recursos, evalúa los riesgos principales, define un programa de actividades y establece una base

83


para las fases que se van a aplicar a medida que avanza el incremento del software. La fase de elaboración incluye las actividades de comunicación y modelado del modelo general del proceso. La elaboración mejora y amplía los casos de uso preliminares desarrollados como parte de la fase de concepción y aumenta la representación de la arquitectura para incluir cinco puntos de vista distintos del software: los modelos del caso de uso, de requerimientos, del diseño, de la implementación y del despliegue. En ciertos casos, la elaboración crea una “línea de base de la arquitectura ejecutable” [Arl02] que representa un sistema ejecutable de “primer corte”.20 La línea de base de la arquitectura demuestra la viabilidad de ésta, pero no proporciona todas las características y funciones que se requieren para usar el sistema. Además, al terminar la fase de elaboración se revisa con cuidado el plan a fin de asegurar que el alcance, riesgos y fechas de entrega siguen siendo razonables. Es frecuente que en este momento se hagan modificaciones al plan. La fase de construcción del PU es idéntica a la actividad de construcción definida para el proceso general del software. Con el uso del modelo de arquitectura como entrada, la fase de construcción desarrolla o adquiere los componentes del software que harán que cada caso de uso sea operativo para los usuarios finales. Para lograrlo, se completan los modelos de requerimientos y diseño que se comenzaron durante la fase de elaboración, a fin de que reflejen la versión final del incremento de software. Después se implementan en código fuente todas las características y funciones necesarias para el incremento de software (por ejemplo, el lanzamiento). A medida de que se implementan los componentes, se diseñan y efectúan pruebas unitarias21 para cada uno. Además, se realizan actividades de integración (ensamble de componentes y pruebas de integración). Se emplean casos de uso para obtener un grupo de pruebas de aceptación que se ejecutan antes de comenzar la siguiente fase del PU. La fase de transición del PU incluye las últimas etapas de la actividad general de construcción y la primera parte de la actividad de despliegue general (entrega y retroalimentación). Se da el software a los usuarios finales para las pruebas beta, quienes reportan tanto los defectos como los cambios necesarios. Además, el equipo de software genera la información de apoyo necesaria (por ejemplo, manuales de usuario, guías de solución de problemas, procedimientos de instalación, etc.) que se requiere para el lanzamiento. Al finalizar la fase de transición, el softwareincrementado se convierte en un producto utilizable que se lanza. La fase de producción del PU coincide con la actividad de despliegue del proceso general. Durante esta fase, se vigila el uso que se da al software, se brinda apoyo para el ambiente de operación (infraestructura) y se reportan defectos y solicitudes de cambio para su evaluación. Es probable que al mismo tiempo que se llevan a cabo las fases de construcción, transición y producción, comience el trabajo sobre el siguiente incremento del software. Esto significa que las cinco fases del PU no ocurren en secuencia sino que concurren en forma escalonada.

84


Modelo de proceso personal y del equipo Proceso personal del software (PPS) Todo desarrollador utiliza algún proceso para elaborar software de cómputo. El proceso puede ser caprichoso o ad hoc; quizá cambie a diario; tal vez no sea eficiente, eficaz o incluso no sirva; pero sí existe un “proceso”. Watts Humphrey [Hum97] sugiere que a fin de cambiar un proceso personal ineficaz, un individuo debe pasar por las cuatro fases, cada una de las cuales requiere capacitación e instrumentación cuidadosa. El proceso personal del software (PPS) pone el énfasis en la medición personal tanto del producto del trabajo que se genera como de su calidad. Además,el PPS responsabiliza al profesional acerca de la planeación del proyecto (por ejemplo, estimación y programación de actividades) y delega en el practicante el poder de controlar la calidad de todos los productos del trabajo de software que se desarrollen. El modelo del PPS define cinco actividades estructurales: Planeación. Esta actividad aísla los requerimientos y desarrolla las estimaciones tanto del tamaño como de los recursos. Además, realiza la estimación de los defectos (el número de defectos proyectados para el trabajo). Todas las mediciones se registran en hojas de trabajo o plantillas. Por último, se identifican las tareas de desarrollo y se crea un programa para el proyecto. Diseño de alto nivel. Se desarrollan las especificaciones externas para cada componente que se va a construir y se crea el diseño de componentes. Si hay incertidumbre, se elaboran prototipos. Se registran todos los aspectos relevantes y se les da seguimiento. Revisión del diseño de alto nivel. Se aplican métodos de verificación formal para descubrir errores en el diseño. Se mantienen las mediciones para todas las tareas y resultados del trabajo importantes. Desarrollo. Se mejora y revisa el diseño del componente. El código se genera, revisa, compila y prueba. Las mediciones se mantienen para todas las tareas y resultados de trabajo de importancia. Post mórtem. Se determina la eficacia del proceso por medio de medidas y mediciones obtenidas (ésta es una cantidad sustancial de datos que deben analizarse con métodos estadísticos). Las medidas y mediciones deben dar la guía para modificar el proceso a fin de mejorar su eficacia. El PPS enfatiza la necesidad de detectar pronto los errores; de igual importancia es entender los tipos de ellos que es probable cometer. Esto se logra a través de una actividad de evaluación rigurosa ejecutada para todos los productos del trabajo que se generen. El PPS representa un enfoque disciplinado basado en la medición para la ingeniería de software que quizá sea un choque cultural para muchos de sus practicantes. Sin embargo, cuando se introduce el PPS en forma apropiada en los ingenieros de software [Hum96], es significativa la mejora resultante en la productividad de la ingeniería respectiva y en la calidad del software. No obstante,

85


el PPS no ha sido adoptado con amplitud por la industria. Es triste reconocer que las razones de esto tienen que ver más con la naturaleza humana y la inercia organizacional que con las fortalezas y debilidades del enfoque del PPS. Dicho enfoque plantea desafíos intelectuales y demanda un nivel de compromiso (por parte de los practicantes y sus administradores) que no siempre es posible obtener. La capacitación es relativamente larga y sus costos elevados. El nivel requerido de las mediciones es culturalmente difícil para muchas personas de la comunidad del software. ¿Es posible usar el PPS como un proceso eficaz de software a nivel personal? La respuesta es un rotundo “sí”. Pero aun si no se adoptara por completo el PPS, muchos de los conceptos del proceso de mejora personal que introduce constituyen un aprendizaje provechoso. Proceso del equipo de software (PES) Debido a que muchos proyectos de software industrial son elaborados por un equipo de profesionales, Watts Humphrey extendió las lecciones aprendidas de la introducción del PPS y propuso un proceso del equipo de software (PES). El objetivo de éste es construir un equipo “autodirigido” para el proyecto, que se organice para producir software de alta calidad. Humphrey [Hum98] define los objetivos siguientes para el PES: • Formar equipos autodirigidos que planeen y den seguimiento a su trabajo, que establezcan metas y que sean dueños de sus procesos y planes. Éstos pueden ser equipos de software puros o de productos integrados (EPI) constituidos por 3 a 20 ingenieros. • Mostrar a los gerentes cómo dirigir y motivar a sus equipos y cómo ayudarlos a mantener un rendimiento máximo. • Acelerar la mejora del proceso del software, haciendo del modelo de madurez de la capacidad, CMM,23 nivel 5, el comportamiento normal y esperado. • Brindar a las organizaciones muy maduras una guía para la mejora. • Facilitar la enseñanza universitaria de aptitudes de equipo con grado industrial. Un equipo autodirigido tiene la comprensión consistente de sus metas y objetivos generales; define el papel y responsabilidad de cada miembro del equipo; da seguimiento cuantitativo a los datos del proyecto (sobre la productividad y calidad); identifica un proceso de equipo que sea apropiado para el proyecto y una estrategia para implementarlo; define estándares locales aplicables al trabajo de ingeniería de software del equipo; evalúa en forma continua el riesgo y reacciona en consecuencia; y da seguimiento, administra y reporta el estado del proyecto. El PES define las siguientes actividades estructurales: inicio del proyecto, diseño de alto nivel, implementación, integración y pruebas, y post mórtem. Como sus contrapartes del PPS (observe que la terminología es algo diferente), estas actividades permiten que el equipo planee, diseñe y construya software en forma disciplinada, al mismo tiempo que mide cuantitativamente el proceso y el producto. La etapa post mórtem es el escenario de las mejoras del proceso.

86


El PES utiliza una variedad amplia de scripts, formatos y estándares que guían a los miembros del equipo en su trabajo. Los scripts definen actividades específicas del proceso (por ejemplo, inicio del proyecto, diseño, implementación, integración y pruebas del sistema, y post mórtem), así como otras funciones más detalladas del trabajo (planeación del desarrollo, desarrollo de requerimientos, administración de la configuración del software y prueba unitaria) que forman parte del proceso de equipo. El PES reconoce que los mejores equipos de software son los autodirigidos.24 Los miembros equipo establecen los objetivos del proyecto, adaptan el proceso para que cubra las necesidades, controlan la programación de actividades del proyecto y, con la medida y análisis de las mediciones efectuadas, trabajan de manera continua en la mejora del enfoque de ingeniería de software que tiene el equipo. Igual que el PPS, el PES es un enfoque riguroso para la ingeniería de software y proporciona beneficios distintivos y cuantificables en productividad y calidad. El equipo debe tener un compromiso total con el proceso y recibir capacitación completa para asegurar que el enfoque se aplique en forma apropiada.

Tecnología de proceso El equipo del software debe adaptar uno o más de los modelos del proceso estudiados en las secciones precedentes. Para ello, se han desarrollado herramientas de tecnología del proceso que ayudan a las organizaciones de software a analizar su proceso actual, organizar las tareas de trabajo, controlar y vigilar el avance, y administrar la calidad técnica. Las herramientas de tecnología del proceso permiten que una organización de software construya un modelo automatizado de la estructura del proceso, conjuntos de tareas y actividades sombrilla, estudiados en la sección 2.1. El modelo, que normalmente se representa como una red, se analiza para determinar el flujo de trabajo normal y se examinan estructuras alternativas del proceso que podrían llevar a disminuir el tiempo o costo del desarrollo. Una vez creado un proceso aceptable, se emplean otras herramientas de tecnología para asignar, vigilar e incluso controlar todas las actividades, acciones y tareas de la ingeniería de software definidas como parte del modelo del proceso. Cada miembro de un equipo de software utiliza dichas herramientas para desarrollar una lista de verificación de las tareas de trabajo que deben realizarse. La herramienta de tecnología del proceso también se usa para coordinar el empleo de otras herramientas de la ingeniería de software que sean apropiadas para una tarea particular del trabajo.

Producto y proceso Si el proceso es deficiente, no cabe duda de que el producto final sufrirá. Pero también es peligrosa la dependencia excesiva del proceso.

87


En la comunidad científica existe el precedente de adoptar nociones de dualidad cuando las contradicciones en las observaciones no pueden ser explicadas por alguna teoría alternativa. La naturaleza dual de la luz, que parece ser al mismo tiempo onda y partícula, ha sido aceptada desde la década de 1920, cuando la propuso Louis de Broglie. Pienso que las observaciones que podemos hacer sobre el conjunto del software y su desarrollo demuestran una dualidad fundamental entre el producto y el proceso. Nunca es posible derivar u obtener todo el conjunto, su contexto, uso, significado y beneficios si se le ve sólo como proceso o sólo como producto. Toda la actividad humana es un proceso, pero cada uno de nosotros obtiene un sentido de beneficio propio gracias a aquellas actividades que dan como resultado una representación o instancia que puede usar o apreciar más de una persona, utilizarla una y otra vez, o emplearla en algún otro contexto no considerado. Es decir, obtenemos sentimientos de satisfacción por la reutilización de nuestros productos, ya sea que lo hagamos nosotros u otras personas. Entonces, si bien la rápida asimilación de las metas de reutilización en el desarrollo del software incrementa potencialmente la satisfacción que obtienen los profesionales del software en su trabajo, también aumenta la urgencia de la aceptación de la dualidad de producto y proceso. Pensar en un artefacto reutilizable como si fuera sólo un producto o sólo un proceso oscurece el contexto y las formas de emplearlo, o bien oculta el hecho de que cada uso da como resultado un producto que a su vez será utilizado como entrada para alguna otra actividad de desarrollo de software. Privilegiar un punto de vista sobre el otro reduce mucho las oportunidades para la reutilización y, por tanto, se pierde la oportunidad de aumentar la satisfacción por el trabajo. La gente obtiene tanta (o más) satisfacción del proceso creativo como del producto final. Un artista disfruta las pinceladas tanto como el resultado que enmarca. Un escritor goza de la búsqueda de la metáfora apropiada tanto como del libro terminado. Como profesional creativo del software, usted también debe obtener tanta satisfacción del proceso como del producto final. La dualidad de producto y proceso es un elemento importante para hacer que personas creativas se involucren conforme la ingeniería de software evoluciona.

Desarrollo Ágil Cualquier proceso del software ágil se caracteriza por la forma en la que aborda cierto número de suposiciones clave [Fow02] acerca de la mayoría de proyectos de software: 1. Es difícil predecir qué requerimientos de software persistirán y cuáles cambiarán. También es difícil pronosticar cómo cambiarán las prioridades del cliente a medida que avanza el proyecto. 2. Para muchos tipos de software, el diseño y la construcción están imbricados. Es decir, ambas actividades deben ejecutarse en forma simultánea, de modo que los

88


modelos de diseño se prueben a medida que se crean. Es difícil predecir cuánto diseño se necesita antes de que se use la construcción para probar el diseño. 3. El análisis, el diseño, la construcción y las pruebas no son tan predecibles como nos gustaría (desde un punto de vista de planeación). Dadas estas tres suposiciones, surge una pregunta importante: ¿cómo crear un proceso que pueda manejar lo impredecible? La respuesta, como ya se dijo, está en la adaptabilidad del proceso (al cambio rápido del proyecto y a las condiciones técnicas). Por tanto, un proceso ágil debe ser adaptable. Pero la adaptación continua logra muy poco si no hay avance. Entonces, un proceso de software ágil debe adaptarse incrementalmente. Para lograr la adaptación incremental, un equipo ágil requiere retroalimentación con el cliente (de modo que sea posible hacer las adaptaciones apropiadas). Un catalizador eficaz para la retroalimentación con el cliente es un prototipo operativo o una porción de un sistema operativo. Así, debe instituirse una estrategia de desarrollo incremental. Deben entregarse incrementos de software (prototipos ejecutables o porciones de un sistema operativo) en periodos cortos de tiempo, de modo que la adaptación vaya a ritmo con el cambio (impredecible). Este enfoque iterativo permite que el cliente evalúe en forma regular el incremento de software, dé la retroalimentación necesaria al equipo de software e influya en las adaptaciones del proceso que se realicen para aprovechar la retroalimentación. Principios de agilidad La Alianza Ágil define 12 principios de agilidad para aquellos que la quieran alcanzar: 1. La prioridad más alta es satisfacer al cliente a través de la entrega pronta y continua de software valioso. 2. Son bienvenidos los requerimientos cambiantes, aun en una etapa avanzada del desarrollo. Los procesos ágiles dominan el cambio para provecho de la ventaja competitiva del cliente. 3. Entregar con frecuencia software que funcione, de dos semanas a un par de meses, de preferencia lo más pronto que se pueda. 4. Las personas de negocios y los desarrolladores deben trabajar juntos, a diario y durante todo el proyecto. 5. Hay que desarrollar los proyectos con individuos motivados. Debe darse a éstos el ambiente y el apoyo que necesiten, y confiar en que harán el trabajo. 6. El método más eficiente y eficaz para transmitir información a los integrantes de un equipo de desarrollo, y entre éstos, es la conversación cara a cara. 7. La medida principal de avance es el software que funciona. 8. Los procesos ágiles promueven el desarrollo sostenible. Los patrocinadores, desarrolladores y usuarios deben poder mantener un ritmo constante en forma indefinida. 9. La atención continua a la excelencia técnica y el buen diseño mejora la agilidad. 10. Es esencial la simplicidad: el arte de maximizar la cantidad de trabajo no realizado. 11. Las mejores arquitecturas, requerimientos y diseños surgen de los equipos con organización propia.

89


12. El equipo reflexiona a intervalos regulares sobre cómo ser más eficaz, para después afinar y ajustar su comportamiento en consecuencia. No todo modelo de proceso ágil aplica estos 12 principios con igual intensidad y algunos eligen ignorar (o al menos soslayar) la importancia de uno o más de ellos. La política del desarrollo ágil Hay mucho debate (a veces estridente) sobre los beneficios y aplicabilidad del desarrollo de software ágil como oposición a los procesos más convencionales. Jim Highsmith [Hig02a] señala (en tono de burla) los extremos cuando caracteriza la posición del campo a favor de la agilidad (“agilistas”). “Los metodólogos tradicionales están atrapados en un pantano y producirán una documentación sin defectos en vez de un sistema funcional que satisfaga las necesidades del negocio.” Como contrapunto, plantea (de nuevo como burla) la posición del campo de la ingeniería de software tradicional: “Los metodólogos ligeros, perdón, ‘ágiles’, son un grupo de remendones famosos que se van a llevar una sorpresa cuando intenten convertir sus juguetes en software a la medida de la empresa.” Como todos los argumentos sobre la tecnología de software, este debate sobre la metodología corre el riesgo de degenerar en una guerra religiosa. Si estalla, desaparece el pensamiento racional y lo que guía la toma de decisiones son las creencias y no los hechos. Nadie está contra la agilidad. La pregunta real es: ¿cuál es la mejor forma de lograrla? De igual importancia: ¿cómo construir software que satisfaga en el momento las necesidades de los clientes y que tenga características de calidad que permitan ampliarlo y escalarlo para que también las satisfaga en el largo plazo? No hay respuestas absolutas a ninguna de estas preguntas. Aun dentro de la escuela ágil hay muchos modelos de proceso propuestos (véase la sección 3.4), cada uno con un enfoque algo diferente para el problema de la agilidad. Dentro de cada modelo hay un conjunto de “ideas” (los agilistas las llaman “tareas del trabajo”) que representan un alejamiento significativo de la ingeniería de software tradicional. No obstante, muchos conceptos ágiles sólo son adaptaciones de algunos que provienen de la buena ingeniería de software. Factores humanos Los defensores del desarrollo de software ágil se toman muchas molestias para enfatizar la importancia de los “factores personales”. Como dicen Cockburn y Highsmith [Coc01a]: “El desarrollo ágil se centra en los talentos y habilidades de los individuos, y adapta el proceso a personas y equipos específicos.” El punto clave de esta afirmación es que el proceso se adapta a las necesidades de las personas y del equipo, no al revés.2 Si los miembros del equipo de software son los que van a generar las características del proceso que van a aplicarse a la elaboración de software, entre ellos debe existir cierto número de características clave, mismas que debe compartir el equipo ágil como tal: Competencia. En un contexto de desarrollo ágil (así como en la ingeniería de software), la “competencia” incluye el talento innato, las habilidades específicas relacionadas con el software y el conocimiento general del proceso que el equipo

90


haya elegido aplicar. La habilidad y el conocimiento del proceso pueden y deben considerarse para todas las personas que sean miembros ágiles del equipo. Enfoque común. Aunque los miembros del equipo ágil realicen diferentes tareas y aporten habilidades distintas al proyecto, todos deben centrarse en una meta: entregar al cliente en la fecha prometida un incremento de software que funcione. Para lograrlo, el equipo también se centrará en adaptaciones continuas (pequeñas y grandes) que hagan que el proceso se ajuste a las necesidades del equipo. Colaboración. La ingeniería de software (sin importar el proceso) trata de evaluar, analizar y usar la información que se comunica al equipo de software; crear información que ayudará a todos los participantes a entender el trabajo del equipo; y generar información (software de cómputo y bases de datos relevantes) que aporten al cliente valor del negocio. Para efectuar estas tareas, los miembros del equipo deben colaborar, entre sí y con todos los participantes. Habilidad para tomar decisiones. Cualquier equipo bueno de software (incluso los equipos ágiles) debe tener libertad para controlar su destino. Esto implica que se dé autonomía al equipo: autoridad para tomar decisiones sobre asuntos tanto técnicos como del proyecto. Capacidad para resolver problemas difusos. Los gerentes de software deben reconocer que el equipo ágil tendrá que tratar en forma continua con la ambigüedad y que será sacudido de manera permanente por el cambio. En ciertos casos, el equipo debe aceptar el hecho de que el problema que resuelven ahora tal vez no sea el que se necesite resolver mañana. Sin embargo, las lecciones aprendidas de cualquier actividad relacionada con la solución de problemas (incluso aquellas que resuelven el problema equivocado) serán benéficas para el equipo en una etapa posterior del proyecto. Confianza y respeto mutuos. El equipo ágil debe convertirse en lo que DeMarco y Lister [DeM98] llaman “pegado” (véase el capítulo 24). Un equipo pegado tiene la confianza y respeto que son necesarios para hacer “su tejido tan fuerte que el todo es más que la suma de sus partes” [DeM98]. Organización propia. En el contexto del desarrollo ágil, la organización propia implica tres cosas: 1) el equipo ágil se organiza a sí mismo para hacer el trabajo, 2) el equipo organiza el proceso que se adapte mejor a su ambiente local, 3) el equipo organiza la programación del trabajo a fin de que se logre del mejor modo posible la entrega del incrementode software. La organización propia tiene cierto número de beneficios técnicos, pero, lo que es más importante, sirve para mejorar la colaboración y elevar la moral del equipo. En esencia, el equipo sirve como su propio gerente. Ken Schwaber [Sch02] aborda estos aspectos cuando escribe: “El equipo selecciona cuánto trabajo cree que puede realizar en cada iteración, y se compromete con la labor. Nada desmotiva tanto a un equipo como que alguien establezca compromisos por él. Nada motiva más a un equipo como aceptar la responsabilidad de cumplir los compromisos que haya hecho él mismo.”

Programación XP o extrema A fin de ilustrar un proceso ágil con más detalle, daremos un panorama de la programación extrema (XP), el enfoque más utilizado del desarrollo de software

91


ágil. Aunque las primeras actividades con las ideas y los métodos asociados a XP ocurrieron al final de la década de 1980, el trabajo fundamental sobre la materia había sido escrito por Kent Beck [Bec04a]. Una variante de XP llamada XP industrial [IXP] se propuso en una época más reciente [Ker05]. IXP mejora la XP y tiene como objetivo el proceso ágil para ser usado específicamente en organizaciones grandes. Valores XP Beck [Bec04a] define un conjunto de cinco valores que establecen el fundamento para todo trabajo realizado como parte de XP: comunicación, simplicidad, retroalimentación, valentía y respeto. Cada uno de estos valores se usa como un motor para actividades, acciones y tareas específicas de XP. A fin de lograr la comunicación eficaz entre los ingenieros de software y otros participantes por ejemplo, para establecer las características y funciones requeridas para el software), XP pone el énfasis en la colaboración estrecha pero informal (verbal) entre los clientes y los desarrolladores, en el establecimiento de metáforas3 para comunicar conceptos importantes, en la retroalimentación continua y en evitar la documentación voluminosa como medio de comunicación. Para alcanzar la simplicidad, XP restringe a los desarrolladores para que diseñen sólo para las necesidades inmediatas, en lugar de considerar las del futuro. El objetivo es crear un diseño sencillo que se implemente con facilidad en forma de código. Si hay que mejorar el diseño, se rediseñará4 en un momento posterior. La retroalimentación se obtiene de tres fuentes: el software implementado, el cliente y otros miembros del equipo de software. Al diseñar e implementar una estrategia de pruebas eficaz, el software (por medio de los resultados de las pruebas) da retroalimentación al equipo ágil. XP usa la prueba unitaria como su táctica principal de pruebas. A medida que se desarrolla cada clase, el equipo implementa una prueba unitaria para ejecutar cada operación de acuerdo con su funcionalidad especificada. Cuando se entrega un incremento a un cliente, las historias del usuario o casos de uso (véase el capítulo 5) que se implementan con el incremento se utilizan como base para las pruebas de aceptación. El grado en el que el software implementa la salida, función y comportamiento del caso de uso es una forma de retroalimentación. Por último, conforme se obtienen nuevos requerimientos como parte de la planeación iterativa, el equipo da al cliente una retroalimentación rápida con miras al costo y al efecto en la programación de actividades. El proceso XP La programación extrema usa un enfoque orientado a objetos (véase el apéndice 2) como paradigma preferido de desarrollo, y engloba un conjunto de reglas y prácticas que ocurren en el contexto de cuatro actividades estructurales: planeación, diseño, codificación y pruebas. La muestra el proceso XP y resalta algunas de las ideas y tareas clave que se asocian con cada actividad estructural. En los párrafos que siguen se resumen las actividades de XP clave.

92


Planeación. La actividad de planeación (también llamada juego de planeación) comienza escuchando actividad para recabar requerimientos que permite que los miembros técnicos del equipo XP entiendan el contexto del negocio para el software y adquieran la sensibilidad de la salida y características principales y funcionalidad que se requieren—. Escuchar lleva a la creación de algunas “historias” (también llamadas historias del usuario) que describen la salida necesaria, características y funcionalidad del software que se va a elaborar. Cada historia (similar a los casos de uso descritos en el capítulo 5) es escrita por el cliente y colocada en una tarjeta indizada. El cliente asigna un valor (es decir, una prioridad) a la historia con base en el valor general de la característica o función para el negocio.5 Después, los miembros del equipo XP evalúan cada historia y le asignan un costo, medido en semanas de desarrollo. Si se estima que la historia requiere más de tres semanas de desarrollo, se pide al cliente que la descomponga en historias más chicas y de nuevo se asigna un valor y costo. Es importante observar que en cualquier momento es posible escribir nuevas historias. Los clientes y desarrolladores trabajan juntos para decidir cómo agrupar las historias en la siguiente entrega (el siguiente incremento de software) que desarrollará el equipo XP. Una vez que se llega a un compromiso sobre la entrega (acuerdo sobre las historias por incluir, la fecha de entrega y otros aspectos del proyecto), el equipo XP ordena las historias que serán desarrolladas en una de tres formas: 1) todas las historias se implementarán de inmediato (en pocassemanas), 2) las historias con más valor entrarán a la programación de actividades y se implementarán en primer lugar o 3) las historias más riesgosas formarán parte de la programación de actividades y se implementarán primero. Después de la primera entrega del proyecto (también llamada incremento de software), el equipo XP calcula la velocidad de éste. En pocas palabras, la velocidad del proyecto es el número de historias de los clientes implementadas durante la primera entrega. La velocidad del proyecto se usa para: 1) ayudar a estimar las fechas de entrega y programar las actividades para las entregas posteriores, y 2) determinar si se ha hecho un gran compromiso para todas las historias durante todo el desarrollo del proyecto. Si esto ocurre, se modifica el contenido de las entregas o se cambian las fechas de entrega final. A medida que avanza el trabajo, el cliente puede agregar historias, cambiar el valor de una ya existente, descomponerlas o eliminarlas. Entonces, el equipo XP reconsidera todas las entregas faltantes y modifica sus planes en consecuencia. Diseño. El diseño XP sigue rigurosamente el principio MS (mantenlo sencillo). Un diseño sencillo siempre se prefiere sobre una representación más compleja. Además, el diseño guía la implementación de una historia conforme se escribe: nada más y nada menos. Se desalienta el diseño de funcionalidad adicional porque el desarrollador supone que se requerirá después.6 XP estimula el uso de las tarjetas CRC como un mecanismo eficaz para pensar en el software en un contexto orientado a objetos. Las tarjetas CRC (clase-responsabilidad-

93


colaborador) identifican y organizan las clases orientadas a objetos7 que son relevantes para el incremento actual de software. El equipo XP dirige el ejercicio de diseño con el uso de un proceso similar al que se describe en el capítulo 8. Las tarjetas CRC son el único producto del trabajo de diseño que se genera como parte del proceso XP. Si en el diseño de una historia se encuentra un problema de diseño difícil, XP recomienda la creación inmediata de un prototipo operativo de esa porción del diseño. Entonces, se implementa y evalúa el prototipo del diseño, llamado solución en punta. El objetivo es disminuir el riesgo cuando comience la implementación verdadera y validar las estimaciones originales para la historia que contiene el problema de diseño. Codificación. Después de que las historias han sido desarrolladas y de que se ha hecho el trabajo de diseño preliminar, el equipo no inicia la codificación, sino que desarrolla una serie de pruebas unitarias a cada una de las historias que se van a incluir en la entrega en curso (incremento de software).8 Una vez creada la prueba unitaria,9 el desarrollador está mejor capacitado para centrarse en lo que debe implementarse para pasar la prueba. No se agrega nada extraño (MS). Una vez que el código está terminado, se le aplica de inmediato una prueba unitaria, con lo que se obtiene retroalimentación instantánea para los desarrolladores. Un concepto clave durante la actividad de codificación (y uno de los aspectos del que más se habla en la XP) es la programación por parejas. XP recomienda que dos personas trabajen juntas en una estación de trabajo con el objeto de crear código para una historia. Esto da un mecanismo para la solución de problemas en tiempo real (es frecuente que dos cabezas piensen más que una) y para el aseguramiento de la calidad también en tiempo real (el código se revisa conforme se crea). También mantiene a los desarrolladores centrados en el problema de que se trate. En la práctica, cada persona adopta un papel un poco diferente. Por ejemplo, una de ellas tal vez piense en los detalles del código de una porción particular del diseño, mientras la otra se asegura de que se siguen los estándares de codificación (parte necesaria de XP) o de que el código para la historia satisfará la prueba unitaria desarrollada a fin de validar el código confrontándolo con la historia. Pruebas. Ya se dijo que la creación de pruebas unitarias antes de que comience la codificación es un elemento clave del enfoque de XP. Las pruebas unitarias que se crean deben implementarse con el uso de una estructura que permita automatizarlas (de modo que puedan ejecutarse en repetidas veces y con facilidad). Esto estimula una estrategia de pruebas de regresión que se modifique el código (lo que ocurre con frecuencia, dada la filosofía del rediseño en XP). Como se dijo en la sección anterior, el más usado de todos los modelos ágiles de proceso es la programación extrema (XP). Pero se han propuesto muchos otros y están en uso en toda la industria. Entre ellos se encuentran los siguientes:

94


• Desarrollo adaptativo de software (DAS) • Scrum • Método de desarrollo de sistemas dinámicos (MDSD) • Cristal • Desarrollo impulsado por las características (DIC) • Desarrollo esbelto de software (DES) • Modelado ágil (MA) • Proceso unificado ágil (PUA) En las secciones que siguen se presenta un panorama muy breve de cada uno de estos modelos ágiles del proceso. Es importante notar que todos los modelos de proceso ágil se apegan (en mayor o menor grado) al Manifiesto para el desarrollo ágil de software y a los principios descritos en la sección 3.3.1. Para mayores detalles, consulte las referencias mencionadas en cada subsección o ingrese en la entrada “desarrollo de software ágil” de Wikipedia.12 Desarrollo adaptativo de software (DAS) El desarrollo adaptativo de software (DAS) fue propuesto por Jim Highsmith [Hig00] como una técnica para elaborar software y sistemas complejos. Los fundamentos filosóficos del DAS se centran en la colaboración humana y en la organización propia del equipo. Highsmith argumenta que un enfoque de desarrollo adaptativo basado en la colaboración es “tanto una fuente de orden en nuestras complejas interacciones, como de disciplina e ingeniería”. Él define un “ciclo de vida” del DAS observe la Figura 18 Ciclo de vida, que incorpora tres fases: especulación, colaboración y aprendizaje.

Figura 18 Ciclo de vida

Durante la especulación, se inicia el proyecto y se lleva a cabo la planeación adaptativa del ciclo. La especulación emplea la información de inicio del proyecto enunciado de misión de los clientes, restricciones del proyecto (por ejemplo,

95


fechas de entrega o descripciones de usuario) y requerimientos básicos— para definir el conjunto de ciclos de entrega (incrementos de software) que se requerirán para el proyecto. No importa lo completo y previsor que sea el plan del ciclo, será inevitable que cambie. Con base en la información obtenida al terminar el primer ciclo, el plan se revisa y se ajusta, de modo que el trabajo planeado se acomode mejor a la realidad en la que trabaja el equipo DAS. Las personas motivadas usan la colaboración de manera que multiplica su talento y producción creativa más allá de sus números absolutos. Este enfoque es un tema recurrente en todos los métodos ágiles. Sin embargo, la colaboración no es fácil. Incluye la comunicación y el trabajo en equipo, pero también resalta el individualismo porque la creatividad individual desempeña un papel importante en el pensamiento colaborativo. Es cuestión, sobre todo, de confianza. Las personas que trabajan juntas deben confiar una en otra a fin de: 1) criticarse sin enojo, 2) ayudarse sin resentimiento, 3) trabajar tan duro, o más, que como de costumbre, 4) tener el conjunto de aptitudes para contribuir al trabajo, y 5) comunicar los problemas o preocupaciones de manera que conduzcan a la acción efectiva. Conforme los miembros de un equipo DAS comienzan a desarrollar los componentes que forman parte de un ciclo adaptativo, el énfasis se traslada al “aprendizaje” de todo lo que hay en el avance hacia la terminación del ciclo. En realidad, Highsmith [Hig00] afirma que los desarrolladores de software sobreestiman con frecuencia su propia comprensión (de la tecnología, del proceso y del proyecto) y que el aprendizaje los ayudará a mejorar su nivel de entendimiento real. Los equipos DAS aprenden de tres maneras: grupos de enfoque, revisiones técnicas y análisis post mórtem del proyecto. La filosofía DAS tiene un mérito, sin importar el modelo de proceso que se use. El énfasis general que hace el DAS en la dinámica de los equipos con organización propia, la colaboración interpersonal y el aprendizaje individual y del equipo generan equipos para proyectos de software que tienen una probabilidad de éxito mucho mayor. Scrum Scrum (nombre que proviene de cierta jugada que tiene lugar durante un partido de rugby)13 es un método de desarrollo ágil de software concebido por Jeff Sutherland y su equipo de desarrollo a principios de la década de 1990. En años recientes, Schwaber y Beedle [Sch01a] han desarrollado más los métodos Scrum. Los principios Scrum son congruentes con el manifiesto ágil y se utilizan para guiar actividades de desarrollo dentro de un proceso de análisis que incorpora las siguientes actividades estructurales: requerimientos, análisis, diseño, evolución y entrega. Dentro de cada actividad estructural, las tareas del trabajo ocurren con un patrón del proceso (que se estudia en el párrafo siguiente) llamado sprint. El trabajo realizado dentro de un sprint (el número de éstos que requiere cada actividad estructural variará en función de la complejidad y tamaño del producto) se adapta al problema en cuestión y se define —y con frecuencia se modifica— en tiempo real por parte del equipo Scrum. Scrum acentúa el uso de un conjunto de patrones de proceso del software [Noy02] que han demostrado ser eficaces para proyectos con plazos de entrega muy

96


apretados, requerimientos cambiantes y negocios críticos. Cada uno de estos patrones de proceso define un grupo de acciones de desarrollo: Retraso: lista de prioridades de los requerimientos o características del proyecto que dan al cliente un valor del negocio. Es posible agregar en cualquier momento otros aspectos al retraso (ésta es la forma en la que se introducen los cambios). El gerente del proyecto evalúa el retraso y actualiza las prioridades según se requiera. Sprints: consiste en unidades de trabajo que se necesitan para alcanzar un requerimiento definido en el retraso que debe ajustarse en una caja de tiempo14 predefinida (lo común son 30 días). Durante el sprint no se introducen cambios (por ejemplo, aspectos del trabajo retrasado). Así, el sprint permite a los miembros del equipo trabajar en un ambiente de corto plazo pero estable. Reuniones Scrum: son reuniones breves (de 15 minutos, por lo general) que el equipo Scrum efectúa a diario. Hay tres preguntas clave que se pide que respondan todos los miembros del equipo [Noy02]: • ¿Qué hiciste desde la última reunión del equipo? • ¿Qué obstáculos estás encontrando? • ¿Qué planeas hacer mientras llega la siguiente reunión del equipo? Un líder del equipo, llamado maestro Scrum, dirige la junta y evalúa las respuestas de cada persona. La junta Scrum ayuda al equipo a descubrir los problemas potenciales tan pronto como sea posible. Asimismo, estas juntas diarias llevan a la “socialización del conocimiento” [Bee99], con lo que se promueve una estructura de equipo con organización propia. Demostraciones preliminares: entregar el incremento de software al cliente de modo que la funcionalidad que se haya implementado pueda demostrarse al cliente y éste pueda evaluarla. Es importante notar que las demostraciones preliminares no contienen toda la funcionalidad planeada, sino que éstas se entregarán dentro de la caja de tiempo establecida. Beedle y sus colegas [Bee99] presentan un análisis exhaustivo de estos patrones en el que dicen: “Scrum supone de entrada la existencia de caos…” Los patrones de proceso Scrum permiten que un equipo de software trabaje con éxito en un mundo en el que es imposible eliminar la incertidumbre. Método de desarrollo de sistemas dinámicos (MDSD) El método de desarrollo de sistemas dinámicos (MDSD) [Sta97] es un enfoque de desarrollo ágil de software que “proporciona una estructura para construir y dar mantenimiento a sistemas que cumplan restricciones apretadas de tiempo mediante la realización de prototipos incrementales en un ambiente controlado de proyectos” [CCS02]. La filosofía MDSD está tomada de una versión modificada de

97


la regla de Pareto: 80 por ciento de una aplicación puede entregarse en 20 por ciento del tiempo que tomaría entregarla completa (100 por ciento). El MDSD es un proceso iterativo de software en el que cada iteración sigue la regla de 80 por ciento. Es decir, se requiere sólo suficiente trabajo para cada incremento con objeto de facilitar el paso al siguiente. Los detalles restantes se terminan más tarde, cuando se conocen los requerimientos del negocio y se han pedido y efectuado cambios. El grupo DSDM Consortium (www.dsdm.org) es un conglomerado mundial de compañías que adoptan colectivamente el papel de “custodios” del método. El consorcio ha definido un modelo de proceso ágil, llamado ciclo de vida MDSD, que define tres ciclos iterativos distintos, precedidos de dos actividades adicionales al ciclo de vida: Estudio de factibilidad: establece los requerimientos y restricciones básicas del negocio, asociados con la aplicación que se va a construir, para luego evaluar si la aplicación es un candidato viable para aplicarle el proceso MDSD. Estudio del negocio: establece los requerimientos e información funcionales que permitirán la aplicación para dar valor al negocio; asimismo, define la arquitectura básica de la aplicación e identifica los requerimientos para darle mantenimiento. Iteración del modelo funcional: produce un conjunto de prototipos incrementales que demuestran al cliente la funcionalidad. (Nota: todos los prototipos de MDSD están pensados para que evolucionen hacia la aplicación que se entrega.) El objetivo de este ciclo iterativo es recabar requerimientos adicionales por medio de la obtención de retroalimentación de los usuarios cuando practican con el prototipo. Diseño e iteración de la construcción: revisita los prototipos construidos durante la iteración del modelo funcional a fin de garantizar que en cada iteración se ha hecho ingeniería en forma que permita dar valor operativo del negocio a los usuarios finales; la iteración del modelo funcional y el diseño e iteración de la construcción ocurren de manera concurrente. Implementación: coloca el incremento más reciente del software (un prototipo “operacional”) en el ambiente de operación. Debe notarse que: 1) el incremento tal vez no sea el de 100% final, o 2) quizá se pidan cambios cuando el incremento se ponga en su lugar. En cualquier caso, el trabajo de desarrollo MDSD continúa y vuelve a la actividad de iteración del modelo funcional. El MDSD se combina con XP (véase la sección 3.4) para dar un enfoque de combinación que define un modelo sólido del proceso (ciclo de vida MDSD) con las prácticas detalladas (XP) que se requieren para elaborar incrementos de software. Además, los conceptos DAS se adaptan a un modelo combinado del proceso. Cristal

98


Alistar Cockburn [Coc05] creó la familia Cristal de métodos ágiles15 a fin de obtener un enfoque de desarrollo de software que premia la “maniobrabilidad” durante lo que Cockburn caracteriza como “un juego cooperativo con recursos limitados, de invención y comunicación, con el objetivo primario de entregar software útil que funcione y con la meta secundaria de plantear el siguiente juego” [Coc02]. Para lograr la maniobrabilidad, Cockburn y Highsmith definieron un conjunto de metodologías, cada una con elementos fundamentales comunes a todos, y roles, patrones de proceso, producto del trabajo y prácticas que son únicas para cada uno. La familia Cristal en realidad es un conjunto de ejemplos de procesos ágiles que han demostrado ser efectivos para diferentes tipos de proyectos. El objetivo es permitir que equipos ágiles seleccionen al miembro de la familia Cristal más apropiado para su proyecto y ambiente. Desarrollo impulsado por las características (DIC) El desarrollo impulsado por las características (DIC) lo concibió originalmente Peter Coad y sus colegas [Coa99] como modelo práctico de proceso para la ingeniería de software orientada a objetos. Stephen Palmer y John Felsing [Pal02] ampliaron y mejoraron el trabajo de Coad con la descripción de un proceso adaptativo y ágil aplicable a proyectos de software de tamaño moderado y grande. Igual que otros proyectos ágiles, DIC adopta una filosofía que: 1) pone el énfasis en la colaboración entre los integrantes de un equipo DIC; 2) administra la complejidad de los problemas y del proyecto con el uso de la descomposición basada en las características, seguida de la integración de incrementos de software, y 3) comunica los detalles técnicos en forma verbal, gráfica y con medios basados en texto. El DIC pone el énfasis en las actividades de aseguramiento de la calidad del software mediante el estímulo de la estrategia de desarrollo incremental, el uso de inspecciones del diseño y del código, la aplicación de auditorías de aseguramiento de la calidad del software (véase el capítulo 16), el conjunto de mediciones y el uso de patrones (para el análisis, diseño y construcción). En el contexto del DIC, una característica “es una función valiosa para el cliente que puede implementarse en dos semanas o menos” [Coa99]. El énfasis en la definición de características proporciona los beneficios siguientes: • Debido a que las características son bloques pequeños de funcionalidad que se entrega, los usuarios las describen con más facilidad, entienden cómo se relacionan entre sí y las revisan mejor en busca de ambigüedades, errores u omisiones. • Las características se organizan por jerarquía de grupos relacionados con el negocio. • Como una característica es el incremento de software DIC que se entrega, el equipo desarrolla características operativas cada dos semanas. • El diseño y representación en código de las características son más fáciles de inspeccionar con eficacia porque éstas son pequeñas.

99


• La planeación, programación de actividades y seguimiento son determinadas por la jerarquía de características, y no por un conjunto de tareas de ingeniería de software adoptadas en forma arbitraria. Coad y sus colegas [Coa99] sugieren el esquema siguiente para definir una característica: <acción> el <resultado> <a|por|de|para> un <objeto> Donde <objeto> es “una persona, lugar o cosa (incluso roles, momentos del tiempo o intervalos temporales, o descripciones parecidas a las entradas de un catálogo)”. Algunos ejemplos de características para una aplicación de comercio electrónico son los siguientes: Agregar el producto al carrito de compras Mostrar las especificaciones técnicas del producto Guardar la información de envío para el cliente Un conjunto de características agrupa las que son similares en categorías relacionadas con el negocio y se define así: <acción><ndo> un <objeto> Por ejemplo: Haciendo una venta del producto es un conjunto de características que agruparía las que ya se mencionaron y otras más. El enfoque DIC define cinco actividades estructurales “colaborativas” [Coa99] (en el enfoque DIC se llaman “procesos”), como se muestra en la figura 3.5. El DIC pone más énfasis que otros métodos ágiles en los lineamientos y técnicas para la administración de proyectos. A medida que éstos aumentan su tamaño y complejidad, no es raro que la administración de proyectos ad hoc sea inadecuada. Para los desarrolladores, sus gerentes y otros participantes, es esencial entender el estado del proyecto, es decir, los avances realizados y los problemas que han surgido. Si la presión por cumplir el plazo de entrega es mucha, tiene importancia crítica determinar si la entrega de los incrementos del software está programada en forma adecuada. Para lograr esto, el DIC define seis puntos de referencia durante el diseño e implementación de una característica: “recorrido por el diseño, diseño, inspección del diseño, código, inspección del código, decisión de construir” [Coa99]. Desarrollo esbelto de software (DES) El desarrollo esbelto de software (DES) adapta los principios de la manufactura esbelta al mundo de la ingeniería de software. Los principios de esbeltez que inspiran al proceso DES se resumen como sigue ([Pop03], [Pop06a]): eliminar el desperdicio, generar calidad, crear conocimiento, aplazar el compromiso, entregar rápido, respetar a las personas y optimizar al todo. Es posible adaptar cada uno de estos principios al proceso del software. Por ejemplo, eliminar el desperdicio en el contexto de un proyecto de software ágil significa [Das05]: 1) no agregar características o funciones extrañas, 2) evaluar el

100


costo y el efecto que tendrá en la programación de actividades cualquier nuevo requerimiento solicitado, 3) eliminar cualesquiera etapas superfluas del proceso, 4) establecer mecanismos para mejorar la forma en la que los miembros del equipo obtienen información, 5) asegurar que las pruebas detecten tantos errores como sea posible, 6) reducir el tiempo requerido para pedir y obtener una decisión que afecta al software o al proceso que se aplica para crearlo, y 7) simplificar la manera en la que se transmite la información a todos los participantes involucrados en el proceso. Para un análisis detallado del DES y para conocer lineamientos prácticos a fin de implementar el proceso, debe consultarse [Pop06a] y [Pop06b].

Modelado ágil (MA) Hay muchas situaciones en las que los ingenieros de software deben construir sistemas grandes de importancia crítica para el negocio. El alcance y complejidad de tales sistemas debe modelarse de modo que: 1) todos los actores entiendan mejor cuáles son las necesidades que deben satisfacerse, 2) el problema pueda dividirse con eficacia entre las personas que deben resolverlo, y 3) se asegure la calidad a medida que se hace la ingeniería y se construye el sistema. En los últimos 30 años se ha propuesto una gran variedad de métodos de modelado y notación para la ingeniería de software con objeto de hacer el análisis y el diseño (tanto en la arquitectura como en los componentes). Estos métodos tienen su mérito, pero se ha demostrado que son difíciles de aplicar y sostener (en muchos proyectos). Parte del problema es el “peso” de dichos métodos de modelación. Con esto se hace referencia al volumen de la notación que se requiere, al grado de formalismo sugerido, al tamaño absoluto de los modelos para proyectos grandes y a la dificultad de mantener el(los) modelo(s) conforme suceden los cambios. Sin embargo, el análisis y el modelado del diseño tienen muchos beneficios para los proyectos grandes, aunque no fuera más que porque hacen a esos proyectos intelectualmente más manejables. ¿Hay algún enfoque ágil para el modelado de la ingeniería de software que brinde una alternativa? En el “sitio oficial de modelado ágil”, Scott Ambler [Amb02a] describe el modelado ágil (MA) del modo siguiente: El modelado ágil (MA) es una metodología basada en la práctica para modelar y documentar con eficacia los sistemas basados en software. En pocas palabras, es un conjunto de valores, principios y prácticas para hacer modelos de software aplicables de manera eficaz y ligera a un proyecto de desarrollo de software. Los modelos ágiles son más eficaces que los tradicionales porque son sólo buenos, sin pretender ser perfectos. El modelado ágil adopta todos los valores del manifiesto ágil. La filosofía de modelado ágil afirma que un equipo ágil debe tener la valentía para tomar

101


decisiones que impliquen rechazar un diseño y reconstruirlo. El equipo también debe tener la humildad de reconocer que los tecnólogos no tienen todas las respuestas y que los expertos en el negocio y otros participantes deben ser respetados e incluidos. Aunque el MA sugiere una amplia variedad de principios de modelado “fundamentales” y “suplementarios”, aquellos que son exclusivos del MA son los siguientes [Amb02a]: Modelo con un propósito. Un desarrollador que use el MA debe tener en mente una meta específica (por ejemplo, comunicar información al cliente o ayudarlo a entender mejor algún aspecto del software) antes de crear el modelo. Una vez identificada la meta para el modelo, el tipo y nivel de detalle de la notación por usar serán más obvios. Uso de modelos múltiples. Hay muchos modelos y notaciones diferentes que pueden usarse para describir el software. Para la mayoría de proyectos sólo es esencial un pequeño subconjunto. El MA sugiere que para dar la perspectiva necesaria, cada modelo debe presentar un diferente aspecto del sistema y que sólo deben utilizarse aquellos modelos que den valor al público al que se dirigen. Viajar ligero. Conforme avanza el trabajo de ingeniería de software, conserve sólo aquellos modelos que agreguen valor a largo plazo y elimine los demás. Todo producto del trabajo que se conserve debe recibir mantenimiento cuando haya cambios. Esto representa una labor que hace lento al equipo. Ambler [Amb02a] afirma que “cada vez que se decide conservar un modelo, se pierde agilidad en nombre de la conveniencia de tener disponible esa información en forma abstracta para el equipo (y de ese modo mejorar potencialmente la comunicación dentro del equipo, así como con los participantes)”. El contenido es más importante que la representación. El modelado debe transmitir información al público al que se dirige. Un modelo con sintaxis perfecta que transmita poco contenido útil no es tan valioso como otro que tenga notación defectuosa, pero que, no obstante, provea contenido de valor para los usuarios. Conocer los modelos y herramientas que se utilizan en su creación. Entender las fortalezas y debilidades de cada modelo y las herramientas que se emplean para crearlos. Adaptación local. El enfoque de modelado debe adaptarse a las necesidades del equipo ágil. Un segmento importante de la comunidad de ingeniería de software ha adoptado el lenguaje de unificado de modelado (UML, por sus siglas en inglés)16 como el método preferido para representar modelos del análisis y del diseño. El proceso unificado (véase el capítulo 2) fue desarrollado para proveer una estructura para la aplicación del UML. Scott Ambler [Amb06] desarrolló una versión simplificada del PU que integra su filosofía de modelado ágil. El proceso unificado ágil (PUA) El proceso unificado ágil (PUA) adopta una filosofía “en serie para lo grande” e “iterativa para lo pequeño” [Amb06] a fin de construir sistemas basados en computadora. Al adoptar las actividades en fase clásicas del PU —concepción,

102


elaboración, construcción y transición—, el PUA brinda un revestimiento en serie (por ejemplo, una secuencia lineal de actividades de ingeniería de software) que permite que el equipo visualice el flujo general del proceso de un proyecto de software. Sin embargo, dentro de cada actividad, el equipo repite con objeto de alcanzar la agilidad y entregar tan rápido como sea posible incrementos de software significativos a los usuarios finales. Cada iteración del PUA aborda las actividades siguientes [Amb06]: • Modelado. Se crean representaciones de UML de los dominios del negocio y el problema. No obstante, para conservar la agilidad, estos modelos deben ser “sólo suficientemente buenos” [Amb06] para permitir que el equipo avance. • Implementación. Los modelos se traducen a código fuente. • Pruebas. Igual que con la XP, el equipo diseña y ejecuta una serie de pruebas para detectar errores y garantizar que el código fuente cumple sus requerimientos. • Despliegue. Como en la actividad general del proceso que se estudió en los capítulos 1 y 2, el despliegue en este contexto se centra en la entrega de un incremento de software y en la obtención de retroalimentación de los usuarios finales. • Configuración y administración del proyecto. En el contexto del PUA, la administración de la configuración (véase el capítulo 22) incluye la administración del cambio y el riesgo, y el control de cualesquiera productos del trabajo persistentes17 que produzca el equipo. La administración del proyecto da seguimiento y controla el avance del equipo y coordina sus actividades. • Administración del ambiente. La administración del ambiente coordina una infraestructura del proceso que incluye estándares, herramientas y otra tecnología de apoyo de la que dispone el equipo. Aunque el PUA tiene conexiones históricas y técnicas con el lenguaje unificado de modelado, es importante observar que el modelado UML puede usarse junto con cualesquiera de los modelos de proceso ágil descritos en la sección 3.5.

Conjunto de herramientas para el proceso ágil Prácticamente todos los modelos de proceso ágil son elementos clave en la contratación del personal adecuado (reclutamiento), la colaboración en equipo, la comunicación con los participantes y la administración indirecta; por eso, Cockburn afirma que las “herramientas” que se abocan a dichos aspectos son factores críticos para el éxito de la agilidad. Por ejemplo, una “herramienta” de reclutamiento tal vez sea el requerimiento de que un prospecto a miembro del equipo pase algunas horas programando en pareja con alguien que ya es integrante del equipo. El “ajuste” se evalúa de inmediato.

103


Las “herramientas” de colaboración y comunicación por lo general son de baja tecnología e incorporan cualquier mecanismo (“proximidad física, pizarrones, tableros, tarjetas y notas adheribles” [Coc04] que provea información y coordinación entre los desarrolladores ágiles. La comunicación activa se logra por medio de la dinámica del equipo (por ejemplo, la programación en parejas), mientras que la comunicación pasiva se consigue con “radiadores de información” (un tablero que muestre el estado general de de los distintos componentes de un incremento). Las herramientas de administración de proyectos no ponen el énfasis en la gráfica de Gantt y la sustituyen con otras de valor agregado o “gráficas de pruebas creadas versus pasadas; otras herramientas ágiles se utilizan para optimizar el ambiente en el que trabaja el equipo ágil (por ejemplo, áreas más eficientes para reunirse), mejoran la cultura del equipo por medio de cultivar las interacciones sociales (equipos con algo en común), dispositivos físicos (pizarrones electrónicos) y el mejoramiento del proceso (por ejemplo, la programación por parejas o la caja de tiempo)” [Coc04].

Pruebas La prueba es un conjunto de actividades que pueden planearse por adelantado y realizarse de manera sistemática. Por esta razón, durante el proceso de software, debe definirse una plantilla para la prueba del software: un conjunto de pasos que incluyen métodos de prueba y técnicas de diseño de casos de prueba específicos. Verificación y validación La prueba de software es un elemento de un tema más amplio que usualmente se conoce como verificación y validación (V&V). La verificación se refiere al conjunto de tareas que garantizan que el software implementa correctamente una función específica. La validación es un conjunto cliente. Boehm [Boe81] afirma esto de esta forma: Verificación: “¿Construimos el producto correctamente?” Validación: “¿Construimos el producto correcto?” La definición de V&V abarca muchas actividades de aseguramiento de calidad del software. La verificación y la validación incluyen un amplio arreglo de actividades SQA: revisiones técnicas, auditorías de calidad y configuración, monitoreo de rendimiento, simulación, estudio de factibilidad, revisión de documentación, revisión de base de datos, análisis de algoritmos, pruebas de desarrollo, pruebas de usabilidad, pruebas de calificación, pruebas de aceptación y pruebas de instalación. Aunque las pruebas juegan un papel extremadamente importante en V&V, también son necesarias muchas otras actividades. Las pruebas representan el último bastión desde donde puede valorarse la calidad y, de manera más pragmática, descubrirse errores. Pero las pruebas no deben verse como una red de seguridad. Como se dice: “no se puede probar la calidad.

104


Si no está ahí antes de comenzar las pruebas, no estará cuando termine de probar”. La calidad se incorpora en el software a lo largo de todo el proceso de ingeniería del software. La adecuada aplicación de métodos y herramientas, revisiones técnicas efectivas, y gestión y medición sólidas conducen a la calidad que se confirma durante las pruebas. Miller [Mil77] relaciona la prueba del software con el aseguramiento de la calidad al afirmar que “la motivación subyacente de las pruebas de los programas es afirmar la claridad del software con métodos que puedan aplicarse de manera económica y efectiva a sistemas a gran y pequeña escala”. Organización de las pruebas del software En todo proyecto de software hay un conflicto inherente de intereses que ocurre conforme comienzan las pruebas. Hoy en día, a las personas que construyen el software se les pide probarlo. En sí, esto parece sencillo; después de todo, ¿quién conoce mejor el programa que sus desarrolladores? Por desgracia, estos mismos desarrolladores tienen mucho interés en demostrar que el programa está libre de errores, que funciona de acuerdo con los requerimientos del cliente y que se completará a tiempo y dentro del presupuesto. Cada uno de estos intereses tienen un efecto negativo sobre las pruebas más cuidadosas. Estrategia de prueba del software. Visión general Una estrategia para probar el software también puede verse en el contexto de la espiral. La prueba de unidad comienza en el vértice de la espiral y se concentra en cada unidad (por ejemplo, componente, clase o un objeto de contenido de una webapp) del software como se implementó en el código fuente. La prueba avanza al moverse hacia afuera a lo largo de la espiral, hacia la prueba de integración, donde el enfoque se centra en el diseño y la construcción de la arquitectura del software. Al dar otra vuelta hacia afuera de la espiral, se encuentra la prueba de validación, donde los requerimientos establecidos como parte de su modelado se validan confrontándose con el software que se construyó. Finalmente, se llega a la prueba del sistema, donde el software y otros elementos del sistema se prueban como un todo. Para probar el software de cómputo, se avanza en espiral hacia afuera en dirección de las manecillas del reloj a lo largo de líneas que ensanchan el alcance de las pruebas con cada vuelta. Criterios para completar las pruebas Cada vez que se analiza la prueba del software, surge una pregunta clásica: “¿cuándo terminan las pruebas?, ¿cómo se sabe que se ha probado lo suficiente?”. Lamentablemente, no hay una respuesta definitiva a esta pregunta, pero existen algunas respuestas pragmáticas e intentos tempranos a manera de guía empírica.

105


Una respuesta a la pregunta es: “nunca se termina de probar; la carga simplemente pasa de usted (el ingeniero de software) al usuario final”. Cada vez que el usuario ejecuta un programa de cómputo, el programa se pone a prueba. Este instructivo hecho subraya la importancia de otras actividades a fin de garantizar la calidad del software. Otra respuesta (un tanto cínica, mas no obstante precisa) es: “las pruebas terminan cuando se agota el tiempo o el dinero”. Aunque algunos profesionales usarían estas respuestas, se necesitan criterios más rigurosos para determinar cuándo se han realizado suficientes pruebas. El enfoque de ingeniería de software de salas limpias (capítulo 21) sugiere el uso de técnicas estadísticas [Kel00] que ejecutan una serie de pruebas derivadas de una muestra estadística de todas las posibles ejecuciones de programa por parte de todos los usuarios de una población objetivo. Otros (por ejemplo, [Sin99]) abogan por el uso del modelado estadístico y la teoría de confiabilidad del software para predecir cuándo están completas las pruebas. Aspectos estratégicos Pero incluso la mejor estrategia fracasará si no se aborda una serie de aspectos decisivos. Tom Gilb arguye que una estrategia de software triunfará cuando quienes prueban el software: Especifican los requerimientos del producto en forma cuantificable mucho antes de comenzar con las pruebas. Aunque el objetivo predominante de una prueba es encontrar errores, una buena estrategia de prueba también valora otras características de la calidad, como la portabilidad, el mantenimiento y la facilidad de uso (capítulo 14). Esto debe especificarse en una forma medible, de modo que los resultados de las pruebas no sean ambiguos. Establecen de manera explícita los objetivos de las pruebas. Los objetivos específicos de las pruebas deben enunciarse en términos medibles. Por ejemplo, la efectividad de las pruebas, su cobertura, el tiempo medio antes de aparecer una falla, el costo por descubrir y corregir defectos, la densidad de defectos restantes o la frecuencia de ocurrencia, y las horas de trabajo de prueba deben enunciarse dentro del plan de la prueba. Entienden a los usuarios del software y desarrollan un perfil para cada categoría de usuario. Los casos de uso que describen el escenario de interacción para cada clase de usuario pueden reducir el esfuerzo de prueba global al enfocar las pruebas en el uso real del producto. Desarrollan un plan de prueba que enfatice “pruebas de ciclo rápido”. Gilb [Gil95] recomienda que un equipo de software “aprenda a probar en ciclos rápidos (2 por ciento del esfuerzo del proyecto) de cliente-utilidad al menos la ‘comprobabilidad’ en campo, los incrementos de funcionalidad

106


y/o la mejora de la calidad”. La retroalimentación generada a partir de estas pruebas de ciclo rápido puede usarse para controlar niveles de calidad y las correspondientes estrategias de prueba. Construyen software “robusto” que esté diseñado para probarse a sí mismo. El software debe diseñarse en forma que use técnicas antierrores (sección 17.3.1), es decir, el software debe poder diagnosticar ciertas clases de errores. Además, el diseño debe incluir pruebas automatizadas y pruebas de regresión. Usan revisiones técnicas efectivas como filtro previo a las pruebas. Las revisiones técnicas pueden ser tan efectivas como probar para descubrir errores. Por esta razón, las revisiones pueden reducir la cantidad del esfuerzo de pruebas que se requieren para producir software de alta calidad. Realizan revisiones técnicas para valorar la estrategia de prueba y los casos de prueba. Las revisiones de prueba pueden descubrir inconsistencias, omisiones y errores evidentes en el abordaje de las pruebas. Esto ahorra tiempo y también mejora la calidad del producto. Desarrollan un enfoque de mejora continuo para el proceso de prueba. La estrategia de pruebas debe medirse. Las métricas recopiladas durante las pruebas deben usarse como parte de un enfoque de control de proceso estadístico para la prueba del software. ESTRATEGIAS DE PRUEBA PARA SOFTWARE CONVENCIONAL Existen muchas estrategias que pueden usarse para probar el software. En un extremo, puede esperarse hasta que el sistema esté completamente construido y luego realizar las pruebas sobre el sistema total, con la esperanza de encontrar errores. Este enfoque, aunque atractivo, simplemente no funciona. Dará como resultado software defectuoso que desilusionará a todos los participantes. En el otro extremo, podrían realizarse pruebas diariamente, siempre que se construya alguna parte del sistema. Este enfoque, aunque menos atractivo para muchos, puede ser muy efectivo. Por desgracia, algunos desarrolladores de software son reacios a usarlo. ¿Qué hacer? Una estrategia de prueba que eligen la mayoría de los equipos de software se coloca entre los dos extremos. Toma una visión incremental de las pruebas, comenzando con la de unidades de programa individuales, avanza hacia pruebas diseñadas para facilitar la integración de las unidades y culmina con pruebas que ejercitan el sistema construido. Cada una de estas clases de pruebas se describe en las secciones que siguen. Prueba de unidad La prueba de unidad enfoca los esfuerzos de verificación en la unidad más pequeña del diseño de software: el componente o módulo de software. Al usar la descripción del diseño de componente como guía, las rutas de control importantes se prueban para descubrir errores dentro de

107


la frontera del módulo. La relativa complejidad de las pruebas y los errores que descubren están limitados por el ámbito restringido que se establece para la prueba de unidad. Las pruebas de unidad se enfocan en la lógica de procesamiento interno y de las estructuras de datos dentro de las fronteras de un componente. Este tipo de pruebas puede realizarse en paralelo para múltiples componentes. Consideraciones de las pruebas de unidad. Las pruebas de unidad se ilustran de manera esquemática en la figura 17.3. La interfaz del módulo se prueba para garantizar que la información fluya de manera adecuada hacia y desde la unidad de software que se está probando. Las estructuras de datos locales se examinan para asegurar que los datos almacenados temporalmente mantienen su integridad durante todos los pasos en la ejecución de un algoritmo. Todas las rutas independientes a través de la estructura de control se ejercitan para asegurar que todos los estatutos en un módulo se ejecuten al menos una vez. Las condiciones de frontera se prueban para asegurar que el módulo opera adecuadamente en las fronteras establecidas para limitar o restringir el procesamiento. Y, finalmente, se ponen a prueba todas las rutas para el manejo de errores. Procedimientos de prueba de unidad. Las pruebas de unidad por lo general se consideran como adjuntas al paso de codificación. El diseño de las pruebas de unidad puede ocurrir antes de comenzar la codificación o después de generar el código fuente. La revisión de la información del diseño proporciona una guía para establecer casos de prueba que es probable que descubran errores en cada una de las categorías analizadas anteriormente. Cada caso de prueba debe acoplarse con un conjunto de resultados esperados. Pruebas de integración Un neófito en el mundo del software podrá plantear una pregunta aparentemente legítima una vez que todos los módulos se hayan probado de manera individual: “si todos ellos funcionan individualmente, ¿por qué dudan que funcionarán cuando se junten todos?”. Desde luego, el problema es “juntarlos todos”: conectarlos. Los datos pueden perderse a través de una interfaz; un componente puede tener un inadvertido efecto adverso sobre otro; las subfunciones, cuando se combinan, pueden no producir la función principal deseada; la imprecisión aceptable individualmente puede magnificarse a niveles inaceptables; las estructuras de datos globales pueden presentar problemas. Lamentablemente, la lista sigue y sigue. Las pruebas de integración son una técnica sistemática para construir la arquitectura del software mientras se llevan a cabo pruebas para descubrir errores asociados con la interfaz. El objetivo es tomar los componentes probados de manera individual y construir una estructura de programa que se haya dictado por diseño. Integración descendente. La prueba de integración descendente es un enfoque incremental a la construcción de la arquitectura de software. Los módulos se

108


integran al moverse hacia abajo a través de la jerarquía de control, comenzando con el módulo de control principal (programa principal). Los módulos subordinados al módulo de control principal se incorporan en la estructura en una forma de primero en profundidad o primero en anchura. Integración ascendente. La prueba de integración ascendente, como su nombre implica, comienza la construcción y la prueba con módulos atómicos (es decir, componentes en los niveles inferiores dentro de la estructura del programa). Puesto que los componentes se integran de abajo hacia arriba, la funcionalidad que proporcionan los componentes subordinados en determinado nivel siempre está disponible y se elimina la necesidad de representantes (stubs). Una estrategia de integración ascendente puede implementarse con los siguientes pasos: 1. Los componentes en el nivel inferior se combinan en grupos (en ocasiones llamados construcciones o builds) que realizan una subfunción de software específica. 2. Se escribe un controlador (un programa de control para pruebas) a fin de coordinar la entrada y salida de casos de prueba. 3. Se prueba el grupo. 4. Los controladores se remueven y los grupos se combinan moviéndolos hacia arriba en la estructura del programa. Prueba de regresión. Cada vez que se agrega un nuevo módulo como parte de las pruebas de integración, el software cambia. Se establecen nuevas rutas de flujo de datos, ocurren nuevas operaciones de entrada/salida y se invoca nueva lógica de control. Dichos cambios pueden causar problemas con las funciones que anteriormente trabajaban sin fallas. En el contexto de una estrategia de prueba de integración, la prueba de regresión es la nueva ejecución de algún subconjunto de pruebas que ya se realizaron a fin de asegurar que los cambios no propagaron efectos colaterales no deseados. Prueba de humo. La prueba de humo es un enfoque de prueba de integración que se usa cuando se desarrolla software de producto. Se diseña como un mecanismo de ritmo para proyectos críticos en el tiempo, lo que permite al equipo del software valorar el proyecto de manera frecuente. En esencia, el enfoque de prueba de humo abarca las siguientes actividades: 1. Los componentes de software traducidos en código se integran en una construcción. Una construcción incluye todos los archivos de datos, bibliotecas, módulos reutilizables y componentes sometidos a ingeniería que se requieren para implementar una o más funciones del producto. 2. Se diseña una serie de pruebas para exponer los errores que evitarán a la construcción realizar adecuadamente su función. La intención debe ser descubrir errores “paralizantes” que tengan la mayor probabilidad de retrasar el proyecto.

109


3. La construcción se integra con otras construcciones, y todo el producto (en su forma actual) se somete a prueba de humo diariamente. El enfoque de integración puede ser descendente o ascendente. ESTRATEGIAS DE PRUEBA PARA SOFTWARE ORIENTADO A OBJETO3 Enunciado de manera simple, el objetivo de probar es encontrar el mayor número posible de errores con una cantidad manejable de esfuerzo aplicado durante un lapso realista. Aunque este objetivo fundamental se mantiene invariable para el software orientado a objeto, la naturaleza de este software cambia tanto la estrategia como las tácticas de la prueba. Prueba de unidad en el contexto OO Cuando se considera software orientado a objeto, el concepto de unidad cambia. La encapsulación determina la definición de clases y objetos. Esto significa que cada clase y cada instancia de una clase empaqueta los atributos (datos) y las operaciones que manipulan estos datos. Por lo general, una clase encapsulada es el foco de la prueba de unidad. No obstante, las operaciones (métodos) dentro de la clase son las unidades comprobables más pequeñas. Puesto que una clase puede contener algunas operaciones diferentes, y una operación particular puede existir como parte de algunas clases diferentes, las tácticas aplicadas a la prueba de unidad deben cambiar. Prueba de integración en el contexto OO Puesto que el software orientado a objeto no tiene una estructura de control jerárquico obvia, las estrategias tradicionales descendente y ascendente (sección 17.3.2) tienen poco significado. Además, con frecuencia es imposible integrar las operaciones una a la vez en una clase (el enfoque de integración incremental convencional) debido a las “interacciones directa e indirecta de los componentes que constituyen la clase”. Existen dos estrategias diferentes para la prueba de integración de los sistemas. La primera, la prueba basada en hebra, integra el conjunto de clases requeridas para responder a una entrada o evento para el sistema. Cada hebra se integra y prueba de manera individual. La prueba de regresión se aplica para asegurar que no ocurran efectos colaterales. El segundo enfoque de integración, la prueba basada en uso, comienza la construcción del sistema al probar dichas clases (llamadas clases independientes) que usan muy pocas clases servidor (si es que usan alguna). Después de probar las clases independientes, se prueba la siguiente capa de clases, llamadas dependientes, que usan las clases independientes. Esta secuencia de probar capas de clases dependientes continúa hasta que se construye todo el sistema.

ESTRATEGIAS DE PRUEBA PARA WEBAPPS La estrategia para probar webapps adopta los principios básicos para todas las pruebas de software y aplica una estrategia y tácticas que se usan para sistemas orientados a objetos. Los siguientes pasos resumen el enfoque:

110


1. El modelo de contenido para la webapp se revisa para descubrir errores. 2. El modelo de interfaz se revisa para garantizar que todos los casos de uso pueden adecuarse. 3. El modelo de diseño para la webapp se revisa para descubrir errores de navegación. 4. La interfaz de usuario se prueba para descubrir errores en los mecanismos de presentación y/o navegación. 5. A cada componente funcional se le aplica una prueba de unidad. 6. Se prueba la navegación a lo largo de toda la arquitectura. 7. La webapp se implementa en varias configuraciones ambientales diferentes y se prueba en su compatibilidad con cada configuración. 8. Las pruebas de seguridad se realizan con la intención de explotar vulnerabilidades en la webapp o dentro de su ambiente. 9. Se realizan pruebas de rendimiento. 10. La webapp se prueba mediante una población de usuarios finales controlada y monitoreada. Los resultados de su interacción con el sistema se evalúan por errores de contenido y navegación, preocupaciones de facilidad de uso, preocupaciones de compatibilidad, así como confiabilidad y rendimiento de la webapp. PRUEBAS DE VALIDACIÓN Las pruebas de validación comienzan en la culminación de las pruebas de integración, cuando se ejercitaron componentes individuales, el software está completamente ensamblado como un paquete y los errores de interfaz se descubrieron y corrigieron. En el nivel de validación o de sistema, desaparece la distinción entre software convencional, software orientado a objetos y webapps. Las pruebas se enfocan en las acciones visibles para el usuario y las salidas del sistema reconocibles por el usuario. La validación puede definirse en muchas formas, pero una definición simple (aunque dura) es que la validación es exitosa cuando el software funciona en una forma que cumpla con las expectativas razonables del cliente. En este punto, un desarrollador de software curtido en la batalla puede protestar: “¿quién o qué es el árbitro de las expectativas razonables?”. Si se desarrolló una Especificación de requerimientos de software, en ella se describen todos los atributos del software visibles para el usuario; contiene una sección de Criterios de validación que forman la base para un enfoque de pruebas de validación. Criterios de pruebas de validación La validación del software se logra a través de una serie de pruebas que demuestran conformidad con los requerimientos. Un plan de prueba subraya las clases de pruebas que se van a realizar y un procedimiento de prueba define casos de prueba específicos que se diseñan para garantizar que: se satisfacen todos los requerimientos de funcionamiento, se logran todas las características de comportamiento, todo el contenido es preciso y se presenta de manera adecuada, se logran todos los requerimientos de rendimiento, la documentación es correcta y se satisfacen la facilidad de uso y otros requerimientos (por ejemplo, transportabilidad, compatibilidad, recuperación de error, mantenimiento).

111


Revisión de la configuración Un elemento importante del proceso de validación es una revisión de la configuración. La intención de la revisión es garantizar que todos los elementos de la configuración del software se desarrollaron de manera adecuada, y que se cataloga y se tiene el detalle necesario para reforzar las actividades de apoyo. La revisión de la configuración, en ocasiones llamada auditoría, se estudia con más detalle en el capítulo 22. Pruebas alfa y beta Virtualmente, es imposible que un desarrollador de software prevea cómo usará el cliente realmente un programa. Las instrucciones para usarlo pueden malinterpretarse; regularmente pueden usarse combinaciones extrañas de datos; la salida que parecía clara a quien realizó la prueba puede ser ininteligible para un usuario. Cuando se construye software a la medida para un cliente, se realiza una serie de pruebas de aceptación a fin de permitir al cliente validar todos los requerimientos. Realizada por el usuario final en lugar de por los ingenieros de software, una prueba de aceptación puede variar desde una “prueba de conducción” informal hasta una serie de pruebas planificadas y ejecutadas sistemáticamente. De hecho, la prueba de aceptación puede realizarse durante un periodo de semanas o meses, y mediante ella descubrir errores acumulados que con el tiempo puedan degradar el sistema. Si el software se desarrolla como un producto que va a ser usado por muchos clientes, no es práctico realizar pruebas de aceptación formales con cada uno de ellos. La mayoría de los constructores de productos de software usan un proceso llamado prueba alfa y prueba beta para descubrir errores que al parecer sólo el usuario final es capaz de encontrar. La prueba alfa se lleva a cabo en el sitio del desarrollador por un grupo representativo de usuarios finales. El software se usa en un escenario natural con el desarrollador “mirando sobre el hombro” de los usuarios y registrando los errores y problemas de uso. Las pruebas alfa se realizan en un ambiente controlado. La prueba beta se realiza en uno o más sitios del usuario final. A diferencia de la prueba alfa, por lo general el desarrollador no está presente. Por tanto, la prueba beta es una aplicación “en vivo” del software en un ambiente que no puede controlar el desarrollador. El cliente registra todos los problemas (reales o imaginarios) que se encuentran durante la prueba beta y los reporta al desarrollador periódicamente. Como resultado de los problemas reportados durante las pruebas beta, es posible hacer modificaciones y luego preparar la liberación del producto de software a toda la base de clientes. Pruebas del sistema

112


En realidad, la prueba del sistema es una serie de diferentes pruebas cuyo propósito principal es ejercitar por completo el sistema basado en computadora. Aunque cada prueba tenga un propósito diferente, todo él funciona para verificar que los elementos del sistema se hayan integrado de manera adecuada y que se realicen las funciones asignadas. En las secciones que siguen se estudian los tipos de pruebas del sistema que valen la pena para los sistemas basados en software. Pruebas de recuperación Muchos sistemas basados en computadora deben recuperarse de fallas y reanudar el procesamiento con poco o ningún tiempo de inactividad. En algunos casos, un sistema debe ser tolerante a las fallas, es decir, las fallas del procesamiento no deben causar el cese del funcionamiento del sistema global. En otros casos, la falla de un sistema debe corregirse dentro de un periodo de tiempo específico u ocurrirán severos daños económicos. La recuperación es una prueba del sistema que fuerza al software a fallar en varias formas y que verifica que la recuperación se realice de manera adecuada. Si la recuperación es automática (realizada por el sistema en sí), se evalúa el reinicio, los mecanismos de puntos de verificación, la recuperación de datos y la reanudación para correcciones. Si la recuperación requiere intervención humana, se evalúa el tiempo medio de reparación (TMR) para determinar si está dentro de límites aceptables. Pruebas de seguridad Cualquier sistema basado en computadora que gestione información sensible o cause acciones que puedan dañar (o beneficiar) de manera inadecuada a individuos es un blanco de penetración inadecuada o ilegal. La penetración abarca un amplio rango de actividades: hackers que intentan penetrar en los sistemas por deporte, empleados resentidos que intentan penetrar por venganza, individuos deshonestos que intentan penetrar para obtener ganancia personal ilícita. La prueba de seguridad intenta verificar que los mecanismos de protección que se construyen en un sistema en realidad lo protegerán de cualquier penetración impropia. Para citar a Beizar [Bei84]: “La seguridad del sistema debe, desde luego, probarse para ser invulnerable ante ataques frontales; pero también debe probarse su invulnerabilidad contra ataques laterales y traseros.” Durante la prueba de seguridad, quien realiza la prueba juega el papel del individuo que desea penetrar al sistema. ¡Cualquier cosa vale! Quien realice la prueba puede intentar adquirir contraseñas por medios administrativos externos; puede atacar el sistema con software a la medida diseñado para romper cualquier defensa que se haya construido; puede abrumar al sistema, y por tanto negar el servicio a los demás; puede causar a propósito errores del sistema con la esperanza de penetrar durante la recuperación; puede navegar a través de datos inseguros para encontrar la llave de la entrada al sistema. Con los suficientes tiempo y recursos, las buenas pruebas de seguridad a final de cuentas penetran en el sistema. El papel del diseñador de sistemas es hacer que

113


el costo de la penetración sea mayor que el valor de la información que se obtendrá. Pruebas de esfuerzo Los primeros pasos de la prueba del software dieron como resultado una evaluación extensa de las funciones y el rendimiento normales del programa. Las pruebas de esfuerzo se diseñan para enfrentar los programas con situaciones anormales. En esencia, la persona que realiza las pruebas de esfuerzo pregunta: “¿cuánto podemos doblar esto antes de que se rompa?”. La prueba de esfuerzo ejecuta un sistema en forma que demanda recursos en cantidad, frecuencia o volumen anormales. Por ejemplo, pueden 1) diseñarse pruebas especiales que generen diez interrupciones por segundo, cuando una o dos es la tasa promedio, (2) aumentarse las tasas de entrada de datos en un orden de magnitud para determinar cómo responderán las funciones de entrada, 3) ejecutarse casos de prueba que requieran memoria máxima y otros recursos, 4) diseñarse casos de prueba que puedan causar thrashing (que es un quebranto del sistema por hiperpaginación) en un sistema operativo virtual, 5) crearse casos de prueba que puedan causar búsqueda excesiva por datos residentes en disco. En esencia, la persona que realiza la prueba intenta romper el programa. Pruebas de rendimiento Para sistemas en tiempo real y sistemas embebidos , el software que proporcione la función requerida, pero que no se adecue a los requerimientos de rendimiento, es inaceptable. La prueba de rendimiento se diseña para poner a prueba el rendimiento del software en tiempo de corrida, dentro del contexto de un sistema integrado. La prueba del rendimiento ocurre a lo largo de todos los pasos del proceso de prueba. Incluso en el nivel de unidad, puede accederse al rendimiento de un módulo individual conforme se realizan las pruebas. Sin embargo, no es sino hasta que todos los elementos del sistema están plenamente integrados cuando puede determinarse el verdadero rendimiento de un sistema. Las pruebas de rendimiento con frecuencia se aparean con las pruebas de esfuerzo y por lo general requieren instrumentación de hardware y de software, es decir, con frecuencia es necesario medir la utilización de los recursos (por ejemplo, ciclos del procesador) en forma meticulosa. La instrumentación externa puede monitorear intervalos de ejecución y eventos de registro (por ejemplo, interrupciones) conforme ocurren, y los muestreos del estado de la máquina de manera regular. Con la instrumentación de un sistema, la persona que realiza la prueba puede descubrir situaciones que conduzcan a degradación y posibles fallas del sistema. Pruebas de despliegue En muchos casos, el software debe ejecutarse en varias plataformas y bajo más de un entorno de sistema operativo. La prueba de despliegue, en ocasiones llamada prueba de configuración, ejercita el software en cada entorno en el que

114


debe operar. Además, examina todos los procedimientos de instalación y el software de instalación especializado (por ejemplo, “instaladores”) que usarán los clientes, así como toda la documentación que se usará para introducir el software a los usuarios finales. EL ARTE DE LA DEPURACIÓN La prueba del software es un proceso que puede planearse y especificarse de manera sistemática. Puede realizarse el diseño de casos de prueba, definir una estrategia y evaluar los resultados comparándolos con las expectativas prescritas. La depuración ocurre como consecuencia de las pruebas exitosas. Es decir, cuando un caso de prueba descubre un error, la depuración es el proceso que da como resultado la remoción del error. Aunque la depuración puede y debe ser un proceso ordenado, todavía en mucho es un arte. Los ingenieros de software con frecuencia se enfrentan con indicios “sintomáticos” de un problema de software mientras evalúan los resultados de una prueba, es decir, la manifestación externa del error y su causa interna pueden no tener relación obvia una con otra. El proceso mental, pobremente comprendido, que conecta un síntoma con una causa se conoce como depuración. El proceso de depuración La depuración no es una prueba, pero con frecuencia ocurre como consecuencia de una prueba.5 El proceso de depuración comienza con la ejecución de un caso de prueba. Los resultados se valoran y se encuentra la falta de correspondencia entre el rendimiento esperado y el real. En muchos casos, la no correspondencia de los datos es un síntoma de una causa subyacente y escondida. El proceso de depuración intenta relacionar síntoma con causa, lo que por tanto conduce a la corrección del error. Por lo general, El proceso de depuración dará como resultado que: 1) la causa se encontrará y corregirá o 2) la causa no se encontrará. En el último caso, la persona que realiza la depuración puede sospechar una causa, diseñar un caso de prueba para auxiliarse en la validación de dicha suposición y trabajar hacia la corrección del error en forma iterativa. ¿Por qué es tan difícil la depuración? Con toda probabilidad, la psicología humana (vea la sección 17.8.2) tiene más que ver con la respuesta que la tecnología del software. Sin embargo, ciertas características de los errores brindan algunas pistas: 1. El síntoma y la causa pueden ser geográficamente remotos. Es decir, el síntoma puede aparecer en una parte de un programa, mientras que la causa en realidad puede ubicarse en un sitio que esté alejado. Los componentes altamente acoplados exacerban esta situación. 2. El síntoma puede desaparecer (temporalmente) cuando se corrige otro error. 3. El síntoma en realidad puede no ser causado por errores (por ejemplo, imprecisiones de redondeo). 4. El síntoma puede ser causado por un error humano que no se rastrea con facilidad.

115


5. El síntoma puede ser resultado de problemas de temporización más que de problemas de procesamiento. 6. Puede ser difícil reproducir con precisión las condiciones de entrada (por ejemplo, una aplicación en tiempo real en la que el orden de la entrada esté indeterminado). 7. El síntoma puede ser intermitente, particularmente común en sistemas embebidos que acoplan hardware y software de manera inextricable. 8. El síntoma puede deberse a causas que se distribuyen a través de algunas tareas que corren en diferentes procesadores. Consideraciones psicológicas Por desgracia, parece haber cierta evidencia de que la hazaña de la depuración es un rasgo humano innato. Algunas personas son buenas en ello y otras no lo son. Aunque la evidencia experimental de la depuración está abierta a muchas interpretaciones, se reportan grandes variaciones en la habilidad depuradora para programadores con la misma educación y experiencia. Estrategias de depuración Sin importar el enfoque que se tome, la depuración tiene un objetivo dominante: encontrar y corregir la causa de un error o defecto de software. El objetivo se realiza mediante una combinación de evaluación sistemática, intuición y suerte. En general, se han propuesto tres estrategias de depuración [Mye79]: 1) fuerza bruta, 2) vuelta atrás (del inglés backtracking) y 3) eliminación de causas. Cada una de estas estrategias puede llevarse a cabo de manera manual, pero modernas herramientas de depuración pueden hacer el proceso mucho más efectivo. Tácticas de depuración. La categoría fuerza bruta de la depuración probablemente es el método más común y menos eficiente para aislar la causa de un error de software. Los métodos de depuración de fuerza bruta se aplican cuando todo lo demás falla. Al usar una filosofía de “deje que la computadora encuentre el error”, se toman copias de la memoria (dumps), se invocan rastreos en el tiempo de corrida y el programa se carga con enunciados de salida. La esperanza es que, en alguna parte del pantano de información que se produzca, se encontrará una pista que pueda conducir a la causa de un error. Aunque la masa de información producida a final de cuentas puede conducir al éxito, con más frecuencia conduce a desperdicio de esfuerzo y tiempo. ¡Piense que primero debe gastarse! Depuración automatizada. Cada uno de estos enfoques de depuración puede complementarse con herramientas de depuración que puedan proporcionar apoyo semiautomático conforme se intenten estrategias de depuración. Hailpern y Santhanam [Hai02] resumen el estado de estas herramientas cuando apuntan: “... se han propuesto muchos nuevos enfoques y están disponibles muchos entornos de depuración comerciales. Los entornos de desarrollo integrados (IDE) brindan una forma de capturar algunos de los errores predeterminados específicos del

116


lenguaje (por ejemplo, falta de caracteres de fin de sentencia , variables indefinidas, etc.) sin requerir compilación”. Se dispone de una gran variedad de compiladores de depuración, ayudas dinámicas de depuración (“trazadores”), generadores automáticos de casos de prueba y herramientas de mapeo de referencia cruzada. El factor humano. Cualquier discusión de los enfoques y herramientas de depuración está incompleta sin mencionar un poderoso aliado: ¡otras personas! Un punto de vista fresco, no empañado por horas de frustración, puede hacer maravillas.7 Una máxima final para la depuración puede ser: “Cuando todo lo demás falle, ¡consiga ayuda!” Corrección del error Una vez encontrado el error, debe corregirse. Pero, como ya se señaló, la corrección de un error puede introducir otros errores y, por tanto, hacer más daño que bien. Van Vleck [Van89] sugiere tres preguntas simples que deben plantearse antes de hacer la “corrección” que remueva la causa de un error: 1. ¿La causa del error se reproduce en otra parte del programa? En muchas situaciones, un defecto de programa es causado por un patrón de lógica erróneo que puede reproducirse en alguna otra parte. La consideración explícita del patrón lógico puede resultar en el descubrimiento de otros errores. 2. ¿Qué “siguiente error” puede introducirse con la corrección que está a punto de realizar? Antes de hacer la corrección, debe evaluarse el código fuente (o, mejor, el diseño) para valorar el acoplamiento de las estructuras lógica y de datos. Si la corrección se realizará en una sección altamente acoplada del programa, debe tenerse especial cuidado cuando se realice algún cambio. 3. ¿Qué debió hacerse para evitar este error desde el principio? Esta pregunta es el primer paso hacia el establecimiento de un enfoque de aseguramiento de calidad estadística del software (capítulo 16). Si se corrigen tanto el proceso como el producto, el error se removerá del programa actual y podrá eliminarse de todos los programas futuros. Mantenimiento de software El reto del mantenimiento del software comienza. Uno se enfrenta con una creciente lista de corrección de errores, peticiones de adaptación y mejoras categóricas que deben planearse, calendarizarse y, a final de cuentas, lograrse. Mucho antes, la fila creció bastante y el trabajo que implica amenaza con abrumar los recursos disponibles. Conforme pasa el tiempo, la organización descubre que emplea más dinero y tiempo en mantener los programas existentes que en someter a ingeniería nuevas aplicaciones. De hecho, no es raro que una organización de software emplee entre 60 y 70 por ciento de todos sus recursos en mantenimiento del software. SOPORTABILIDAD DEL SOFTWARE

117


Con la finalidad de dar soporte efectivo al software de grado industrial, su organización (o su encargado) deben poder realizar las correcciones, adaptaciones y mejoras que son parte de la actividad de mantenimiento. Pero, además, la organización debe proporcionar otras importantes actividades de soporte que incluyen soporte operativo en marcha, soporte al usuario final y actividades de reingeniería durante el ciclo de vida completo del software. Una definición razonable de soportabilidad del software es, la capacidad de dar soporte a un sistema de software durante toda la vida del producto. Esto implica satisfacer cualquier necesidad o requisito, pero también provisión de equipo, infraestructura de soporte, software adicional, instalaciones, mano de obra o cualquier otro recurso requerido para mantener el software operativo y capaz de satisfacer su función. En esencia, la soportabilidad es uno de los muchos factores de calidad que deben considerarse durante las acciones de análisis y diseño que son parte del proceso de software. Deben abordarse como parte del modelo (o especificación) de requisitos y considerarse conforme el diseño evoluciona y comienza la construcción. Reingeniería Como toda revolución, el llamado a las armas de Hammer resultó en cambios tanto positivos como negativos. Durante los años de 1990, algunas compañías hicieron un esfuerzo legítimo por someterse a reingeniería y los resultados condujeron a mejora competitiva. Otros se apoyaron exclusivamente en reducción y subcontratación (en lugar de en reingeniería) para mejorar su línea de referencia. Con frecuencia resultaron organizaciones “medias” con poco potencial para crecimiento futuro [DeM95a]. Hacia finales de la primera década del siglo XXI, la publicidad relacionada con la reingeniería disminuyó, pero el proceso en sí continúa en las compañías grandes y pequeñas. El nexo entre reingeniería empresarial e ingeniería de software yace en una “visión de sistema”. Con frecuencia, el software es la realización de las reglas empresariales que Hammer analiza. En la actualidad, las principales compañías tienen decenas de miles de programas de cómputo que soportan las “antiguas reglas empresariales”. Conforme los administradores trabajan para modificar las reglas a fin de lograr mayor efectividad y competitividad, el software debe seguirles el paso. En algunos casos, esto significa la creación de grandes y novedosos sistemas basados en cómputo.2 Pero en muchos otros, significa la modificación o reconstrucción de las aplicaciones existentes. En las secciones que siguen, se examina la reingeniería en una forma descendente, comenzando con un breve panorama de la reingeniería de los procesos de empresas y avanzando hacia un análisis más detallado de las actividades técnicas que ocurren cuando el software se somete a reingeniería.

118


REINGENIERÍA DE PROCESOS DE EMPRESA La reingeniería de procesos de empresa (RPE) se extiende más allá del ámbito de las tecnologías de la información y de la ingeniería de software. Entre las muchas definiciones (la mayoría un tanto abstractas) que se han sugerido para la RPE, está una publicada en Fortune Magazine [Ste93]: “la búsqueda, e implementación, de cambios radicales en los procesos de las empresas para lograr resultados innovadores”. ¿Pero cómo se realiza la búsqueda y cómo se logra la implementación? Más importante, ¿cómo puede asegurarse que el “cambio radical” sugerido conducirá realmente a “resultados innovadores” en lugar de a caos organizacional? Procesos empresariales Un proceso empresarial es “un conjunto de tareas lógicamente relacionadas, que se realizan para lograr un resultado empresarial definido” [Dav90]. Dentro del proceso empresarial, personal, equipo, recursos materiales y procedimientos empresariales se combinan para producir un resultado específico. Los ejemplos de procesos empresariales incluyen diseñar un nuevo producto, comprar servicios y suministros, contratar un nuevo empleado y pagar a proveedores. Cada uno demanda un conjunto de tareas y usa diversos recursos dentro de la empresa. Todo proceso empresarial tiene un cliente definido: una persona o grupo que recibe el resultado (por ejemplo, una idea, un reporte, un diseño, un servicio, un producto). Además, los procesos empresariales atraviesan las fronteras de la organización. Requieren que diferentes grupos organizativos participen en las “tareas lógicamente relacionadas” que definen el proceso. Un modelo RPE Como la mayoría de las actividades de ingeniería, la reingeniería de procesos de empresa es iterativa. Las metas de la empresa y los procesos que los logran deben adaptarse a un entorno empresarial cambiante. Por esta razón, no hay inicio ni fin de la RPE: es un proceso evolutivo. REINGENIERÍA DE SOFTWARE El escenario es demasiado común: una aplicación que atendió las necesidades empresariales de una compañía durante 10 o 15 años. Durante ese tiempo se corrigió, adaptó y mejoró muchas veces. Las personas realizaban esta tarea con las mejores intenciones, pero las buenas prácticas de ingeniería siempre se hicieron a un lado (debido a la presión de otros asuntos). Ahora la aplicación es inestable. Todavía funciona, pero cada vez que se intenta un cambio, ocurren inesperados y serios efectos colaterales. Aun así, la aplicación debe seguir evolucionando. ¿Qué hacer? El software sin mantenimiento no es un problema nuevo. De hecho, el énfasis ampliado acerca de la reingeniería de software se produjo por los problemas de mantenimiento de software que se acumularon durante más de cuatro décadas. Un modelo de proceso de reingeniería de software

119


La reingeniería toma tiempo, cuesta cantidades significativas de dinero y absorbe recursos que de otro modo pueden ocuparse en preocupaciones inmediatas. Por todas estas razones, la reingeniería no se logra en pocos meses o incluso en algunos años. La reingeniería de los sistemas de información es una actividad que absorberá recursos de tecnología de la información durante muchos años. Por esto, toda organización necesita una estrategia pragmática para la reingeniería de software. Actividades de reingeniería de software El paradigma de reingeniería es un modelo cíclico. Esto significa que cada una de las actividades presentadas como parte del paradigma puede revisarse. Para algún ciclo particular, el proceso puede terminar después de cualquiera de estas actividades. Análisis de inventarios. Toda organización de software debe tener un inventario de todas las aplicaciones. El inventario puede ser nada más que un modelo de hojas de cálculo que contenga información que ofrezca una descripción detallada (por ejemplo, tamaño, edad, importancia empresarial) de cada aplicación activa. Al ordenar esta información de acuerdo con importancia empresarial, longevidad, mantenibilidad actual, soportabilidad y otros importantes criterios locales, aparecen los candidatos para reingeniería. Entonces pueden asignarse recursos a esas aplicaciones. Es importante observar que el inventario debe revisarse con regularidad. El estado de las aplicaciones (por ejemplo, importancia empresarial) puede cambiar con el tiempo y, como resultado, cambiarán las prioridades para aplicar la reingeniería. Reestructuración de documentos. La documentación débil es el distintivo de muchos sistemas heredados. Pero, ¿qué puede hacer con ella? ¿Cuáles son sus opciones? 1. La creación de documentación consume demasiado tiempo. Si el sistema funciona puede elegir vivir con lo que tiene. En algunos casos, éste es el enfoque correcto. No es posible volver a crear documentación para cientos de programas de cómputo. Si un programa es relativamente estático, se aproxima al final de su vida útil y es improbable que experimente cambio significativo, ¡déjelo así! 2. La documentación debe actualizarse, pero su organización tiene recursos limitados. Use un enfoque “documente cuando toque”. Acaso no sea necesario volver a documentar por completo una aplicación. En vez de ello, aquellas porciones del sistema que en el momento experimenten cambio se documentan por completo. Con el tiempo, evolucionará una colección de documentación útil y relevante. 3. El sistema tiene importancia empresarial y debe volver a documentarse por completo. Incluso en este caso, un enfoque inteligente es recortar la documentación a un mínimo esencial. Cada una de estas opciones es viable. Su organización de software debe elegir aquella que sea más adecuada para cada caso.

120


Ingeniería inversa. El término ingeniería inversa tiene su origen en el mundo del hardware. Una compañía desensambla un producto de hardware de otra empresa con la intención de entender los “secretos” de diseño y fabricación de su competidor. Dichos secretos podrían entenderse fácilmente si se obtuvieran las especificaciones de diseño y fabricación. Pero esos documentos son propiedad de la empresa competidora y no están disponibles para la compañía que hace la ingeniería inversa. En esencia, la ingeniería inversa exitosa deriva en una o más especificaciones de diseño y fabricación para un producto al examinar especímenes reales del mismo. Reestructuración de código. El tipo más común de reingeniería (en realidad, en este caso es cuestionable el uso del término reingeniería) es la reestructuración de código.4 Algunos sistemas heredados tienen una arquitectura de programa relativamente sólida, pero los módulos individuales fueron codificados en una forma que los hace difíciles de entender, poner a prueba y mantener. En tales casos, el código dentro de los módulos sospechosos puede reestructurarse. Para realizar esta actividad se analiza el código fuente con una herramienta de reestructuración. Las violaciones a los constructos de programación estructurada se anotan y luego el código se reestructura (esto puede hacerse automáticamente) o incluso se reescribe en un lenguaje de programación más moderno. El código reestructurado resultante se revisa y pone a prueba para garantizar que no se introdujeron anomalías. La documentación de código interna se actualiza. Reestructuración de datos. Un programa con arquitectura de datos débil será difícil de adaptar y mejorar. De hecho, para muchas aplicaciones, la arquitectura de información tiene más que ver con la viabilidad a largo plazo de un programa que con el código fuente en sí. A diferencia de la reestructuración de código, que ocurre en un nivel de abstracción relativamente bajo, la reestructuración de datos es una actividad de reingeniería a gran escala. En la mayoría de los casos, la reestructuración de los datos comienza con una actividad de ingeniería inversa. La arquitectura de datos existente se diseca y se definen modelos de datos necesarios. Se identifican los objetos y atributos de datos, y se revisa la calidad de las estructuras de datos existentes. Cuando la estructura de datos es débil (por ejemplo, si se implementan archivos planos, cuando un enfoque relacional simplificaría enormemente el procesamiento), los datos se someten a reingeniería. Ingeniería hacia adelante. En un mundo ideal, las aplicaciones se reconstruirían usando un “motor de reingeniería” automático. El programa antiguo se alimentaría en el motor, se analizaría, se reestructuraría y luego se regeneraría de manera que mostrara los mejores aspectos de la calidad del software. A corto plazo es improbable que tal “motor” aparezca, pero los proveedores introdujeron herramientas que proporcionan un subconjunto limitado de dichas capacidades y que abordan dominios de aplicación específicos (por ejemplo, aplicaciones que se

121


implementan usando un sistema de base de datos específico). Más importante, dichas herramientas de reingeniería se vuelven cada vez más sofisticadas. INGENIERÍA INVERSA La ingeniería inversa conjura una imagen de la “rendija mágica”. Usted alimenta en la rendija un archivo fuente sin documentar, diseñado de manera fortuita, y del otro lado sale una descripción y documentación completas del diseño para el programa de cómputo. Por desgracia, la rendija mágica no existe. La ingeniería inversa puede extraer información de diseño a partir del código fuente, pero el nivel de abstracción, la completitud de la documentación, el grado en el que las herramientas y un analista humano trabajan en conjunto, y la direccionalidad del proceso son enormemente variables. El nivel de abstracción de un proceso de ingeniería inversa y las herramientas usadas para efectuarla tienen que ver con la sofisticación de la información de diseño que puede extraerse del código fuente. De manera ideal, el nivel de abstracción debe ser tan alto como sea posible, es decir, el proceso de ingeniería inversa debe ser capaz de inferir representaciones de diseño procedimental (una abstracción de bajo nivel), información de estructura de programa y datos (un nivel de abstracción un poco más alto), modelos de objeto, modelos de datos y/o flujo de control (un nivel de abstracción relativamente alto) y modelos de relación de entidad (un nivel de abstracción alto). Conforme aumenta el nivel de abstracción se proporciona información que permitirá facilitar la comprensión del programa. La completitud de un proceso de ingeniería inversa se refiere al nivel de detalle que se proporciona en un nivel de abstracción. En la mayoría de los casos, la completitud disminuye conforme aumenta el nivel de abstracción. Por ejemplo, dada una lista de código fuente, es relativamente sencillo desarrollar una representación de diseño procedimental completa. También pueden inferirse representaciones de diseño arquitectónico simples, pero es mucho más difícil desarrollar un conjunto completo de diagramas o modelos UML. La completitud mejora en proporción directa a la cantidad de análisis realizado por la persona que efectúa la ingeniería inversa. La interactividad tiene que ver con el grado en el que el ser humano se “integra” con las herramientas automatizadas para crear un proceso de ingeniería inversa efectivo. En la mayoría de los casos, conforme aumenta el nivel de abstracción, la interactividad debe aumentar o decaerá la completitud. Si la direccionalidad del proceso de ingeniería inversa es de una vía, toda la información extraída del código fuente se proporciona al ingeniero de software que luego puede usarla, durante cualquier actividad de mantenimiento. Si la direccionalidad es de dos vías, la información se alimenta a una herramienta de reingeniería que intenta reestructurar o regenerar el programa antiguo.

122


REESTRUCTURACIÓN La reestructuración de software modifica el código fuente y/o los datos con la intención de hacerlos sensibles a cambios futuros. En general, la reestructuración no modifica la arquitectura global del programa. Tiende a enfocarse sobre detalles de diseño de módulos individuales y sobre estructuras de datos locales definidas dentro de módulos. Si el esfuerzo de reestructuración se extiende más allá de las fronteras del módulo y abarca la arquitectura del software, la reestructuración se convierte en ingeniería hacia adelante (sección 29.7). La reestructuración ocurre cuando la arquitectura básica de una aplicación es sólida, aun cuando el interior técnico necesite trabajarse. Se inicia cuando grandes partes del software son aprovechables y sólo un subconjunto de todos los módulos y datos necesitan modificación extensa. Reestructuración de código La reestructuración de código se realiza para producir un diseño que produzca la misma función, pero con mayor calidad que el programa original. En general, las técnicas de reestructuración de código (por ejemplo, las técnicas de simplificación lógica de Warnier [War74]) modelan la lógica del programa usando álgebra booleana y luego aplican una serie de reglas de transformación que producen lógica reestructurada. El objetivo es tomar una “ensalada” de código y derivar un diseño procedimental que se conforme con la filosofía de programación estructurada. También se han propuesto otras técnicas de reestructuración para su uso con herramientas de reingeniería. Un diagrama de intercambio de recursos mapea cada módulo de programa y los recursos (tipos de datos, procedimientos y variables) que se intercambiarán entre él y otros módulos. Al crear representaciones de flujo de recursos, la arquitectura del programa puede reestructurarse para lograr un mínimo acoplamiento entre módulos. Reestructuración de datos Antes de que pueda comenzar la reestructuración de datos debe realizarse una actividad de ingeniería inversa llamada análisis de código fuente. Se evalúan todos los enunciados de lenguaje de programación que contienen definiciones de datos, descripciones de archivo I/O y descripciones de interfaz. La intención es extraer ítems de datos y objetos, obtener información acerca del flujo de datos y entender las estructuras de datos existentes que se implementaron. Esta actividad en ocasiones se llama análisis de datos. Una vez completado el análisis de datos, comienza el rediseño de datos. En su forma más simple, un paso de estandarización de registro de datos clarifica las definiciones de los datos para

123


lograr consistencia entre nombres de ítem de datos o formatos de registro físico dentro de una estructura de datos existente o dentro de un formato de archivo. Otra forma de rediseño, llamada racionalización de nombre de datos, garantiza que todas las convenciones de nomenclatura de datos se establezcan de acuerdo con estándares locales y que los sobrenombres se eliminen conforme los datos fluyen a través del sistema. Cuando la reestructuración avanza más allá de la estandarización y la racionalización, se realizan modificaciones físicas a las estructuras de datos existentes para hacer que el diseño de datos sea más efectivo. Esto puede significar una traducción de un formato de archivo a otro o, en algunos casos, traducción de un tipo de base de datos a otra. INGENIERÍA HACIA ADELANTE Un programa con flujo de control que sea el equivalente gráfico de una olla de espagueti, con “módulos” que tienen 2 000 enunciados de largo, con pocas líneas de comentarios significativos en 290 000 enunciados fuente y sin otra documentación, debe modificarse para alojar los cambiantes requisitos de usuario. Se tienen las siguientes opciones: 1. Para implementar los cambios necesarios puede luchar a través de modificación tras modificación, combatir al diseño ad hoc y el código fuente enredado. 2. Puede intentar comprender los funcionamientos interiores más amplios del programa con la intención de hacer modificaciones de manera más efectiva. 3. Puede rediseñar, recodificar y poner a prueba aquellas porciones del software que requieran modificación y aplicar un enfoque de ingeniería de software a todos los segmentos revisados. 4. Puede rediseñar, recodificar y poner a prueba completamente el programa, y usar herramientas de reingeniería para ayudar a comprender el diseño actual. No hay una sola opción “correcta”. Las circunstancias pueden dictar la primera opción incluso si las otras son más deseables. En lugar de esperar hasta recibir una solicitud de mantenimiento, la organización de desarrollo o soporte usa los resultados de un análisis de inventario para seleccionar un programa: 1) que permanecerá en uso durante un número preseleccionado de años, 2) que en el momento se use con éxito y 3) que tenga probabilidad de experimentar grandes modificaciones o aumentos en el futuro cercano. Entonces se aplican las opciones 2, 3 o 4. A primera vista, la sugerencia de que redesarrolle un programa grande cuando ya existe una versión operativa puede parecer muy extravagante. Antes de juzgar, considere los siguientes puntos: 1. El costo de mantener una línea de código fuente puede ser 20 a 40 veces el costo del desarrollo inicial de dicha línea.

124


2. El rediseño de la arquitectura del software (programa y/o estructura de datos), con el uso de modernos conceptos de diseño, puede facilitar enormemente el mantenimiento futuro. 3. Puesto que ya existe un prototipo del software, la productividad de desarrollo debe ser mucho más alta que el promedio. 4. Ahora el usuario experimenta con el software. Por tanto, pueden averiguarse con mayor facilidad los nuevos requisitos y la dirección del cambio. 5. Las herramientas automatizadas para reingeniería facilitarán algunas partes de la labor. 6. Existirá una configuración de software completa (documentos, programas y datos) al completar el mantenimiento preventivo. ECONOMÍA DE LA REINGENIERÍA En un mundo perfecto, todo programa no mantenible se retiraría de inmediato para sustituirlo con aplicaciones sometidas a reingeniería de alta calidad desarrolladas mediante modernas prácticas de ingeniería de software. Pero se vive en un mundo de recursos limitados. La reingeniería gasta recursos que pueden usarse para otros propósitos empresariales. Por tanto, antes de que una organización intente someter a reingeniería una aplicación existente, debe realizar un análisis costobeneficio. ¿QUÉ ES MPS? El término mejoramiento del proceso de software (MPS) implica muchas cosas. Primero, que los elementos de un proceso de software efectivo pueden definirse en forma efectiva; segundo, que un enfoque organizacional existente sobre el desarrollo del software puede valorarse en contraste con dichos elementos; y tercero, que es posible definir una estrategia de mejoramiento significativa. La estrategia MPS transforma el enfoque existente sobre el desarrollo del software en algo que es más enfocado, más repetible y más confiable (en términos de la calidad del producto producido y de la oportunidad de la entrega). Puesto que el MPS no es gratuito, debe entregar un rendimiento sobre la inversión. El esfuerzo y el tiempo que se requieren para implementar una estrategia MPS deben pagar por sí mismos en alguna forma mensurable. Para hacer esto, los resultados del proceso y la práctica mejorados deben conducir a una reducción en los “problemas” del software que cuestan tiempo y dinero. Debe reducir el número de defectos que se entregan a los usuarios finales, la cantidad de repetición de proceso debida a problemas de calidad, los costos asociados con el mantenimiento y el soporte del software y los costos indirectos que ocurren cuando el software se entrega tarde. EL CMMI El CMM original se desarrolló y actualizó por parte del Software Engineering Institute a lo largo de los años de 1990 como un marco conceptual MPS completo. Más adelante, evolucionó en la Integración del Modelo de Madurez de Capacidades (CMMI) [CMM07], un metamodelo de proceso exhaustivo que se impulsa en un conjunto de sistemas y capacidades de ingeniería del software que

125


deben presentarse conforme las organizaciones alcanzan diferentes niveles de capacidad y madurez del proceso. El CMMI representa un metamodelo de proceso en dos formas diferentes: 1) como un modelo “continuo” y 2) como un modelo “en etapas”. El metamodelo CMMI continuo describe un proceso en dos dimensiones. La CMMI define cada área de proceso en términos de “metas específicas”, y de “prácticas específicas” requeridas para lograr dichas metas. Las metas específicas establecen las características que deben existir si las actividades implicadas por un área de proceso han de ser efectivas. Las prácticas específicas desglosan una meta en un conjunto de actividades relacionadas con el proceso. EL CMM DE PERSONAL Un proceso de software, sin importar cuán bien se conciba, no triunfará sin personal de software talentoso y motivado. El Modelo de Madurez de Capacidad de Personal “es un mapa de caminos para implementar prácticas que mejoran de manera continua la capacidad de la fuerza de trabajo de una organización” [Cur02]. Desarrollado a mediado de los años de 1990 y refinado durante los años siguientes, la meta del CMM de personal es alentar el mejoramiento continuo del conocimiento de la fuerza laboral genérica (llamadas “competencias centrales”), de las habilidades específicas de los ingenieros del software y de la administración del proyecto (llamadas “competencias de la fuerza laboral”) y de las habilidades relacionadas con el proceso. OTROS MARCOS CONCEPTUALES MPS Aunque los CMM y CMMI del SEI son los marcos conceptuales MPS de mayor aplicación, se han propuesto algunas alternativas7 que están en uso. Entre las más ampliamente utilizadas se encuentran los siguientes y como se muestran en la Figura 19 MPS: • SPICE: una iniciativa internacional para dar apoyo a la valoración de proceso ISO y a estándares de proceso de ciclo de vida [SPI99] • ISO/IEC 15504 para Valoración de Proceso (de Software) [ISO08] • Bootstrap: un marco conceptual MPS para organizaciones pequeñas y medianas que se adecua a SPICE [Boo06]

126


Figura 19 MPS

• PSP y TSP: marcos conceptuales MPS individuales y específicos de equipo ([Hum97], [Hum00]) que se enfocan en procesos micro, un enfoque más riguroso del desarrollo de software acoplado con medición • TickIT: método de auditoría [Tic05] que valora el cumplimiento de una organización al Estándar ISO 9001:2000 RENDIMIENTO SOBRE INVERSIÓN DE MPS El MPS representa un trabajo duro y requiere inversión sustancial de dinero y de personal. Los administradores que aprueben el presupuesto y los recursos para MPS invariablemente plantearán la pregunta: ¿cómo sé que lograremos un rendimiento razonable por el dinero que gastemos? Cualitativamente, quienes impulsan MPS arguyen que un proceso de software mejorado conducirá a calidad de software mejorada. Afirman que el proceso mejorado dará como resultado la implementación de mejores filtros de calidad (lo que arrojará menos defectos propagados), mejor control de cambio (que da como resultado menos caos de proyecto) y menos reelaboración técnica (lo que desemboca en menor costo y mejor tiempo de llegada al mercado). TENDENCIAS MPS Durante las dos décadas pasadas, muchas compañías intentaron mejorar sus prácticas de ingeniería del software al aplicar un marco conceptual MPS para efectuar cambio organizacional y transición tecnológica. Como se observó anteriormente, en este capítulo, más de la mitad fracasan en esta labor. Sin

127


importar el éxito o el fracaso, todos gastan una cantidad significativa de dinero. David Rico [Ric04] reporta que una aplicación típica de un marco conceptual MPS como el CMM SEI, ¡puede costar entre $25 000 y $70 000 por persona y tardar años en completarse! No debe sorprenderle que el futuro de MPS deba enfatizar un enfoque menos costoso y consumidor de tiempo. Para ser efectivo en el mundo de desarrollo del software del siglo XXI, los futuros marcos conceptuales MPS deben volverse significativamente más ágiles. En lugar de un enfoque centrado en la organización (que puede tardar años en completarse exitosamente), los esfuerzos MPS contemporáneos deben enfocarse en el nivel del proyecto y trabajar para mejorar un proceso de equipo en semanas, no meses ni años. Para lograr resultados significativos (incluso en el nivel del proyecto) en un tiempo corto, los modelos de marco conceptual complejos pueden dar lugar a modelos más simples. En lugar de decenas de prácticas clave y cientos de prácticas complementarias, un marco conceptual MPS ágil enfatiza solamente algunas prácticas esenciales.

128


Bibliografía Cacéres, E. A. (2014). Obtenido de http://www.facso.unsj.edu.ar/catedras/cienciaseconomicas/sistemas-de-informacion-II/documentos/aydise14.pdf Como funciona que. (27 de septiembre de 2015). Como funciona que. Obtenido de http://comofuncionaque.com/tipos-de-computadoras/ Econlink. (20 de Marzo de 2018). Econlink. Obtenido de https://www.econlink.com.ar/sistemasinformacion/ejemplos informatica Hoy. (14 de Marzo de 2018). informatica Hoy. Obtenido de https://www.informaticahoy.com.ar/aprender-informatica/Perifericos-de-Entrada-y-Salida.php Kyocera. (10 de Marzo de 2018). Kyocera. Obtenido de https://smarterworkspaces.kyocera.es/blog/los-6-principales-tipos-sistemas-informacion/ Laudon, k. C. (2012). Sistemas de información gerencial. México: PEARSON EDUCACION. Pressman, R. S. (2010). Ingeneria del software. México .

129


UNIVERSIDAD DE GUANAJUATO Divisiรณn de Ciencias Econรณmico-Administrativas

Lic. Relaciones Industriales UDA: Sistemas de informaciรณn para RH Actividad No. 2 Alumna: Veronica Murillo Lona Dulce Patricia Ponce Salazar Veronica Lรณpez Durรกn Maestro: Alfaro Cuellar Ricardo


Índice de contenido

Tabla de contenido GoConqr .............................................................................................................................................. 1 Canva................................................................................................................................................... 5 Piktochart............................................................................................................................................ 7 Prezi................................................................................................................................................... 10 Visme................................................................................................................................................. 14 Instapage: ......................................................................................................................................... 16 Rawshorts ......................................................................................................................................... 19 Mindmeister ..................................................................................................................................... 21

Índice de figuras Figura 1 Pagina de inicio de GoConqr. ................................................................................................ 1 Figura 2 Pagina de inicio de Canva ...................................................................................................... 5 Figura 3 Pagina de inicio de Piktochart. .............................................................................................. 7 Figura 4 Pagina de inicio de Prezi. ..................................................................................................... 11 Figura 5 Página de inicio de Visme .................................................................................................... 14 Figura 6 Pagina de inicio de Instapage. ............................................................................................. 17 Figura 7 Pagina de inicio de Rawshorts ............................................................................................. 19 Figura 8 Pagina de inicio de Mindmeister ......................................................................................... 21


GoConqr Link: https://www.goconqr.com/es/users/sign_in Video de referencia: https://www.youtube.com/watch?v=twHrx-aGpc0

Figura 1 Pagina de inicio de GoConqr.

GoConqr una herramienta que permite crear diferentes tipos de materiales educativos y compartirlos fácilmente en la red. Con GoConqr podemos elaborar mapas mentales, apuntes con contenido multimedia, fichas educativas y tests. Lo novedoso de la herramienta es que presenta los materiales como vídeos o animaciones que proporcionan un efecto muy interesante para presentar en clase nuestros recursos. Es una herramienta válida para el trabajo de los alumnos, para crear y organizar sus propios trabajos. GoConqr es un entorno de estudio personalizado online y gratuito que te ayuda a mejorar tu aprendizaje. GoConqr incluye herramientas de aprendizaje que te permiten crear, compartir y descubrir Mapas Mentales, Fichas de Estudio, Apunes Online y Tests. Con GoConqr también puedes planificar tu estudio y monitorizar tu proceso en tiempo real, además de conectar con tus amigos y compañeros y compartir recursos y conocimiento. Todo esto convierte a GoConqr en la plataforma de aprendizaje definitiva que te ayuda a transformar tu estudio y a ser más efectivo. Si quieres saber más, visita la página Sobre Nosotros. GoConqr se diferencia de la competencia por haber logrado una amplia comunidad de usuarios en poco tiempo, alcanzando ya el millón de usuarios y más de 40

1


millones de sesiones de aprendizaje dentro de esta singular plataforma que fomenta la creación y el descubrimiento de contenidos educativos. La plataforma GoConqr.com está diseñada para permitir la colaboración en línea de estudiantes y profesores, abriendo puertas a nuevos espacios de comunicación con personas de todas partes del mundo. El creador de la plataforma, Dualta Moore, la define con las siguientes palabras: “Buscamos inspirar a los alumnos para que tengan un mayor control sobre su aprendizaje. GoConqr.com es una herramienta para crear fácilmente recursos digitales y compartirlos y así utilizar más herramientas relevantes para el estudio” ¿Cómo funciona GoConqr.com? La start-up educativa GoConqr.com busca hacer responsable al propio alumno de su aprendizaje. Busca diferenciarse del aprendizaje pasivo para comprometer al alumno y lograr que sea él mismo quién escoge y lleva a cabo la parte más importante del aprendizaje: la internalización. Cuando el propio usuario genera sus recursos, entonces es él quien tiene un conocimiento más profundo de los procesos educativos. El enfoque tiene muchos seguidores en todo el mundo, por eso hay más de 30.000 nuevos usuarios de GoConqr.com cada semana. La plataforma nació en Irlanda y sus usuarios en un primer momento eran de habla inglesa, pero al llegar a España ya están empezando a verse muchas más aulas virtuales y experiencias en español. La versión española de GoConqr.com está disponible desde 2013 pero en este 2015 ha logrado un gran crecimiento. Además de España, Estados Unidos y Reino Unido, la plataforma también es muy popular en México, Colombia y Brasil. Con cada día que pasa el número de estudiantes que se anotan en la aplicación es similar al de una universidad pequeña. Según su creador, el próximo paso de GoConqr.com es llegar a los 2 millones de usuarios a nivel mundial. Gracias a las referencias positivas y el boca a boca la popularidad de la plataforma está creciendo y Moore espera poder alcanzar los 2 millones de usuarios antes de que finalice 2015. Las mejoras más importantes de la plataforma educativa están basadas en comentarios y sugerencias que dejan los propios usuarios, por eso la llegada de GoConqr está íntimamente relacionada con la popularidad que tenga con los usuarios. El producto funciona y es atractivo, pero hay muchos detalles que se pueden mejorar e ir puliendo para garantizar una mejor llegada al público. La herramienta educativa GoConqr.com está alojada en la nube, facilitando el acceso desde cualquier tipo de dispositivo electrónico sin importar su capacidad. Está basada en la creación de entornos de aprendizaje personalizados para cada estudiante y posee herramientas gratuitas para crear apuntes, fichas, mapas mentales y otros. Además, se pueden compartir las creaciones en cuestión de

2


minutos. En las oficinas de GoConqr.com trabajan alrededor de 25 personas entre Dublín y Belfast. La investigación y el desarrollo para seguir mejorando la app se llevan a cabo en Belfast, mientras que el equipo de Dublín está encargado del marketing, soporte y las operaciones. El aprendizaje y la tecnología cada vez van más ligados gracias a la buena imagen que están adquiriendo las aplicaciones de educación y el uso de tecnologías para personalizar la experiencia educativa. Siendo que la plataforma ya tiene una buena llegada en España, no sería descabellado pensar que los principales países de habla hispana empiecen a centrar su atención en esta herramienta en la nube para aprender de una forma más controlada y personalizada. Si quieres intentarlo, ya sea con tus alumnos o con tus compañeros de clase, solamente tienes que ingresar a GoConqr.com y registrarte para empezar a usar la herramienta que es totalmente gratuita y está pensada por y para alumnos a la vez que para docentes con ideas de integrar la tecnología al aprendizaje.

¿Cómo me registro? Para registrarte, dirígete a la página inicial de GoConqr. Si te registras usando tu dirección de correo electrónico, te enviaremos un email de confirmación. Una vez que lo recibas, debes hacer click en el enlace para confirmar tu cuenta. Tras este paso, ya puedes iniciar sesión y empezar a usar GoConqr. Si te estás registrando con Facebook o Google, tendrás que iniciar sesión en estas plataformas y darle permiso a GoConqr. Una vez que tus cuentas de Facebook/Google y GoConqr estén conectadas, podrás iniciar sesión con un solo click.

¿Cómo Inicio sesión? Para inciar sesión, dirígete a la página inicial de GoConqr y haz click en "Iniciar Sesión", debajo del botón verde de registro. Si te registraste usando tu cuenta de email, introdúcela junto con tu contraseña. Por otro lado, si te registraste usando tu cuenta de Facebook/Google solo necesitas hacer click en el botón correspondiente.

¿Es GoConqr gratis? Sí. Puedes usar todas nuestras herramientas de manera gratuita y esto siempre serás así. Sin embargo, también hemos diseñado unos planes Premium que te permitirán acceder a funciones avanzadas y a cuotas mayores para que así puedas personalizar tu aprendizaje aún más y adaptar GoConqr a tus circunstancias.

¿Qué métodos de pago ofrecéis? Actualmente aceptamos todas las principales tarjetas de crédito y débito. Visa, Mastercard y todos los demás proveedores principales.

3


¿Qué opciones de pago tengo? Tienes la opción de pagar mensualmente o pagar menos por una suscripción anual, pagando nuestra cuota anual reducida.

¿Cómo puedo hacer sugerencias o realizar preguntas? Si tienes dudas en cuanto al funcionamiento de GoConqr, te recomendamos dirigirte a nuestra sección de Preguntas Frecuentes. Si no encuentras lo que necesitas, no dudes en escribirnos a soporte@goconqr.com. De la misma manera, si tienes cualquier idea, sugerencia o queja en cuanto a GoConqr, ¡háznoslo saber! Puedes enviarnos tus sugerencias en cualquier momento a soporte@goconqr.com También encontrarás opciones para comunicarte con nosotros en el pie de página de la plataforma.

¿Cuenta GoConqr con una App móvil? Sí. Ahora ya es posible estudiar sobre la marcha y acceder a todo el material que has creado en GoConqr, gracias a nuestra app móvil para iOS y Android.

¿Para qué nivel de estudios es GoConqr? Puedes usar GoConqr para estudiar online y crear recursos para cualquier tipo de examen y nivel de estudios, ya que se trata de un Entorno de Aprendizaje Personalizado, en el que el usuario elige qué, cómo, cuándo y desde dónde estudia. Por tanto, GoConqr no tiene límites y cualquier nivel de estudio tiene cabida en la plataforma. Dicho esto, algunos de los exámenes más comunes entre nuestros usuarios incluyen: ✓ ✓ ✓ ✓ ✓ ✓ ✓

Selectividad Saber 11º Saber Pro PSU (Prueba de Selección Universitaria) ENES (Examen Nacional para la Educación Superior) Exani II Prepa Abierta

Además, GoConqr te puede ayudar a prepararte para cualquiera de los exámenes de certificación oficial de idiomas siguientes: o o o o o o

FCE (Cambridge English: First) CAE (Cambridge English: Advanced) CPE (Cambridge English: Proficiency) DILF (Diplôme Initial de Langue Françoise) DELF (Diplôme d’Etude en Langue Française) ZDfB (Zertifikat Deutsch für den Beruf)

4


o o o o

TestDaF (Test Deutsch als Fremdsprache) CIPLE (Certificado inicial de português língua estrangeira) DEPLE (Diploma elementar de português língua estrangeira) CELI (Certificato di Lingua italiana)

Canva Link: https://www.canva.com/es_mx/ Video de referencia: https://www.youtube.com/watch?v=Uabl9y1AeXA

Figura 2 Página de inicio de Canva

Canva es una herramienta realmente espectacular para diseñar y crear contenido web de todo tipo. Con Canva podemos crear carteles, posters, infografías, documentos, tarjetas de visita, covers de Facebook, gráficos, etc. de forma muy sencilla. Los diseños que ofrece Canva son elegantes y profesionales que recuerdan al estilo vintage. Además de las plantillas y diseños de Canva, podemos subir imágenes, añadir texto y cambiar la organización de los elementos de las plantillas. Es una herramienta fantástica para desarrollar la creatividad de nuestros alumnos y la nuestra propia. Canva está en fase beta y es necesario pedir una invitación para utilizarla, pero merece la pena esperar para conocer sus interesantes posibilidades.

5


Registro y selección Regístrate a través de tu cuenta de correo o redes sociales y selecciona el uso que deseas darle a la herramienta: personal, educativo o de trabajo. Al hacer la elección contarás con un menú personalizado y adaptado a tus necesidades.

Funciones Aquí te voy a enumerar todas las funciones con una pequeña descripción, pero me gustaría que a la vez empieces tu a trastear con Canva desing: ▪

▪ ▪

Efectos fotográficos: coloca las imágenes perfectamente rectas, recorta las fotos para que queden a tu gusto, añade texto a las fotos, crea globos de texto que hablen por ti en la foto, atenúa las fotos, realza cualquier fotograma, efectos de desenfoque e infinidad de funcionas más. Iconos gratuitos: llena tus infografías de iconos, crea señalización de iconos en un momento, junta iconos y texto en tus documentos corporativos, mejora tus diseños con iconos de las redes sociales etc. Efecto viñeta: canva image editor lleva el efecto viñeta digital a la era de las redes sociales, aplica un efecto viñeta a tus recuerdos de antaño. Efecto marco fotográfico: elige cualquier un montón de marcos que se adaptan a cualquier diseño, refuerza tus diseños con marcos, prueba los marcos con formas, inspírate con los mejores marcos, crea diseños para usar con marcos. Desenfoca tus fotos: desenfoca una imagen al vuelo con el efecto deslizante, desenfoca con ligeramente para dar un fino toque al encanto, utiliza imagen desenfocada de fondo, combina elementos juntos con el desenfoque. Pegatinas: elige entre un montón de pegatinas personalizadas, anima las fotos de tus vacaciones con pegatinas, retoca las cuadriculas de diseño con pegatinas, causa impresión con una pegatina adecuada, cambia el tono con pegatinas y filtros fotográficos Cuadriculas de canva: deja volar tu imaginación con las cuadriculas, selecciona un diseñó de cuadricula para retocarlos, aplica tonos y contrastes con los colores, añade texto para enmarcar el contexto y la narración, usa las cuadriculas para contar historias.

Crea diseños Con Canva Español puedes crear diseños en cualquier formato que se te ocurra. ▪ ▪ ▪ ▪ ▪ ▪

Portadas de discos Banners Portadas de libros Flyers Folletos Tarjetas de visita

6


▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

Cheques regalo Infografías Membretes Portadas de revistas Collages de fotos Postales Pósteres Presentaciones Imágenes para redes sociales

Canva es una herramienta de diseño gráfico con una interfaz atractiva y fácil de usar para cualquier persona, un sitio web con diversas funcionalidades en la que puedes diseñar y compartir cualquier contenido con tus compañeros y clientes. En muy poco tiempo, Canva se ha convertido en una herramienta indispensable para profesionales del marketing, blogueros y dueños de pequeñas empresas, aunque gran ventaja es que pone en manos de los “no diseñadores” la posibilidad de crear contenidos sencillos con el fin de poder implementar sus objetivos. La forma principal de utilizar Canva para los negocios es crear y publicar contenido atractivo que atraerá a tus clientes potenciales y fidelizará a los ya existentes. Sólo necesitas escoger las imágenes, las tipografías y los colores perfectos que se adecuen al estilo que deseas transmitir. Consta de muchas plantillas gratuitas y tiene una interfaz muy intuitiva y sencilla de utilizar que puedes usar para crear tus diseños gráficos. También tienes disponible una versión “pro” con más plantillas a tu disposición. Puedes descargar Canva en formato de aplicación gratuita para iPad y cuenta con un plugin para Wordpress que integra la aplicación con tu blog.

Piktochart Link: https://create.piktochart.com/ Video de referencia: https://www.youtube.com/watch?v=4lo6XPRrg9Q

Figura 3 Pagina de inicio de Piktochart.

7


Piktochart es una aplicación online que facilita la creación de infografías a aquellos que no tienen conocimientos de diseño ni de programación. Para ello facilita plantillas prediseñadas, gráficos, iconos, fuentes… que el usuario va eligiendo según sus necesidades para completar su gráfico mediante drag&drop. En el apartado de recursos, la web proporciona una serie de tutoriales para guiar al usuario por el manejo de la herramienta. Quien lo prefiera, puede descargarse un manual en forma de ebook o acceder a la sección de vídeos sobre el uso de la aplicación. En la versión gratuita ofrecen siete plantillas prediseñadas y acceso a todos los gráficos (con marca de agua de Piktochart). Dentro de su gama de precios, hacen ofertas específicas para el ámbito de la educación. En su blog ofrecen testimonios de usuarios, consejos y noticias relacionadas con la mejora de la aplicación. Piktochart es una aplicación web que permite hacer infografías profesionales a partir de plantillas prefijadas que se pueden modificar al gusto del autor. El recurso, creado por los desarrolladores Goh Ai Ching y Andrea Zaggia, ofrece a los alumnos de Secundaria una útil herramienta para el desarrollo de su capacidad creativa y de síntesis visual dentro del mundo del diseño gráfico. Se convierte así en un gran aliado para las clases de Informática y Tecnología.

Añade, modifica o elimina a tu gusto cientos de imágenes Para comenzar a utilizar Piktochart sólo hay que seleccionar una plantilla de la base de datos y comenzar a configurar la infografía a gusto del usuario. Tras elegir el modelo, la aplicación ofrece la opción de eliminar elementos, incluir numerosos objetos organizados por categorías, cambiarles el tamaño, color o fuente y guardarlo en JPG o exportarlo a Facebook o Twitter. El idioma nativo de esta aplicación online es el inglés, pero los tutoriales son muy sencillos e intuitivos y no es necesario tener conocimientos de Photoshop o programas de diseño como InDesign. Solo hay que registrarse como usuario y empezar a navegar por su web. La aplicación está disponible en versión gratuita y de pago. La primera opción da acceso a seis plantillas básicas con marca de agua de la empresa. Mientras que la segunda, que tiene un coste mensual de 29 dólares y anual de 169 dólares, permite disponer de más de 100 plantillas sin marca de agua, y alrededor de 1.000 opciones de imágenes e iconos personalizables.

Clases diseñadas para potenciar la capacidad de síntesis Con Piktochart puedes introducir a tus alumnos de Secundaria en el mundo del diseño gráfico y despertar en ellos la capacidad de síntesis. Te ofrecemos varias maneras de hacerlo: ❖ Prepara unas cuantas ideas o apuntes sobre alguno de los temas que impartas en clase y pide a los alumnos que elaboren con ellos una infografía que los muestre de manera visual.

8


❖ Organiza un concurso en clase para ver quién desarrolla la mejor infografía. ❖ Crea grupos en clase que actúen como “miniestudios” de diseño. De este modo, compartirán ideas a la hora de elaborar la infografía entre todos y promoverás así el trabajo en equipo. ❖ Pide a los alumnos que elaboren una infografía a partir de recortes de prensa, para motivar su capacidad de análisis y enfrentarse a escenarios de trabajo reales.

Utilidades didácticas Crear diseños de gran calidad para presentaciones como murales, presentaciones personales etc. Utilizar infografías para resumir lo aprendido en clase de forma visual. Permite adquirir la perspectiva global del asunto que se esté tratando. Aprender a organizar contenido visual en un espacio reducido.

Receta Lo primero que debemos hacer para comenzar a utilizar Piktochart es registrarnos haciendo click en ‘sign up’. Rellenamos nuestros datos o entramos a través de una cuenta de Facebook o Google. En la siguiente pantalla se nos muestran los cuatro proyectos que podemos realizar: o Infographic: Infografía. Utilizadas para transmitir información clara y rápida. o Report: Informe. Son utilizados para mostrar los resultados de un evento, experimento, o algo que ha transcurrido en un periodo de tiempo concreto. o Banner: Cartel. Su trabajo es transmitir información que llame la atención. o Presentation: Infografías destinadas a presentar un tema para una audiencia, con la ayuda de diapositivas y transiciones. Cuando hayamos seleccionado que tipo de proyecto queremos, nos toca escoger una plantilla base que puede ser prediseñada o totalmente en blanco. Para comenzar desde cero, haremos click en ‘create’. En la siguiente pantalla aparecerá nuestra infografía en el editor. Las herramientas básicas con las que podremos trabajar son: ✓ Graphics: Gráficos (no confundir con gráficas). Aquí es donde se encuentran formas básicas, iconos o fotografías de stock. ✓ Upload: Para importar imágenes desde nuestro equipo. ✓ Background: Fondo. Podemos elegir un color sólido o con textura. ✓ Text: Agregar texto. ✓ Tools: Herramientas. Para agregar gráficas, estadísticas, mapas del mundo o insertar videos desde un link público de Vimeo o Youtube. Mientras trabajamos en el proyecto podemos ir haciendo click en ‘save’ para guardar los cambios. Una vez hayamos terminado podemos ir a ‘download’ para descargarla a nuestro equipo. Piktochart es un innovador editor de infografía que le permitirá el

9


diseño de la presentación que va a poner en Powerpoint y otra tradicional presentación de los creadores de la vergüenza. Por eligiendo ricamente diseñados temas de la plantilla y añadir hermosos gráficos, su presentación será de repente se convierten en tema de conversación de sus compañeros de trabajo, clientes y amigos. Piktochart ofrece a sus usuarios un poderoso editor que puede ser usado por el equipo de novatos y profesionales, las herramientas que se pueden aprender en poco tiempo, muchos profesionales y temas, y el entorno de trabajo que de inmediato le permiten expresarse y construir las fantásticas infografías, presentaciones. Todo Piktochart ofrece puede acceder de forma gratuita, pero si tu trabajo requiere la creación de gran cantidad de infografía, el pago niveles puede dar acceso a mucho más profesional temas, control total sobre los temas de color, tipo de letra interruptores, elementos de diseño y grandes espacios de almacenamiento de hasta 100 de sus presentaciones.

Piktochart Características: Crear Innovadoras Infografía Tienen gráficos contar una historia a partir de su información. Infografías son una gran manera de contar las historias de los datos. Con una lite set de herramientas de diseño profesional, Piktochart le ayuda a crear presentaciones para involucrar a su audiencia de la red. Combinar temas, formas, iconos, vectores, texto, imágenes subidas gráfico exportador (8 tipos de visualizaciones) para crear la historia que quieres. Exportar tu trabajo exportar Fácilmente las presentaciones de imágenes para incluir en tus presentaciones o página web/facebook, etc. Se está trabajando para ser el primer motor de búsqueda de amistad infografía de la herramienta. Es personalizable Piktochart temas han sido diseñados para personalizables de uso. Cada uno de los temas que se apela a un tema de nicho, pero aseguró que se puede ser generalizado. Piktochart con el objetivo de filtrar por la Educación, Ventas/Marketing, Personal, etc.

Prezi Link: https://prezi.com/es/ Video de referencia: https://www.youtube.com/watch?v=t_G9pO5wKSc

10


Figura 4 Pagina de inicio de Prezi.

¿Qué es Prezi? Prezi es una aplicación de presentaciones en línea y una herramienta narrativa que usa un solo lienzo en vez de diapositivas tradicionales y separadas. Los textos, imágenes, videos u otros objetos de presentación son puestos en un lienzo infinito y presentados ordenadamente en marco presentables. El lienzo permite a los usuarios crear una presentación no lineal, donde pueden usar zoom en un mapa visual. Se puede definir un camino a través de los objetos y marcos, logrando un orden deseado por el usuario. La presentación final se puede desarrollar en una ventana del navegador, también permitiendo una presentación fuera de línea con sólo descargar el archivo. Prezi se puede usar en línea o se puede descargar para trabajarse sin conexión a internet. Para realizar la descarga y poder utilizarlo en un equipo local se debe tener una de las membrecías que ofrece Prezi llamadas, Prezi Pro y Prezi Edu pro, esta última es para quienes tengan correo electrónico de una institución educativa con dominio .edu, las membrecías tienen un costo anual fijo. Prezi es una aplicación de origen húngaro. Su creador, Ádám Somlai-Fischer, es un arquitecto que llevaba trabajando con presentaciones de zoom desde 2001. Entonces no existía ningún editor de ese tipo, así que debía codificar cada presentación a mano. En 2007 el profesor Péter Halácsy, de la Universidad de Tecnología y Economía de Budapest, le convenció para desarrollar un programa de presentaciones de zoom que pudiese utilizar cualquier persona. Después de crear el prototipo, reclutaron al

11


empresario Peter Arvai como director general para que les ayudara a constituir la empresa y vender su producto. Prezi se puso en marcha en 2009 con oficinas en Budapest (Hungría) y San Francisco (Estados Unidos), apoyado por el fondo de capital riesgo Sunstone Capital.3 Actualmente cuentan con financiación de otro fondo de inversión, Spectrum Equity.2

Requerimientos del sistema ✓ Computador con acceso a internet, con mínimo 1 GB de memoria RAM. Un navegador. El sitio web de Prezi puede ser visualizado por la mayoría de los navegadores como: Internet Explorer 7 o superior, Firefox 3 o superior, Chrome, Safari y Opera. ✓ 6Adobe Flash Player 10. ✓ Sistemas operativos: Windows XP, Windows Vista, ✓ Windows 7, Mac OS. Prezi se diferencia de otras aplicaciones de presentaciones, por el impacto que causa en la audiencia. Con el zoom y los efectos que nos ofrece, no hay duda de que, al momento de presentar tus ideas, tu público quedará totalmente impactado. La aplicación nos ofrece varios tipos de licencias y modos de utilizarla. Puedes utilizarla online, ingresando a Prezi.com, así como también ejecutar la aplicación desde tu ordenador, para ello deberás instalar Prezi Desktop. Existen varios tipos de licencias que puedes utilizar, desde las licencias Public que son totalmente gratuitas, hasta la licencia Pro, que nos ofrece prestaciones muy interesantes. Si bien en el pasado, algunas personas han argumentado que los efectos de zoom pueden causar mareos en ciertas circunstancias, no creemos que tendrás mayor problema con ello utilizando el efecto zoom sin exageraciones. Prezi nos ofrece soporte y tutoriales en español, y aquí en Mi Prezi, podrás encontrar todo lo que necesitas para convertirte en un experto en Prezi. Prezi permite que cualquier persona que diagrame una idea sobre una simple servilleta, pueda crear y realizar presentaciones espectaculares no lineares con conexiones entre diferentes presentaciones, zoom en los detalles, y un ajuste del tiempo sin la necesidad de omitir diapositivas

Principales ventajas: o Permite crear y editar presentación en línea y sólo se necesita que la computadora que use tenga acceso a Internet. o Es de fácil y rápido uso. o Permite crear presentaciones con efectos visuales (movimientos de cámara), e insertar material multimedia (fotos, videos, audios) y colores atractivos. Prezi es un servicio (no un software) para el diseño de presentaciones con un resultado final sumamente dinámico, atractivo y muy alejado de lo tradicional. La

12


gran diferencia es que no utiliza diapositivas, sino un gran lienzo virtual donde podemos integrar imágenes, textos y videos. El resultado es que en lugar de pasar páginas, iremos sobrevolando la información a través del zoom, giros y desplazamientos, obteniendo así un estilo más dinámico en comparación con las diapositivas convencionales. Para trabajar con Prezi es necesario disponer de un equipo con una memoria mínima de 1GB, Adobe Flash Player 9 o superior y un ratón con rueda (el touchpad de las laptops sirve, pero hace un poco complicada la visualización final).

¿Cómo acceder a Prezi? La plataforma Prezi se encuentra disponible en http://www.prezi.com. Para acceder es necesario darse de alta en alguna de las licencias disponibles: libre o de pago. La licencia gratuita es la PUBLIC y ofrece: o Crear presentaciones en línea y editarlas en cualquier momento. o Mostrar y compartir las presentaciones en la plataforma. o Descargar nuestro trabajo final y guardarlo en cualquier unidad de nuestro equipo. o 100 MB de espacio disponible. Estos son algunos pasos sencillos para empezar a crear tu presentación con Prezi: 1. Dale un nombre y una descripción a tu presentación 2. Hacer doble clic donde quieras y agrega el texto 3. Hacer zoom para desarrollar las ideas, puedes alrededor de un texto agregar más palabras en diferentes tamaños 4. Redimensiona y acomoda tamaños y ubicaciones 5. Agrega las imágenes 6. Crea la línea de tiempo 7. Estas listo para mostrar tu presentación (en las redes sociales comparte el enlace o envíalo por e-mail) Al parecer este sistema tiene muchas ventajas, pero también debemos tener en cuenta algunas de las desventajas que puede presentar, como la posibilidad de que tu público se enfoque en los efectos y en la innovación de las dispositivas preguntándose como hacer esto en Power Point y se olviden de ti, el alma y centro de la presentación. Es importante no excedernos con las animaciones, imágenes y textos, porque la presentación debe ser un apoyo para el tema, no el tema. Además, es importante tener en cuenta que por ser una aplicación Web no es posible usarla si no contamos con una conexión a Internet, a menos que hayas pagado por el plan que te permite descargar la aplicación para tu escritorio. Esto puede ser una desventaja si no cuentas con este servicio y por otro lado si no tienes cuenta de correo electrónico no podrás registrarte para usar Prezi.

13


Visme Link: https://www.visme.co/ Video de referencia: https://www.youtube.com/watch?v=PYlrzoq2QpE

Figura 5 Página de inicio de Visme

Es una aplicación online para crear presentaciones profesionales, infografías, animaciones, demostraciones de productos, banners publicitarios, etc. Es una alternativa a Microsoft PowerPoint y a Apple Keynote, pero a la vez permite realizar sin mayores conocimientos, con una intuitiva interfaz y con plantillas para no iniciar desde cero, obras gráficas que sólo alguien con un buen manejo de Adobe Photoshop e Illustrator podría conseguir. Por todo esto es que se le conoce como la “navaja suiza” para las necesidades en contenidos visuales, más aún si se tienen en cuenta las posibilidades que le brinda su naturaleza en la nube (mayor espacio, disponibilidad en cualquier lugar mediante cualquier navegador actual, incrustación en sitios web, etc.) y el estar construida en HTML5 y no en Flash, lo que le permite verse bien tanto en la web como en dispositivos móviles.

Características Características para su versión gratuita

14


➢ Miles de elementos predeterminados para agregar al instante. ➢ 100 MB de almacenamiento gratuito. ➢ Elementos interactivos como los de las infografías que cambian según los valores numéricos ingresados. ➢ Inserción de elementos externos mediante fuentes como YouTube y Vimeo. ➢ Modificación de contenidos a través del siempre útil arrastrar y soltar. ➢ Interfaz con diseño plano, minimalista, con líneas guía y ayuda instantánea en cada sección. ➢ Modo para insertar texto animado y con disposiciones predeterminadas por columnas. ➢ Animación de elementos por separado con una timeline avanzada en la parte superior. ➢ Panel de slides a la derecha y barra de inserción de contenidos a la izquierda. ➢ Acceso a millones de imágenes gratuitas (propias o mediante Flickr) e íconos en formato vectorial. ➢ Exportación de contenido a formato de imágenes JPG. ➢ Publicación instantánea en la web (compatible con móviles) mediante SlideShare, un sitio web o blog propio a través de la incrustación, o usando el enlace generado a un espacio de visualización en Visme. ➢ Compartición de los resultados en las redes sociales con un clic o simplemente descargándolos.

Características adicionales en su versión Premium ▪ ▪ ▪ ▪

Más elementos disponibles, especialmente contenido para infografías Exportación de los resultados a HTML -claro, HTML5- y PDF Mayor almacenamiento y con menor límite en el número de proyectos Proyectos públicos y privados

Cómo funciona Visme Después de crear una cuenta aparecerá una pequeña ventana para darle título a un “Nuevo proyecto”. El tipo de proyecto se decide enseguida en una pantalla con los disponibles: Custom (personalizado), Presentation, Banner Ads (banners publicitarios), Infographics (infografías) y Product Demo.

Tipos de proyectos Custom: Para iniciar en un lienzo “en blanco”, entre comillas ya que se puede partir de un fondo con colores fijos, degradados, un fractal, una foto o una textura. Desde allí es posible crear animaciones personalizadas. Presentation: Para crear presentaciones a lo PowerPoint sólo que con más contenido multimedia de alta calidad en una omnipotente barra lateral que permite insertarlos con un par de clics o arrastrando y soltando, eso y 7 plantillas

15


profesionales para escoger. En el lado opuesto está el botón Slides que permite gestionar las diapositivas. Banner Ads: Para crear banners publicitarios animados o sin movimiento. Por supuesto, también hay múltiples plantillas para los formatos más conocidos en este tipo de anuncios: 728×90, 468×60, 336×280, 125×125 y 120×600, entre otros. Igualmente se puede partir de un tamaño personalizado. Infographics: Quizá el apartado más “explotable” de Visme por las facilidades que brinda para crear infografías en una interfaz muy familiar, con reglas guía, cientos de elementos para escoger (algunos interactivos), temas predeterminados, fondos a un clic y montones de funciones para compartir los resultados.

Panel principal (Dashboard) La próxima vez que se acceda a Visme aparecerá el panel principal que alberga un par de pestañas My websites y Visme. En Visme se mostrarán todos los proyectos previamente realizados y listos para previsualizar, editar o eliminar. Igualmente, en la parte superior derecha, se mostrarán un par de enlaces de gran utilidad: Examples, con ejemplos realizados por la comunidad, y Tutorials, para visitar un completo espacio de ayuda con guías en video, tutoriales, preguntas resueltas y soporte técnico.

Cómo crear una cuenta Visme se puede usar de forma completa en su versión gratuita la cual admite el registro con apenas un nombre y un email, ni siquiera hace falta confirmar el email, o ingresar una contraseña, aunque esta última sí se genera aleatoriamente y es enviada al email para un futuro acceso. También es posible darle uso iniciando a través de una cuenta de Facebook. Sin embargo, para acceder a las características extra antes mencionadas, se puede optar por los planes premium que inician en US$ 4.50 por mes.

Instapage: Link: https://instapage.com/ Video de referencia: https://www.youtube.com/watch?v=Xwq1UR2XQHg

16


Figura 6 Pagina de inicio de Instapage.

Instapage es una de las herramientas que más tiempo llevo usando y a la que mejor rendimiento he sacado. Mientras que hay empresas esperando días a que su agencia les prepare una landing page, con esta pequeña maravilla la harás tú solo, en 5 minutos, y con un resultado profesional. Y todo ello sin saber nada de programación. Al igual que otras herramientas de su estilo, Instapage te proporciona una manera fácil y rápida de crear tus landing page en cuestión de minutos con un aspecto profesional y sin necesidad de saber de programación. Otro de los primeros beneficios de esta herramienta de marketing es que no tienes que instalar nada, funciona en la nube, no necesitas tener hosting para hacerla funcionar. Tu aliado para conseguir suscriptores Una landing page o página de aterrizaje es una página optimizada para conseguir leads o suscriptores. Todo en ella está diseñado para que el usuario nos deje sus datos de contacto, bien para enviarle nuestra newsletter semanal, ofrecerle un curso o para avisarle de ofertas y promociones de nuestra tienda online. Instapage te ofrece varias docenas de plantillas, ya probadas y orientadas a un fin concreto: • • • • • • •

Obtención de leads Promoción de Webinars Promoción de una APP para móviles Página de agradecimiento Características de la aplicación Editor drag and drop Más de 70 plantillas

17


• • •

Integraciones con Google Analytics, Mailchimp, AWeber, WordPress, etc. Test A/B y multivariable Publicación en subdominio de Instapage (no necesitas hosting)

¿Para qué puedes usar Instapage? ✓ Crea una landing page antes de lanzar tu proyecto para que los interesados dejen su e-mail y puedas informarles del lanzamiento. ✓ Ofrece un eBook gratuito a tus visitantes a cambio de suscribirse en tu blog. ✓ Ofrece una promoción o descuento a los visitantes que dejen su e-mail. ✓ Si vendes servicios, consigue el teléfono de potenciales clientes y a cambio ofréceles algo de valor como un informe o un libro blanco sobre el sector. ✓ Crea una página de venta donde no haya distracciones para vender un curso o un libro. Sí, también puedes integrarle sin problemas un botón de Paypal a Instapage.

Lo mejor de Instapage Es muy fácil de usar, las plantillas te lo dan todo hecho, y un sencillo sistema de drag and drop te facilita la tarea de añadir nuevos elementos a la página. El resultado que puedes obtener con la herramienta es muy profesional, y el precio, muy ajustado. Se integra con los principales programas de e-mail marketing.

Lo peor de Instapage Sin duda lo peor es que no haya más gente que la conozca y le saque partido. Los grandes maestros del marketing como Neil Patel o Noah Kagan saben que el uso de landing pages es uno de los secretos de su éxito porque mientras otros dejan que sus visitas se pierdan, ellos las canalizan a landing pages y se quedan con sus correos para poder establecer una relación duradera.

El precio Puedes darte de alta y crear un landing page gratis. Si quieres crear más páginas y acceder a otras funcionalidades como las páginas adaptadas a móviles, un mayor número de visitas mensuales, etc. tienes un plan desde 29$/mes (25€/mes). Teniendo en cuenta que consigo 50 suscriptores diarios gracias a Instapage, me parece un buen trato

18


Rawshorts Link: https://www.rawshorts.com/ Video de referencia: https://www.youtube.com/watch?v=xWwEkiMHnMg

Figura 7 Pagina de inicio de Rawshorts

RawShorts es una aplicación o herramienta muy similar en su estructura a PowToon. Debes registrarte usando tus datos personales o iniciando sesión con tu cuenta de Google+. Después de iniciar sesión te saldrá un listado de varias categorías o plantillas en las que te puedes basar para comenzar la edición del vídeo. Algunas de las categorías en las que se dividen las plantillas son: Negocios, viajes, salud, construcciones, carros, mascotas y muchas otras. Después de seleccionar tu plantilla, solo debes colocar un nombre y una descripción a la animación que estás por empezar y lanzar después el constructor de vídeos. Hay dos opciones para poder crear las presentaciones, desde una plantilla o desde un lienzo en blanco. La ventaja de utilizar plantillas en raw shorts, es que ya están creadas y sólo necesitas cambiar algunos textos para tener una presentación en minutos. En raw shorts encontrarás alrededor de 100 plantillas listas para tus proyectos. Si eliges la opción de lienzo en blanco, podrás dar rienda suelta a tu creatividad y hacer tu propio diseño. Para ello tienes una gran cantidad de opciones, desde íconos, texto, personajes y fondos animados. Con respecto a la relación de aspecto, raw shorts soporta 16:9, 9:16 y 1:1, en otras palabras, puedes crear videos horizontales, verticales y con aspecto cuadrado. Aunque considera que la opción vertical 9:16 y 1:1 sólo se encuentra disponible para las versiones de pago. Una vez terminada la creación del proyecto podrás

19


exportarlo a Youtube o descargarlo en formato mp4. Al igual que la relación de aspecto, la descarga en mp4 sólo está disponible para la versión de pago.

Costo de raw shorts En raw shorts hay tres opciones para hacer uso de la plataforma: ✓ Opción starter: Es gratuita con 100 MB de espacio para tus proyectos. Aunque sólo podrás hacer 5 exportaciones al mes, además de estar limitada a sólo 6 librerías, es decir no puedes utilizar todos los íconos y personajes que ofrece la plataforma. Esta opción es recomendable si lo que necesitas es una presentación sencilla con animación de textos. ✓ Opción Essential: Tiene costo de 39 usd mensuales con 10 GB de espacio, 25 exportaciones al mes y acceso a 25 librerías de raw shorts. En donde se incluyen las los principales íconos y personajes animados. ✓ Opción Business: De 59 dólares mensuales e incluye 100 GB de espacio y acceso a 50 librerías y 50 exportaciones al mes. La opción que vale la pena considerar es la essential ya que podrás hacer uso de funciones animadas que en la versión gratuita están bloqueadas. Las presentaciones en RawShorts son muy interesantes si nuestro deseo es crear presentaciones con animaciones, ya que esta herramienta online permite crear vídeos. Entre los muchos de los programas para hacer presentaciones, RawShorts destaca por su facilidad de crear animaciones, ya que como veremos a continuación, las plantillas para crear las diapositivas pueden ser imágenes o vídeos. Uno de los inconvenientes de las presentaciones con RawShorts, es que con la versión gratuita no podemos utilizar al 100% la herramienta, ya que algunas opciones, como por ejemplo la utilización de algunas plantillas, las tendremos bloqueadas. Además, en la versión gratuita tampoco podremos descargarnos las presentaciones, pero sí publicarlas en Youtube. Para utilizar la versión de pago existen varias opciones, una de ellas es obtener una licencia, a partir de unos 40 € al mes la más barata, o directamente pagar por cada exportación.

¿Cómo hacer presentaciones en RawShorts? Usar RawShorts para hacer presentaciones es bastante fácil debido a la sencillez de su interfaz. Además, su funcionamiento es similar al de PowerPoint, por eso si alguna vez has creado alguna presentación en PowerPoint puede que te resulte

20


especialmente fácil utilizar RawShorts. Herramienta para crear presentaciones RawShorts Para crear una presentación en RawShorts primero debemos registrarnos. En este caso no debemos descargarnos ningún programa, sino que bastará con que entremos en el sitio oficial de la herramienta. El registro que puede resultar muy rápido si decidimos hacerlo con Google+, aunque también podemos hacerlo de la manera habitual, proporcionando algunos de nuestros datos. Una vez estemos registrados en la herramienta, y nos dispongamos a hacer nuestra primera presentación RawShorts, veremos que en la parte izquierda tenemos una serie de plantillas de diapositivas para ayudarnos a crear la presentación. Además, las plantillas de RawShorts pueden ser tanto de imágenes como de vídeos. En la parte superior tendremos un menú de edición, y en la parte inferior los botones de reproducción, con los que podremos ir viendo la presentación a medida que la vayamos creando.

Mindmeister Link: https://www.mindmeister.com/es Video de referencia: https://www.youtube.com/watch?v=KjgprJzTupk

Figura 8 Pagina de inicio de Mindmeister

MindMeister es una herramienta para generar mapas mentales en línea que te permite capturar, desarrollar y compartir ideas de forma visual. Ya son más de 7 millones de personas las que usan nuestro galardonado editor de mapas mentales para generar lluvias de ideas, tomar notas, planear proyectos y realizar muchas

21


otras tareas creativas. MindMeister está basado totalmente en web, ¡lo que quiere decir que no necesitas descargar ni actualizar nada! Independientemente de si trabajas con Windows, Mac OS o Linux, siempre podrás acceder a tus mapas mentales desde tu propio navegador web. El recurso que describimos en esta publicación es MindMeister, un software para elaborar mapas mentales, que son diagramas que utilizan palabras o ideas enlazadas entre sí y presentadas alrededor de una idea o palabra clave, sin ofrecer necesariamente un tipo de relación y estructura jerárquica entre dichas ideas o palabras, como lo hace un mapa conceptual. MindMeister es un software, que ofrece varias versiones. La básica gratuita permite la elaboración de tres mapas mentales exportables como PDF o imagen; las otras versiones (Premium y Empresarial) tienen costo y permiten otras funciones. Presenta características que lo hacen interesante y con posibilidades educativas, como: el uso de imágenes y recursos de un menú que contiene iconos, notas, hipervínculos, archivos adjuntos. La interfaz es sencilla, la seguridad es alta, está en español y se puede usar desde tecnología móvil. Este software permite el trabajo en colaboración con personas a quienes el autor del mapa define y ofrece un determinado tipo de acceso. Dicho trabajo puede darse en tiempo real. En la página de MindMeister puedes ver gran cantidad de mapas creados por otras personas. Por ejemplo, puedes acceder a este mapa, que ofrece una panorámica de las herramientas digitales que puedes utilizar para el trabajo en colaboración. Algunas aplicaciones educativas que podemos implementar con este software pueden ser actividades en las que el estudiante, de forma individual o con otros, organice información de una manera gráfica y creativa que presente conexiones, pues al elaborar un mapa mental, produce y asocia ideas en una estructura espontánea, libre y abierta que puede crecer de forma continua, respondiendo a los intereses del propio autor (o autores) del mapa. Puede favorecer el desarrollo de la atención, la comprensión y la evaluación de las propias ideas. Se puede usar en trabajos grupales como: lluvia de ideas, planeación de proyectos, preparación de los procesos para un evento, búsqueda de soluciones a un problema y listas de tareas, entre otras situaciones de aprendizaje. MindMeister es un software, creado por la compañía alemana MeisterLabs. En las versiones Premium y Empresarial se tiene la posibilidad de adjuntarles archivos, de crearlos sin estar en línea, de usar un chat integrado y temas personalizables, como inicio de sesión con marca o dominio.

22


BibliografĂ­a Growth Hacking Labs. (17 de Enero de 2015). Obtenido de http://growthhackinglabs.com/instapage-herramienta-leads/ Just another WordPress.com site. (18 de Enero de 2011). Recurso Sindical . Obtenido de https://recursosindical.wordpress.com/2011/01/18/%C2%BFque-es-prezi-%C2%BFparaque-sirve/ Mindmeister. (s.f.). Obtenido de https://www.mindmeister.com/es modelopresetacion.com. (s.f.). Obtenido de https://www.modelopresentacion.com/presentaciones-en-rawshorts Muro, F. (1 de Mayo de 2016). La libertad de momo. Obtenido de https://lalibertademomo.es/canva/ Otiz, J. (8 de Enero de 2018). Javier Ortiz. Recuperado el https://javierortiz.mx/herramientasvideo/raw-shorts-presentaciones-animadas/ Team, P. (12 de Diciembre de 2015). Filehorse. TSP, P. (2015 de Septiembre de 2015). Gobierno de Canarias. Wwwhats new . (28 de Mayo de 2014). Obtenido de https://wwwhatsnew.com/2014/05/28/visme-herramienta-para-crear-gratispresentaciones-infografias-banners-y-mas/

23


Universidad de Guanajuato

Divisiรณn de Ciencias Econรณmico Administrativas

Lic. Relaciones Industriales

UDA: Sistemas de informaciรณn para RH

Actividad no. 3 Alumna: Veronica Murillo Lona, Dulce Patricia Ponce Salazar y Veronica Lรณpez Durรกn

Maestro: Alfaro Cuellar Ricardo

Fecha: 17 de abril del 2018


ÍNDICE Contenido Telecomunicaciones y Redes ................................................................................................. 1 Tipos de información............................................................................................................ 1 Concepto de red y telecomunicaciones ........................................................................... 5 Telefonía ................................................................................................................................. 7 Transmisión digital ............................................................................................................... 9 Digitalización........................................................................................................................ 16 Conmutación de circuitos ................................................................................................. 17 Sistemas de transmisión ................................................................................................... 18 Redes de datos y protocolos ............................................................................................ 22 Red Digital de Servicios Integrados-RDSI ...................................................................... 23 Sistema Concurrentes........................................................................................................ 23 Redes y servicios inteligentes .......................................................................................... 24 Redes de telecomunicaciones Móviles ........................................................................... 25 Señalización CCITT ............................................................................................................. 28 Comunicación de banda ancha y redes multiservicios ............................................... 30 Modo de transferencia Asíncrono-ATM .......................................................................... 31 Tendencias Actuales en los sistemas de información .................................................... 32 Procesos de Negocio ......................................................................................................... 32 BPM- Business Process Management ............................................................................ 33 Workflow ............................................................................................................................... 33 Arquitectura de Servicios .................................................................................................. 34 Business Process ............................................................................................................... 36 Web Services ....................................................................................................................... 37 Ciber seguridad ................................................................................................................... 39 Inteligencia artificial- Al. .................................................................................................... 42 Realidad Virtual y aumentada ........................................................................................... 42 Criptomonedas .................................................................................................................... 43 Internet de las cosas-loT ................................................................................................... 43 Comercio Electrónico............................................................................................................. 44 Definición y Antecedentes ................................................................................................ 44


El comercio Electrónico en México ................................................................................. 45 Clases de Comercio Electrónico:..................................................................................... 45 

Comercio Electrónico B2C ........................................................................................ 46

Bibliografía ............................................................................................................................... 52

ÍNDICE DE FIGURAS Figura 1 Información privilegiada .................................................................................................. 1 Figura 2 Información privada......................................................................................................... 2 Figura 3 Información externa ........................................................................................................ 2 Figura 4 Información pública ......................................................................................................... 3 Figura 5 Información semántica .................................................................................................... 3 Figura 6 Información selectiva ....................................................................................................... 4 Figura 7 Información interna ......................................................................................................... 4 Figura 8 Información directa ......................................................................................................... 5 Figura 9 Conmutación digital ......................................................................................................... 6 Figura 10 Codificación ................................................................................................................... 9 Figura 11 Codificación NRZ .......................................................................................................... 10 Figura 12 Codificación NRZI ......................................................................................................... 10 Figura 13 Codificación Manchester.............................................................................................. 11 Figura 14 Codificación retrasada .................................................................................................. 11 Figura 15 Codificación bipolar ..................................................................................................... 12 Figura 16 Línea de entrada y de salida ......................................................................................... 17 Figura 17 Conmutadores espaciales de tres etapas ..................................................................... 18 Figura 18 Par Trenzado................................................................................................................ 19 Figura 19 Cable coaxial ................................................................................................................ 19 Figura 20 Fibra óptica .................................................................................................................. 20 Figura 21 Bobina de Transmisión y Bobina de Recepción ............................................................. 21 Figura 22 Tecnología de primera generación ............................................................................... 26 Figura 23 Tecnología segunda generación ................................................................................... 26 Figura 24 Tecnología tercera generación ..................................................................................... 27 Figura 25 Tecnología de cuarta generación.................................................................................. 27 Figura 26 Señalización en abonado y la central ............................................................................ 28 Figura 27 Señalización entre centrales......................................................................................... 29 Figura 28 Mapa mental Telecomunicaciones y Redes ................................................................... 31 Figura 29 Workflow ..................................................................................................................... 34 Figura 30 Arquitectura de tres capas ........................................................................................... 35 Figura 31 Electronic Data ............................................................................................................ 44 Figura 32 Presentación Prezi Telecomunicaciones y Redes .......................................................... 48 Figura 33 Presentación Prezi, Red................................................................................................ 49 Figura 34 Presentación Prezi Telecomunicaciones ....................................................................... 49 Figura 35 Presentación Prezi Tendencias actuales en sistemas de Información ............................ 50 Figura 36 Presentación Prezi Comercio Electrónico ..................................................................... 50


Figura 37 Presentación Prezi definición comercio electrónico...................................................... 51 Figura 38 Presentación Prezi tipos de comercio electónico .......................................................... 51

ÍNDICE DE TABLAS Tabla 1 Tabla 2 Tabla 3 Tabla 4

Código Morse.................................................................................................................. 13 ASCII Estándar ................................................................................................................. 14 ASCII Extendida ............................................................................................................... 15 Código EBCDIC ................................................................................................................ 16


Telecomunicaciones y Redes Tipos de información Información privilegiada Se trata de un tipo de información que aún no se ha hecho pública y que hace referencia sea a uno o a diversos emisores de valores. Esta información si se hace pública puede llegar a afectar la cotización de dichos valores. De acuerdo a la Error! Not a valid bookmark self-reference.

Información de carácter concreto que se refiere a uno o varios emisores de valores o a los mismos valores, que no se haya hecho pública y que de hacerse pública podría influir de manera apreciable sobre la cotización de esos valores. Las personas que actúan o se relacionan con el mercado de valores tienen el deber de salvaguardar dicha información sea por su profesión o cargo, tienen prohibido compartir la información con terceros no legitimados.

Figura 1 Información privilegiada

Información privada Es el tipo de información donde se prohíbe estrictamente su publicación al público en general, ya que su contenido puede llegar a afectar la intimidad de las personas. Es una información que la ley no permite divulgar ya que afecta la intimidad personal, la seguridad nacional, o simplemente es excluida por la ley. Por ejemplo, los datos de carácter personal que existen en registros o bancos de datos adquiridos por organismos públicos o privados. Son datos personales que sólo pueden ser divulgados con consentimiento del titular. De acuerdo a la Figura 2 Información privada

1


Figura 2 Información privada

Información externa Se trata de la información que después de ser creada por ciertas vías externas es que llega a entrar en la organización o en la empresa. Está en ocasiones se mantiene circulando hasta que llega a ser aprovechada por la entidad a la hora de resolver algunas problemáticas empresarial. Es la información que entra en una empresa u organización, generada por diferentes vías externas, algunas veces solamente circulando en el medio en la espera de ser aprovechada por alguna entidad que sepa aprovecharla para la solución de problemas empresariales, esta información debe ser seleccionada ya que no siempre sirve para todas las empresas de un mismo sector o para todas sus dependencias ni en todo momentos, para esto debe ser estudiada antes de ser adquirida. De acuerdo a la Figura 3 Información externa

Figura 3 Información externa

Información pública Se trata del tipo de información que se da a conocer al público en general, y que toda persona tiene derecho a ella. Esta se lleva a cabo bajo las leyes de la libertad de expresión, donde las personas pueden dar a conocer sus pensamientos y sus críticas de una forma abierta sea oral o escrita. Este tipo de información puede ser solicitada por cualquier persona, sin embargo suele tener un costo o suele darse a conocer solo por un tiempo determinado. Ejemplo de este tipo de información refiere a los informes del estado.

2


Es la información que toda persona tiene derecho a manifestar por medio de la libertad de expresión y difusión de pensamiento oral o escrito, por cualquier medio de comunicación, sin previa autorización, sin censura o impedimento, siguiendo los reglamentos de la ley. De acuerdo a la Figura 4 Información pública

Figura 4 Información pública

Información semántica Es el tipo de información que emplea medio de informaciones sean falsas o verdaderas a la hora de transmitirse. De acuerdo a la Figura 5 Información semántica

Figura 5 Información semántica

3


Información selectiva Es el tipo de información que solo puede ser transmitida a través de símbolos no semánticos. Puede transmitirse por símbolos no semánticos, es decir aquellos símbolos que no están relacionados con los aspectos del significado sentido o interpretación de algún elemento. Sólo puede transmitirse por medio de afirmaciones verdaderas o falsas. De acuerdo a la Figura 6 Información selectiva

Figura 6 Información selectiva

Información interna Se refiere a toda la información que tiende a circular de forma interna por una organización o una determinada empresa. Es la que proporciona los datos que se buscan de forma inmediata, sin necesidad de recurrir a otra fuente. En esta se busca enviar un determinado mensaje con el fin de crear cierta coordinación en los departamentos que posee la organización, donde se permite la difusión, la introducción y la aceptación de ciertas pautas que dan paso al desarrollo de la organización. Es la información que circula al interior de una empresa u organización. Busca llevar un mensaje para mantener la coordinación entre los distintos departamentos, permite la introducción, difusión y aceptación de pautas para el desarrollo organizacional. Los trabajadores necesitan estar informados para sentirse parte activa de la organización. Esta información es útil para tomar decisiones. De acuerdo a la Figura 7

Información interna

Figura 7 Información interna

4


Información indirecta Esta suele mostrarse luego de realizar una revisión a las sugerencias de ciertos documentos que posee una determinada información, que luego de detectarla puede ser ideal para resolver determinados problemas de la empresa. No es proporcionada directamente por una fuente sino que se encuentra después de revisar las sugerencias de los documentos idóneos de contenerla. Información directa Se trata de toda información que llega a dar a conocer determinada información que son buscados de una manera inmediata, y sin tener necesidad alguna de recurrir a otro tipo de fuente. De acuerdo a la Figura 8 Información directa

Figura 8 Información directa

Concepto de red y telecomunicaciones RED Una Red es justamente un sistema de comunicación que se da entre distintos equipos para poder realizar una comunicación eficiente, rápida y precisa, para la transmisión de datos de un ordenador a otro, realizando entonces un Intercambio de Información (recordando que una Información es un conjunto ordenado de Datos) y compartiendo también Recursos disponibles en el equipo. La red tiene que estar conformada indefectiblemente por un Terminal (el punto de partida de la comunicación) o un Nodo que permita la conexión, y esencialmente el Medio de Transmisión, que es definido esencialmente por la conexión que es llevada a cabo entre dichos equipos. Esta conexión puede ser realizada en forma directa, utilizando Cables de todo tipo, o bien mediante Ondas Electromagnéticas, presentes en las tecnologías inalámbricas, que requieren un adaptador específico para esta comunicación, que puede ser incluido en el equipo o conectado al equipo.

5


TELECOMUNICACIONES El concepto de telecomunicación abarca todas las formas de comunicación a distancia. La palabra incluye el prefijo griego tele, que significa “distancia” o “lejos”. Por lo tanto, la telecomunicación es una técnica que consiste en la transmisión de un mensaje desde un punto hacia otro, usualmente con la característica adicional de ser bidireccional. La telefonía, la radio, la televisión y la transmisión de datos a través de computadoras son parte del sector de las telecomunicaciones. Dentro del ámbito de las telecomunicaciones es importante que se conozca la importancia de la variedad del material físico que se utiliza en las mismas. De él, de su calidad y de sus prestaciones, depende el éxito del proceso y en este sentido ello conlleva a que sea necesario el estudio de una serie de pautas y criterios para apostar por el material más adecuado.

Conmutación analógica y digital Conmutación analógica Cuando hablamos de conmutación analógica, nos referimos a la conmutación de circuitos, es decir a la conexión que realizan los diferentes nodos de una red para lograr un camino apropiado para conectar dos usuarios de una red y por tanto es la interconexión de teléfonos fijos a través del par de cobre que transporta los datos o la voz. Conmutación digital Cuando hablamos de conmutación digital, nos referimos a la conmutación de paquetes, que es un método de envío de datos en una red de computadoras. Cuando nosotros enviamos una información a otro equipo de nuestra red, los datos se dividen y van por caminos diferentes, pero antes de llegar al receptor, recuperan su estado original. De acuerdo a la Figura 9 Conmutación digital

Figura 9 Conmutación digital

6


Telefonía Teléfono, instrumento de comunicación, diseñado para la transmisión de voz y demás sonidos hasta lugares remotos mediante la electricidad, así como para su reproducción. El teléfono contiene un micrófono (transmisor) que recibe el impacto de ondas de sonido. El micrófono transforma las vibraciones en impulsos eléctricos. La corriente eléctrica así generada se transmite a distancia. Un altavoz (receptor) vuelve a convertir la señal eléctrica en sonido. En el lenguaje coloquial, la palabra “teléfono” también designa todo el sistema al que va conectado un aparato de teléfono. Un sistema que permite enviar no sólo voz, sino también datos, imágenes o cualquier otro tipo de información que pueda codificarse y convertirse en señal sonora. Esta información viaja entre los distintos puntos conectados a la red. La red telefónica se compone de todas las vías de transmisión entre los equipos de los abonados y de los elementos de conmutación que sirven para seleccionar una determinada ruta o grupo de ellas entre dos abonados. Centrales Telefónicas En los primeros teléfonos, la corriente estaba generada por una batería. El circuito local tenía, además de la batería y el transmisor, un arrollamiento de transformador, que recibe el nombre de bobina de inducción; el otro arrollamiento, conectado a la línea, elevaba el voltaje de la onda sonora. Las conexiones entre teléfonos eran de tipo manual, a cargo de operadores que trabajaban en centralitas ubicadas en las oficinas centrales de conmutación o centralitas. A medida que se fueron desarrollando los sistemas telefónicos, las conexiones manuales empezaron a resultar demasiado lentas y laboriosas. Esto fue el detonante para la construcción de una serie de dispositivos mecánicos y electrónicos que permitiesen las conexiones automáticas. En la actualidad, ya no existen prácticamente teléfonos atendidos por centralitas manuales. Todos los abonados son atendidos por centrales automáticas. En este tipo de central, las funciones de los operadores humanos las realizan los equipos de conmutación. Un relé de corriente de línea de un circuito sustituyó al cuadro de conexión manual de luz de la centralita, y un conmutador de cruce hace las funciones de los cables. Los equipos electrónicos de la central de conmutación se encargan de traducir automáticamente el número marcado, sea por sistema de pulsos o de tonos, y de dirigir la llamada a su destino. Vías de Transmisión Los primeros sistemas telefónicos utilizaban cables de acero o de cobre para transmitir la señal eléctrica. Sin embargo, a medida que el volumen de llamadas y la distancia entre las centrales de conmutación creció, fue necesario utilizar otras vías de transmisión.

7


Telefonía por onda portadora Utilizando frecuencias superiores al rango de voz, que va desde los 4.000 hasta varios millones de ciclos por segundo, o hercios, se pueden transmitir simultáneamente hasta 13.200 llamadas telefónicas por una misma conducción (cable coaxial, cable submarino, microondas…). Las técnicas de telefonía por onda portadora también se utilizan para enviar mensajes telefónicos a través de las líneas normales de distribución sin interferir con el servicio ordinario. Debido al crecimiento de tamaño y complejidad de los sistemas, se utilizan amplificadores de estado sólido, denominados repetidores, para amplificar la señal a intervalos regulares. Cable coaxial El cable coaxial, que apareció en 1936, utiliza una serie de conductores para soportar un gran número de circuitos. El cable coaxial moderno está fabricado con tubos de cobre de 0,95 cm de diámetro. Cada uno de ellos lleva, justo en el centro del tubo, un hilo fino de cobre sujeto con discos plásticos aislantes separados entre sí unos 2,5 cm. El tubo y el hilo tienen el mismo centro, es decir, son coaxiales. Los tubos de cobre protegen la señal transmitida de posibles interferencias eléctricas y evitan pérdidas de energía por radiación. Un cable, compuesto por 22 tubos coaxiales dispuestos en anillos encastrados en polietileno y plomo, puede transportar simultáneamente 132.000 conversaciones telefónicas. Cables submarinos El servicio telefonía transoceánica se implantó comercialmente en 1927 utilizando transmisión por radio. Sin embargo, el problema de la amplificación frenó el tendido de cables telefónicos hasta 1956, año en que entró en servicio el primer cable telefónico submarino transoceánico del mundo, que conectaba Terranova y Escocia utilizando cables coaxiales. Telefonía por microondas En este método de transmisión, las ondas de radio que se hallan en la banda de frecuencias muy altas, y que se denominan microondas, se utilizan como portadoras de señales telefónicas y se transmiten de estación a estación. Dado que la transmisión de microondas exige un camino expedito entre estación emisora y receptora, la distancia media entre estaciones repetidoras es de unos 40 km. Un canal de microondas puede transmitir hasta 600conversaciones telefónicas. Telefonía por satélite En 1969 se completó la primera red telefónica global en base a una serie de satélites en órbitas estacionarias a una distancia de la Tierra de 35.880 km. Estos satélites van alimentados por células de energía solar. Las llamadas transmitidas desde una antena terrestre se amplifican en el satélite y se retransmiten a estaciones terrestres lejanas. La integración de los satélites y los equipos terrestres permite dirigir llamadas entre diferentes continentes con la misma facilidad que entre lugares muy próximos.

8


Fibras ópticas Uno de los grandes avances en las comunicaciones ha sido el uso de señales digitales. En telefonía, la señal se digitaliza al llegar a la central de conmutación. La comunicación entre centrales telefónicas es digital, con lo que se reduce el ruido y la distorsión y se mejora la calidad y la capacidad. Los cables coaxiales se están sustituyendo progresivamente por fibras ópticas de vidrio. Los mensajes se codifican digitalmente en impulsos de luz que se transmiten a grandes distancias. Un cable de fibra puede tener hasta 50 pares de fibras, y cada par soporta hasta 4.000 circuitos de voz. El fundamento de la nueva tecnología de fibras ópticas es el láser que aprovecha la región visible del espectro electromagnético, donde las frecuencias son miles de veces superiores a las de la radio y, por consiguiente, pueden transportar un volumen mucho mayor de información. El diodo emisor de luz (LED), un dispositivo más sencillo, también se utiliza pues resulta adecuado para la mayoría de las funciones de transmisión.

Transmisión digital Datos y sistemas binarios de codificación La transmisión digital consiste en el envío de información a través de medios de comunicaciones físicos en forma de señales digitales. Por lo tanto, las señales analógicas deben ser digitalizadas antes de ser transmitidas. Sin embargo, como la información digital no puede ser enviada en forma de 0 y 1, debe ser codificada en la forma de una señal con dos estados, por ejemplo, dos niveles de voltaje con respecto a la conexión a tierra, la diferencia de voltaje entre dos cables, la presencia/ausencia de corriente en un cable, la presencia/ausencia de luz, etc. Esta transformación de información binaria en una señal con dos estados se realiza a través de un DCE, también conocido como decodificador de la banda base, es el origen del nombre transmisión de la banda base que designa a la transmisión digital. De acuerdo a la Figura 10 Codificación

Figura 10 Codificación

9


Para optimizar la transmisión, la señal debe ser codificada de manera de facilitar su transmisión en un medio físico. Existen varios sistemas de codificación para este propósito, los cuales se pueden dividir en dos categorías: la codificación de dos niveles, donde la señal solo puede tomar un valor estrictamente negativo o estrictamente positivo (-X o +X, donde X representa el valor de la cantidad física utilizada para transportar la señal) y la codificación de tres niveles, donde la señal solo puede tomar un valor estrictamente negativo, nulo o estrictamente positivo (-X, 0 o +X). Codificación NRZ La codificación NRZ (No Return to Zero, Sin retorno a cero), es el primer sistema de codificación y también el más simple. Consiste en la transformación de 0 en -X y de 1 en +X, lo que resulta en una codificación bipolar en la que la señal nunca es nula. Como resultado, el receptor puede determinar si la señal está presente o no. De acuerdo a la Figura 11 Codificación NRZ

Figura 11 Codificación NRZ

Codificación NRZI La codificación NRZI es significativamente diferente de la codificación NRZ. Con este tipo de codificación, cuando el valor del bit es 1, la señal cambia de estado luego de que el reloj lo indica. Cuando el valor del bit es 0, la señal no cambia de estado. De acuerdo a la Figura 12 Codificación NRZI

Figura 12 Codificación NRZI

10


La codificación NRZI posee numerosas ventajas que incluyen la detección de una señal o la ausencia de la misma y la necesidad de una corriente de transmisión de baja señal. Sin embargo, esto presenta un problema: la presencia de una corriente continua durante una secuencia de ceros, que perturba la sincronización entre el transmisor y el receptor. Codificación Manchester La codificación Manchester, también denominada codificación de dos fases o PE (Phase Encode, Codificación de fase), introduce una transición en medio de cada intervalo. De hecho, esto equivale a producir una señal OR exclusiva (XOR) con la señal del reloj, que se traduce en un límite ascendente cuando el valor del bit es cero y en un límite descendente en el caso opuesto. De acuerdo a la Figura 13 Codificación Manchester

Figura 13 Codificación Manchester

La codificación Manchester posee numerosas ventajas. El hecho de no tomar un valor nulo permite al receptor detectar una señal, así como un espectro que ocupa una banda ancha. Codificación retrasada (de Miller) La codificación retrasada, también conocida como Codificación Miller, es similar a la codificación Manchester, excepto que ocurre una transición en el medio de un intervalo solo cuando el bit es 1, lo que permite mayores índices de datos. De acuerdo a la Figura 14 Codificación retrasada

Figura 14 Codificación retrasada

11


Codificación bipolar La codificación bipolar es una codificación de tres niveles. Por lo tanto utiliza tres estados de la cantidad transportada en el medio físico: el valor 0, cuando el valor del bit es 0, y alternativamente X y -X cuando el valor del bit es 1. De acuerdo a la Figura 15 Codificación bipolar

Figura 15 Codificación bipolar

Código Morse El Código Morse es un medio de comunicación basado en la transmisión y recepción de mensajes empleando sonidos o rayos de luz y un alfabeto alfanumérico compuesto por puntos y rayas. Aunque este código surgió en el siglo 19, su empleo es perfectamente utilizable hoy en día cuando la existencia de condiciones atmosféricas adversas no permite el empleo de otros medios más desarrollados como, por ejemplo, la transmisión de la voz. Además de las transmisiones de mensajes que se realizan empleando sistemas eléctricos o electrónicos, el código Morse permite utilizar también otros medios más sencillos. Uno de ellos consiste en utilizar una fuente de luz intermitente, mientras que el otro se basa en producir sonidos empleando cualquier dispositivo que permita reproducir los puntos y las rayas. Un ejemplo del uso práctico de esos diversos métodos lo tenemos principalmente en los barcos, que en determinados casos pueden llegar a emplear cuales quiera de las posibilidades que se han mencionado.

De acuerdo a la Tabla 1 Código Morse

12


Tabla 1 Código Morse

Código ASCII American Standard Code for Information Interchange es el código estándar americano para el intercambio de información, que define los caracteres que se utilizan en el ordenador. Como existen múltiples plataformas hardware en el mercado e infinidad de sistemas operativos se han ajustado los códigos utilizados por el ordenador atendiendo a estas razones y al idioma de los usuarios. Es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. El código ASCII o US-ASCII fue creado en 1963 para transferir información entre equipos eléctricos. ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. De acuerdo a la Tabla 2 ASCII Estándar En la actualidad define códigos para 32 caracteres no imprimibles, de los cuales la mayoría son caracteres de control que tienen efecto sobre cómo se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio) y 128 extendidos. Se propusieron que cada carácter ocupara 1 byte (8bits) y así se pueden definir 2^8 =256 caracteres. Los cuales se almacenan en la ROM (Read Only Memory) del ordenador. Del 0 al 127 son caracteres ASCII definidos por los americanos: Del 0 al 31 son caracteres no imprimibles, códigos de control. Del 32 al 127 son caracteres normales.Del 128 al 255 son caracteres ASCII ampliados y cambian según el idioma, el hardware y el sistema operativo. Incluyen aparte de vocales acentuadas la ñ, ç, ¿ y todos aquellos símbolos que no son utilizados cotidianamente por los ingleses. A estos se les denomina caracteres ANSI(American National Standards Institute). De acuerdo a la Tabla 3 ASCII Extendida

13


Tabla 2 ASCII Estรกndar

14


Tabla 3 ASCII Extendida

15


Código EBCDIC El código de intercambio decimal código binario extendido (EBCDIC) es un código alfanumérico de 8-bits que ha sido ampliamente utilizado por IBM en sus aplicaciones de computadoras centrales. De acuerdo a la Tabla 4 Código EBCDIC.

Tabla 4 Código EBCDIC

Digitalización La Digitalización es el proceso mediante el cual un mensaje se convierte en una sucesión de impulsos eléctricos, equivalente a dígitos combinados (código binario), el 0 o el 1 (en realidad es una serie de apagado y prendido de impulso combinados). Estos dígitos son los llamados bits. De esta forma, todo mensaje que es susceptible de transformarse en señal eléctrica y ser codificado digitalmente puede almacenarse en soporte informático o transmitirse como tren de impulsos por una red adecuada (hilo telefónico, microondas, fibra óptica, cable coaxial, etc.) El código digital o binario es la base del tratamiento informático y de la tecnología de la información en su estado actual. La digitalización supone un cambio radical en el tratamiento de la información. Permite su almacenamiento en grandes cantidades en objetos de tamaño reducido o, lo que es más revolucionario, liberarla de los propios objetos y de sus características materiales y hacerla residir en espacios no topológicos (el 'ciberespacio' o la 'infosfera') como las redes informáticas, accesibles desde cualquier lugar del mundo en tiempo real. También podemos reproducirla sin merma de calidad de modo indefinido, enviarla instantáneamente a cualquier lugar de la Tierra y manipularla en modos que nuestros antepasados ni siquiera soñaron. La digitalización de la información está cambiando el soporte primordial del saber y el conocimiento y con ello cambiará nuestros hábitos y costumbres en relación al conocimiento y la comunicación y, a la postre, nuestras formas de pensar.

16


Conmutación de circuitos Características La conexión se establece antes de la transferencia de información. Red es transparente al usuario (como si hubiese conexión directa A-B). Inconveniente: se asigna un camino dedicado y exclusivo. En datos no se utiliza durante el 100% del tiempo poco eficiente. Idóneo para sistemas de transmisión de voz:  Señal analógica, en los orígenes de esta tecnología.  Retardo pequeño y constante durante la transferencia de información.  Velocidad constante de transmisión en full-dúplex  Se transfiere información en torno al 100% del tiempo de conexión. Redes bloqueantes Redes bloqueantes y no bloqueantes: Bloqueantes: se produce bloqueo cuando no existe camino libre entre dos estaciones (redes de transmisión de voz). No bloqueantes: permiten que todas las estaciones se conecten simultáneamente por parejas y atiende todas las solicitudes siempre que el destino no esté ocupado (redes de datos). Cuasi-no bloqueantes: con probabilidad de bloqueo cercana a cero. Conmutadores espaciales monoetapa Cada estación se conecta a una línea de entrada y otra de salida. De acuerdo a la Figura 16 Línea de entrada y de salida

Figura 16 Línea de entrada y de salida

Características N2 puntos de cruce Para cada pareja existe un único camino Máximo de N puntos activos a cada instante sobre N 2 existentes.

17


Conmutadores espaciales de 3 etapas Reducción de puntos de cruce Para cada pareja existe más de un camino posible Mayor utilización de puntos de cruce. Mayor complejidad: en una etapa basta habilitar una puerta; en varias etapas hay que determinar un camino libre y habilitar las puertas correspondientes. Conmutador de varias etapas puede ser bloqueante. Para convertirlo a no bloqueante ⇒ aumentar número o tamaño de etapas intermedias ⇒ mayor coste y complejidad. De acuerdo a la Figura 17 Conmutadores espaciales de tres etapas

Figura 17 Conmutadores espaciales de tres etapas

Sistemas de transmisión Transmisión por cables El cable es el medio más utilizado para formar una red (aunque cada día prolifera más las conexiones inalámbricas). Los tres factores que se deben tener en cuenta a la hora de elegir un cable para una red son: Velocidad de transmisión que se quiere conseguir. Distancia máxima entre ordenadores que se van a conectar. Nivel de ruido e interferencias habituales en la zona que se va a instalar la red. Los cables más utilizados son el par trenzado, el cable coaxial, y la fibra óptica.

18


Par trenzado Vienen en cables de 4 pares trenzados con colores estándares: De acuerdo a la Figura 18 Par Trenzado Par 1 Blanco/Azul Azul Par 2 Blanco/Naranja Naranja Par 3 Blanco/Verde Verde Par 4 Blanco/Marrón Marrón Figura 18 Par Trenzado

Se trata de dos hilos de cobre aislados y trenzados entre sí, y en la mayoría de los casos cubiertos por una malla protectora. Los hilos están trenzados para reducir las interferencias electromagnéticas con respecto a los pares cercanos que se encuentran a su alrededor (dos pares paralelos constituyen una antena simple, en tanto que un par trenzado no). Se pueden utilizar tanto para transmisión analógica como digital, y su ancho de banda depende de la sección de cobre utilizado y de la distancia que tenga que recorrer. Se trata del cableado más económico y la mayoría del cableado telefónico es de este tipo. Presenta una velocidad de transmisión que depende del tipo de cable de par trenzado que se esté utilizando. Cable coaxial Dos clases: De banda base: (0,94mm. velocidad: 10-80 mgbits/seg.) De banda ancha (50-100 canales tv 9.2-50 Kbits/seg) Consiste en un núcleo de cobre rodeado por una capa aislante. A su vez, esta capa está rodeada por una malla metálica que ayuda a bloquear las interferencias; este conjunto de cables está envuelto en una capa protectora. Tiene mejor blindaje que el par trenzado y puede alcanzar tramos más largos y velocidades mayores. El conductor exterior (blindaje) aísla al conductor central de las señales de interferencia externas Le pueden afectar las interferencias externas, por lo que ha de estar apantallado para reducirlas. Emite señales que pueden detectarse fuera de la red. Es utilizado generalmente para señales de televisión y para transmisiones de datos a alta velocidad a distancias de varios kilómetros. La velocidad de transmisión suele ser alta, de hasta 100 Mbits/seg y distancias hasta 180 metros; pero hay que tener en cuenta que, a mayor velocidad de transmisión, menor distancia podemos cubrir, ya que el periodo de la señal es menor, y por tanto se atenúa antes. Los conectores constituyen la parte más débil de una red de este tipo. De acuerdo a la Figura 19 Cable coaxial

Figura 19 Cable coaxial

19


Fibra óptica Una fibra óptica es un medio de transmisión de la luz que consiste básicamente en dos cilindros coaxiales de vidrios transparentes y de diámetros muy pequeños. El cilindro interior se denomina núcleo y el exterior se denomina envoltura, siendo el índice de refracción del núcleo algo mayor que el de la envoltura. En la superficie de separación entre el núcleo y la envoltura se produce el fenómeno de reflexión total de la luz, al pasar éste de un medio a otro que tiene un índice de refracción más pequeño. Como consecuencia de esta estructura óptica todos los rayos de luz que se reflejan totalmente en dicha superficie se transmiten guiados a lo largo del núcleo de la fibra. Este conjunto está envuelto por una capa protectora. La velocidad de transmisión es muy alta, siendo en algunas instalaciones especiales de hasta 500 Mb/seg, y no resulta afectado por interferencias. De acuerdo a la Figura 20 Fibra óptica

Figura 20 Fibra óptica

Los cables de fibra óptica tienen muchas aplicaciones en el campo de las comunicaciones de datos: Conexiones locales entre ordenadores y periféricos o equipos de control y medición. Interconexión de ordenadores y terminales mediante enlaces dedicados de fibra óptica. Enlaces de fibra óptica de larga distancia y gran capacidad. Los cables de fibra óptica ofrecen muchas ventajas respecto de los cables eléctricos para transmitir datos. El medio de transmisión es óptico en vez de eléctrico (eliminándose así el problema de interferencia eléctrica). La mayor desventaja es que no se puede "pinchar" fácilmente este cable para conectar un nuevo nodo a la red. Las transmisiones de la señal a grandes distancias se encuentran sujetas a atenuación, que consiste en una pérdida de amplitud o intensidad de la señal, lo que limita la longitud del cable. Los segmentos pueden ser de hasta 2000 metros. Transmisión Inalámbrica Transmisión inalámbrica de Energía ¿Qué es? La transmisión de energía inalámbrica se inventó hace más 100 años y consiste en la distribución de energía sin utilizar un soporte material (cables) para ello.

20


Nikola Tesla, gran inventor pobremente reconocido, la desarrolló, inventó y patentó en 1891, el circuito de bobina que lleva su nombre. Variaciones en el flujo del campo magnético permiten transportar la electricidad sin ningún medio.

¿Cómo funciona? Una de las formas más sencillas de transmitir energía de un sitio a otro es mediante el acoplamiento inductivo estándar, utilizado por teléfonos, alfombrillas de carga y cepillos eléctricos. Al conectar el equipo a una corriente eléctrica se genera en la bobina de transmisión un campo magnético que pasa a través de la otra bobina situada en el equipo al que queremos transmitir la corriente de forma inalámbrica. De acuerdo a la Figura 21 Bobina de Transmisión y Bobina de Recepción

Figura 21 Bobina de Transmisión y Bobina de Recepción

La bobina de recepción convierte el campo magnético en corriente eléctrica. Esta forma de acoplamiento inductivo se utiliza de forma eficaz en fuentes de energía de baja frecuencia. Logra alto rendimiento con baja potencia. Otra forma sencilla de transmitir la energía es la inducción resonante, utilizada en televisores y portátiles. En el emisor la energía oscila entre un campo eléctrico en el capacitor y el campo magnético en la bobina. La resonancia se utiliza para aumentar la distancia a la que podemos transmitir la energía en forma de electricidad siendo eficientes. Es posible para distancias de 2 – 3 metros. Utiliza igualmente dos bobinas que resuenan a la misma frecuencia. La electricidad se transmite entre dos bobinas resonantes. Transmisión radiofrecuencia

Se le conoce a la tecnología que usa ondas aéreas electromagnéticas para comunicar información desde un punto a otro; son portadoras de radio porque desempeñan la función de entregar energía al receptor. Los datos que se transmiten son sobrepuestos sobre la señal de radio para que pueda extraer de manera precisa por el receptor.

21


Sistema de transferencia de datos bidireccionales que emplea ondas de radio de frecuencia modulada como medio de transmisión y recepción de datos desde la combinación terminal de datos portátil/lector hasta en de identificación basado en un microchip para trasmitir y recibir datos. Estas ondas de radio frecuencia forman parte de un espectro electromagnético no perceptibles por el ser humano, ondas que vibran a una única frecuencia que se expresa en ciclos o Hertz. Ellas vibran entre 902 a 928 Mhz (Megahertz) hasta un rango de 2,4 a 2,483 Ghz (Gigahertz).

Redes de datos y protocolos Dentro de las redes informáticas se conoce bajo el nombre de protocolo al lenguaje, que es un conjunto de reglas formales, que permiten la comunicación de distintas computadoras entre sí. Dentro de las distintas redes, como Internet, existen numerosos tipos de protocolos, entre ellos: TPC/IP: este es definido como el conjunto de protocolos básicos para la comunicación de redes y es por medio de él que se logra la transmisión de información entre computadoras pertenecientes a una red. Gracias al protocolo TCP/IP los distintos ordenadores de una red se logran comunicar con otros diferentes y así enlazar a las redes físicamente independientes en la red virtual conocida bajo el nombre de Internet. Este protocolo es el que provee la base para los servicios más utilizados como por ejemplo transferencia de ficheros, correo electrónico y login remoto. TCP (Transmision Control Protocol): este es un protocolo orientado a las comunicaciones y ofrece una transmisión de datos confiable. El TCP es el encargado del ensamble de datos provenientes de las capas superiores hacia paquetes estándares, asegurándose que la transferencia de datos se realice correctamente. HTTP (Hypertext Transfer Protocol): este protocolo permite la recuperación de información y realizar búsquedas indexadas que permiten saltos intertextuales de manera eficiente. Por otro lado, permiten la transferencia de textos de los más variados formatos, no sólo HTML. El protocolo HTTP fue desarrollado para resolver los problemas surgidos del sistema hipermedial distribuidos en diversos puntos de la red. HTTP (Hypertext Transfer Protocol): este protocolo permite la recuperación de información y realizar búsquedas indexadas que permiten saltos intertextuales de manera eficiente. Por otro lado, permiten la transferencia de textos de los más variados formatos, no sólo HTML. El protocolo HTTP fue desarrollado para resolver los problemas surgidos del sistema hipermedial distribuidos en diversos puntos de la red. SSH (Secure Shell): este fue desarrollado con el fin de mejorar la seguridad en las comunicaciones de internet. Para lograr esto el SSH elimina el envío de aquellas contraseñas que no son cifradas y codificando toda la información transferida.

22


UDP (User Datagram Protocol): el protocolo de datagrama de usuario está destinado a aquellas comunicaciones que se realizan sin conexión y que no cuentan con mecanismos para transmitir datagramas. Esto se contrapone con el TCP que está destinado a comunicaciones con conexión. Este protocolo puede resultar poco confiable excepto si las aplicaciones utilizadas cuentan con verificación de confiabilidad. SNMP (Simple Network Management Protocol): este usa el Protocolo de Datagrama del Usuario (PDU) como mecanismo para el transporte. Por otro lado, utiliza distintos términos de TCP/IP como agentes y administradores en lugar de servidores y clientes. El administrador se comunica por medio de la red, mientras que el agente aporta la información sobre un determinado dispositivo. TFTP (Trivial File Transfer Protocol): este protocolo de transferencia se caracteriza por sencillez y falta de complicaciones. No cuenta con seguridad alguna y también utiliza el Protocolo de Datagrama del Usuario como mecanismo de transporte. SMTP (Simple Mail Transfer Protocol): este protocolo está compuesto por una serie de reglas que rige la transferencia y el formato de datos en los envíos de correos electrónicos. SMTP suele ser muy utilizado por clientes locales de correo que necesiten recibir mensajes de e-mail almacenados en un servidor cuya ubicación sea remota. ARP (Address Resolution Protocol): por medio de este protocolo se logran aquellas tareas que buscan asociar a un dispositivo IP, el cual está identificado con una dirección IP, con un dispositivo de red, que cuenta con una dirección de red física. ARP es muy usado para los dispositivos de redes locales Ethernet. Por otro lado, existe el protocolo RARP y este cumple la función opuesta a la recién mencionada.

Red Digital de Servicios Integrados-RDSI Es aquella red que facilita conexiones digitales extremo a extremo para proporcionar una amplia gama de servicios y a la que los usuarios acceden a través de un conjunto de interfaces normalizadas.

Sistema Concurrentes Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro. Los Sistemas Concurrentes necesitan de métodos y técnicas que faciliten la coordinación de los procesos durante la ejecución de los programas, así como el intercambio seguro de datos, asignación de memoria y planificación de la ejecución de tareas que garantice el tiempo de respuesta en aquellas aplicaciones con requisitos temporales.

23


La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de procesos o hilos de ejecución, creados por un único programa. Las tareas se pueden ejecutar en una sola unidad central de proceso (multiprogramación), en varios procesadores o en una red de computadores distribuidos. La programación concurrente está relacionada con la programación paralela, pero enfatiza más la interacción entre tareas. Así, la correcta secuencia de interacciones o comunicaciones entre los procesos y el acceso coordinado de recursos que se comparten por todos los procesos o tareas son las claves de esta disciplina. La computación paralela es una técnica de programación en la que muchas instrucciones se ejecutan simultáneamente. Se basa en el principio de que los problemas grandes se pueden dividir en partes más pequeñas que pueden resolverse de forma concurrente ("en paralelo"). Existen varios tipos de computación paralela: paralelismo a nivel de bit, paralelismo a nivel de instrucción, paralelismo de datos y paralelismo de tareas. Los ordenadores paralelos se pueden clasificar según el nivel de paralelismo que admite su hardware: los ordenadores multinúcleo y multiproceso tienen varios elementos de procesamiento en una sola máquina, mientras que los clústeres, los MPP y los grids emplean varios ordenadores para trabajar en la misma tarea.

Redes y servicios inteligentes Desde algunos ámbitos del sector se ha venido a nombrar como Internet Inteligente a la inminente llegada de una renovada Internet desde el punto de vista tanto de las infraestructuras, como de los contenidos y servicios. Así para Justo Montero, director de Marketing y Estrategia de Nortel Networks, la Internet Inteligente conllevará más seguridad, agilidad, eficacia y un mayor rendimiento en la oferta de aplicaciones de la Red, al mismo tiempo que ayudará a reducir el gasto tecnológico y acelerará la entrega de nuevos e innovadores servicios. Por otra parte, Alejandro Fuster, jefe de marketing y preventa de KPNQwest, no reconoce el término de Internet Inteligente como un estándar establecido, definiéndolo como un término comercial que trata de transmitir las mejoras de rendimiento, seguridad y eficacia, al igual que las revisiones tecnológicas de la nueva generación de Internet. Jordi Palet, CEO/CTO de Consulintel, quien considera que IPv6 contiene inteligentemente todos aquellos parches que hemos ido agregando con el tiempo a IPv4 (la versión actual), de manera que la inteligencia más que en la red está en el protocolo, cuyo diseño ha conseguido hacerlo más robusto y extremadamente escalable. En ese caso, resultaría necesario redefinir las arquitecturas de red tradicionales, especialmente las encargadas del acceso, para permitir que nuevos equipos con procesamiento asistido por hardware puedan desplegar todo su potencial y así eliminar los cuellos de botella de la red.

24


La migración hacía IPv6 también favorecerá el logro de estos objetivos, a pesar de que se trata de un proceso lento, que implicará la coexistencia de ambos sistemas, por lo cual algunas actividades sólo serán posibles donde haya llegado IPv6, lo que significa que la tecnología ya existe y poco a poco la mayor parte de los sistemas operativos la van soportando. las aplicaciones basadas en redes IP VPN, según los responsables de Nortel, aseguran que esta modalidad proporciona a las empresas cliente una mayor flexibilidad al elegir su propio diseño de red, además de incrementar la utilización de los accesos telefónicos preexistentes como el RDSI o el ADSL, lo que se ampliaría con el servicio de VoIP que ofrecen ventajas como la tarifa plana. En lo que respecta a la implantación del protocolo IPv6, en Europa ahora mismo hay importantes iniciativas al respecto, y en 2002 se observará una evolución muy significativa, con un apoyo muy importante por parte de la Comisión Europea a proyectos de implantación a gran escala como Euro6IX.

Redes de telecomunicaciones Móviles La telefonía es el servicio más utilizado de los que ofrecen los sistemas de comunicaciones móviles. Todos los sistemas tienen la función de telefonía incorporada. Si bien la telefonía móvil empezó siendo analógica, en la actualidad todo el servicio es digital. Esta telefonía móvil digital, que también recibe la denominación de celular en algunos países, se basa en el concepto de celda o célula. La clasificación más comúnmente usada para referirse a los sistemas de comunicaciones móviles es la siguiente: Primera generación 1G o analógicos (AMPS, NTM, TACS...) Este primer estándar se identifica como telefonía analógica y dedicada exclusivamente a la voz. La tecnología predominante de esta generación fue denominada AMPS (Advanced Mobile Phone System) en Estados Unidos, convirtiéndose en el primer estándar de telefonía móvil. En Japón se implementaron múltiples sistemas; tres estándares, TZ-801, TZ-802, TZ-803, desarrollados por NTT, con un sistema de competencia operado por DDI usando el estándar JTACS. En Europa también teníamos diferentes versiones de telefonía 1G: NMT (Nordic Mobile Telephone): Dinamarca, Noruega, Holanda, etc; TACS (Total Access Communications System): Reino Unido y España; C450: Alemania Oriental, Portugal; Radiocom 2000: Francia; y RTMI: Italia. De acuerdo a la Figura 22 Tecnología de primera generación

25


Figura 22 Tecnología de primera generación

Segunda generación 2g o digitales (GSM). Las limitaciones del sistema de telefonía móvil de primera generación llevaron al desarrollo de un nuevo sistema (segunda generación) que se presentó a principios de la década de los 90. Este sistema se basó en introducir protocolos de telefonía digital que además de permitir más enlaces simultáneos en un mismo ancho de banda, permitían integrar otros servicios (que anteriormente eran independientes) en la misma señal, como es el caso del envío de mensajes de texto SMS (Short Message Service) y una mayor capacidad de envío de datos desde dispositivos de fax y módem. De acuerdo a la Figura 23 Tecnología segunda generación

Figura 23 Tecnología segunda generación

Tercera generación 3G (UMTS). Se caracteriza por juntar las tecnologías anteriores con las nuevas tecnologías incorporadas en los teléfonos celulares. Se inaugura la masificación de los teléfonos celulares. En estos años los teléfonos celulares se encuentran provista de un chip, tarjeta SIM, donde se encuentra ingresada toda la información. De acuerdo a la Figura 24 Tecnología tercera generación

26


Figura 24 Tecnología tercera generación

Cuarta generación 4G (LTE). Es la evolución tecnológica que ofrece al usuario de telefonía móvil un mayor ancho de banda, que permite entre muchas cosas, la recepción de televisión en alta definición. como por ejemplo el Nokia Morph. Hoy en día existe un sistema de este nivel operando con efectividad solo con algunas compañías de E.E.U.U; llamado LTE. De acuerdo a la Figura 25 Tecnología de cuarta generación

Figura 25 Tecnología de cuarta generación

Quinta generación 5G (sin estandarizar). Es la sucesora de la tecnología 4G. Actualmente se encuentra sin estandarizar y las empresas de telecomunicación están desarrollando sus prototipos. Está previsto su uso para 2020 aunque es de esperar un retraso en su despliegue, tal y como ha ocurrido con 4G. No obstante, la compañía Huawei ha anunciado que proveerá esta tecnología a una empresa de telecomunicaciones rusa de cara a (Guerrero, 2013)el mundial de futbol de 2018.

27


Señalización CCITT Señalización En el contexto telefónico, señalización significa el proceso de generación y manejo de información e instrucciones necesarias para el establecimiento de conexiones en los sistemas telefónicos. Estructura señalización Tradicionalmente, la señalización se ha dividido en dos tipos: Señalización de abonado, es decir, señalización entre un terminal de suscriptor (teléfono) y la central local, Señalización Inter centrales, es decir, señalización entre centrales. La señalización Inter centrales, se divide a su vez en:  Señalización asociada al Canal (SAC), señalización dentro del canal de voz (en banda) o en un canal estrechamente relacionado con el canal de voz.  Señalización por Canal Común (SCC), señalización en un canal separado totalmente de los canales de habla donde el canal de señalización es común para un gran número de estos. Señalización entre el abonado y la central De acuerdo a la Figura 26 abonado y la central

Figura 26 Señalización en abonado y la central

28

Señalización en


Señalización entre centrales

Figura 27 Señalización entre centrales

Señalización por canal común Punto de señalización. - Un punto de señalización (PS) es un nodo de conmutación o procesamiento en una red de señalización, con las funciones del SS CCITT No 7 implementadas. Puntos de señalización Adyacentes. - Aquellos conectados directamente por un conjunto de enlaces de señalización. Puntos de señalización no Adyacentes. - Los no conectados directamente por un conjunto de enlaces de señalización. Enlace de señalización. - El sistema de señalización por Canal Común usa enlaces de señalización (ES) para transportar los mensajes de señalización entre dos puntos de señalización. Red de Señalización. - Conjunto de enlaces de señalización y puntos de señalización. Funciones de Usuario. - Las funciones utilizadas por la red de señalización para la transmisión de los mensajes. Modo de señalización. - El término Modo de Señalización se refiere a la asociación entre el trayecto seguido por un mensaje de señalización y la trayectoria de voz (o el dato) a la que se refiere el mensaje.

29


Modo Asociado. - En el modo asociado de señalización, los mensajes referentes a una llamada siguen la misma trayectoria de voz entre dos puntos de señalización adyacentes. Modo Cuasi-asociado. - En el modo cuasi-asociado de señalización, los mensajes pertenecientes a una llamada son conducidos por dos o más conjuntos de enlaces en tandem pasando a través de uno o más puntos de señalización que son el origen y el destino de los mensajes.

Comunicación de banda ancha y redes multiservicios Definición de Banda Ancha En el contexto de las telecomunicaciones, el término banda ancha se refiere a la red (sin importar el tipo) que presenta una alta capacidad de traslado de información, que incurre en la rapidez de transmisión de esta. Se puede decir entonces que es el envió de datos simétricos por la cual se trasladan de forma paralela varias partes de la información, con la finalidad de aumentar la rapidez de transmisión real. La definición de banda ancha no es un concepto propiamente estático, ya que las velocidades de acceso a internet se incrementan continuamente. Dichas velocidades se encuentran medidas por bits por segundo, por ejemplo megabits por segundo (Mbit/s). Redes ADSL y satelital. Definición ADSL ADSL son las siglas de una tecnología descrita literalmente en castellano como “Línea de abonado digital asimétrica”, sus siglas provienen del nombre en inglés “Asymmetric Digital Subscriber Line”; este sistema posibilita la transferencia o emisión de todo tipo de información digital gozando de una velocidad banda ancha a través de las líneas telefónicas, prestando de esta manera una multiplicidad de servicios como por ejemplo uno de ellos es el servicio de Internet, es decir que gracias al ADSL los usuarios tienen la posibilidad de acceder a Internet sin tener que interceptar o interrumpir las llamadas telefónicas entrantes a una línea. Definición Red Satelital Una Red Satelital es el conjunto de antenas, equipos electrónicos y satélites que se interconectan y comunican entre sí para compartir información entre sitios distantes y a los cuales no se tiene acceso mediante la vía terrestre. Una red satelital realiza la transmisión de información utilizando radio frecuencias que se amplifican y envían a un determinado satélite el cuál las recibe, procesa, amplifica y retransmite hacia otras antenas terrestres, o bien de varias antenas hacia una antena central. Un Enlace Satelital es un canal por el cual serán enviadas y recibidas las señales transmitidas de la estación terrestre al satélite y de este a la estación terrestre.

30


Modo de transferencia Asíncrono-ATM EL acrónimo ATM son las siglas en inglés de Asynchronous Transfer Mode, cuyo significado en español se traduce como Modo de Transferencia Asíncrona. ATM es una tecnología de conmutación y multiplexado de alta velocidad, utilizado tanto para redes LAN y WAN, trasmite diferentes tipos de tráfico simultáneamente, incluyendo voz, video y datos. La clave para esta flexibilidad es una Capa de Adaptación ATM (AAL) que mapea varios protocolos superiores y servicios sobre la capa ATM. ATM utiliza multiplexación asíncrona por división de tiempo y codifica los datos en paquetes pequeños de tamaño fijo llamadas celdas. Una celda se procesa de forma asíncrona con respecto a otras células relacionadas y se pone en cola antes de ser multiplexados sobre la ruta de transmisión. La celda utilizada con ATM es relativamente pequeña en comparación con las unidades utilizadas con las tecnologías más antiguas. ATM se expresa a algunas veces por medio de niveles OC (Optical Carrier), escrito como “OC-xxx.” Los niveles de rendimiento más comunes para ATM de 155 Mbps (OC-3) y 622 Mbps (OC-12). ATM protege la red y los sistemas finales del congestionamiento, a fin de ofrecer un nivel de calidad de servicio especificada y garantizada (QoS). El tema telecomunicaciones y redes se sintetiza de acuerdo al mapa mental Figura 28 Mapa mental Telecomunicaciones y Redes

Figura 28 Mapa mental Telecomunicaciones y Redes

31


Tendencias Actuales en los sistemas de información Procesos de Negocio Un proceso de negocio es un conjunto de tareas relacionadas lógicamente llevadas a cabo para lograr un resultado de negocio definido. Cada proceso de negocio tiene sus entradas, funciones y salidas. Las entradas son requisitos que deben tenerse antes de que una función pueda ser aplicada. Cuando una función es aplicada a las entradas de un método, tendremos ciertas salidas resultantes. Es una colección de actividades estructurales relacionadas que producen un valor para la organización, sus inversores o sus clientes. Es, por ejemplo, el proceso a través del que una organización ofrece sus servicios a sus clientes. Un proceso de negocio puede ser parte de un proceso mayor que lo abarque o bien puede incluir otros procesos de negocio que deban ser incluidos en su función. En este contexto un proceso de negocio puede ser visto a varios niveles de granularidad. El enlace entre procesos de negocio y generación de valor lleva a algunos practicantes a ver los procesos de negocio como los flujos de trabajo que efectúan las tareas de una organización. Características Pueden ser medidos y están orientados al rendimiento Tienen resultados específicos Entregan resultados a clientes o “stakeholders” Responden a alguna acción o evento específico Las actividades deben agregar valor a las entradas del proceso. Business Intelligence Business Intelligence es la habilidad para transformar los datos en información, y la información en conocimiento, de forma que se pueda optimizar el proceso de toma de decisiones en los negocios. Conjunto de metodologías, aplicaciones y tecnologías que permiten reunir, depurar y transformar datos de los sistemas transaccionales e información desestructurada (interna y externa a la compañía) en información estructurada, para su explotación directa (reporting, análisis OLTP / OLAP, alertas...) o para su análisis y conversión en conocimiento, dando así soporte a la toma de decisiones sobre el negocio. Los principales productos de Business Intelligence que existen hoy en día son: Cuadros de Mando Integrales (CMI) Sistemas de Soporte a la Decisión (DSS) Sistemas de Información Ejecutiva (EIS)

32


BPM- Business Process Management Business Process Management (BPM) es una disciplina que implica cualquier combinación de modelado, automatización, ejecución, control, medición y optimización de flujos de actividad empresarial, en apoyo de objetivos empresariales, sistemas integrales, empleados, clientes y socios dentro y detrás de los límites de la empresa.

Workflow Workflow, como su nombre indica, es una aplicación de “flujos de trabajo”. Nos servirá para crear acciones o extensiones para hacer prácticamente de todo. Lo mejor de todo es que las acciones se pueden combinar entre ellas, lo que nos permitirá, por ejemplo, crear una imagen y luego compartirla en Twitter, todo ello sin salir de la “mini aplicación”. Además de los flujos de trabajo normales, podemos crear extensiones a las que “llamamos” desde el botón compartir ( ejemplo, para bajar vídeos de YouTube desde Safari.

). Por

Cómo funciona Workflow Workflow tiene como punto positivo que se pueden crear acciones muy simples y acciones con un nivel más avanzado. Como podéis ver en las imágenes de debajo de estas líneas, tenemos dos pestañas: “Actions” y “Workflow”. De acuerdo a la Figura 29 Workflow lo que tenemos que hacer es ir a la pestaña de “Actions” y arrastrarlas (manteniendo el dedo encima de una acción) a la pestaña de Workflow. Esto se explica la primera vez que abrimos la aplicación, en donde se nos obliga a crear una miniaplicación para crear GIFs animados a partir de varias fotos. En realidad, el funcionamiento general es sencillo, aunque se complica un poco si queremos hacer cosas algo más complejas. Pero lo bueno es que hay una comunidad de usuarios que crean Workflows todos los días y se publican en la web workflow-vcs.de.

33


Figura 29 Workflow

Arquitectura de Servicios La arquitectura orientada a servicios (SOA) es un estándar del sector de definición abierta que presenta todos los procesos de negocio de un modo orientado a servicios. Las dependencias entre servicios, tales como servicios web, activos de servicio EIS (Enterprise Information System), flujos de trabajo y bases de datos se minimizan y se oculta la implementación de cualquier servicio. El objetivo de la arquitectura orientada a servicios es separar la lógica de integración de negocio de la implementación, para que el desarrollador de integración pueda centrarse en ensamblar una aplicación integrada en lugar de hacerlo en los detalles de la implementación. Para lograrlo, se crean componentes de servicio que contienen la implementación de servicios individuales necesarios para los procesos de negocio. El resultado es una arquitectura de tres capas: lógica de integración de negocio, componentes de servicio e implementación, como se muestra en el diagrama siguiente: De acuerdo a la Figura 30 Arquitectura de tres capas

34


Figura 30 Arquitectura de tres capas

Servicios Web Los servicios web son aplicaciones autónomas modulares que se pueden describir, publicar, localizar e invocar a través de una red. El servidor de aplicaciones da soporte a los servicios web que se desarrollan e implementan de acuerdo con la especificación de servicios web para Java™ EE (Java Platform, Enterprise Edition). El servidor de aplicaciones da soporte a los modelos de programación JAX-WS (Java API for XML Web Services) y JAX-RPC (Java API for XML-based RPC). JAX-WS es un modelo de programación estratégico que simplifica el desarrollo de aplicaciones mediante el soporte de un modelo basado en anotaciones estándar para desarrollar clientes y aplicaciones de servicios web. Un escenario típico de servicios web es una aplicación de empresa que solicita un servicio de otra aplicación existente. La solicitud se procesa con una dirección web determinada, utilizando mensajes SOAP a través de un transporte HTTP, JMS (Java Message Service) o se invoca directamente como EJB (Enterprise JavaBeans). El servicio recibe la solicitud, la procesa y devuelve una respuesta. Ejemplos de un servicio web pueden ser los informes meteorológicos o la obtención de información bursátil. La llamada de método es síncrona, esto es, espera a que el resultado esté disponible.

35


Los servicios web de transacciones, que dan soporte a operaciones de cotizaciones, de empresa a empresa (B2B) o de empresa a cliente (B2C), son, por ejemplo, la reserva de vuelos aéreos y los pedidos de compra. Los servicios web pueden incluir el propio servicio o el cliente que accede al servicio. Los servicios web son aplicaciones web que permiten aumentar la flexibilidad de los procesos empresariales al integrarse con aplicaciones que de otra forma no se comunicarían. Los componentes clave de los servicios web son: Web Services Description Language (WSDL) WSDL es el archivo basado en XML que describe el servicio web. La solicitud de servicio web utiliza este archivo para enlazarse con el servicio. SOAP SOAP es el protocolo basado en XML que utiliza la solicitud de servicio web invocar el servicio. Protocolo UDDI (Universal Description, Discovery and Integration) UDDI es el registro que alberga el intermediario del servicio. UDDI es parecido a las páginas amarillas de teléfonos.

Business Process Es una colección de tareas vinculadas que encuentran su final en la entrega de un servicio o producto a un cliente. Un proceso de negocios también se ha definido como un conjunto de actividades y tareas que, una vez finalizado, lograrán un objetivo organizacional. El proceso debe involucrar entradas claramente definidas y una única salida. Estas entradas se componen de todos los factores que contribuyen (ya sea directa o indirectamente) al valor agregado de un servicio o producto. Estos factores se pueden categorizar en procesos de gestión, procesos operativos y procesos comerciales de soporte. Tipos de procesos empresariales o de negocios: Primarios o esenciales (Pacheco, 2017)  Los procesos más importantes.  El contacto directo con el cliente.  Entregan valor al cliente directamente.  A veces van más allá de los límites de la empresa.  Una visión completa de la cadena de valor. De soporte o apoyo  Formalmente establecidos.  Apoyan los procesos primarios.  Sin contacto con el cliente.  No entregan valor al cliente directamente.

36


Administrativos o de gestión  Formalmente establecidos.  Apoyan los procesos primarios.  Sin contacto con el cliente.  No entregan valor al cliente directamente. Procesos de negocio transaccionales En el mundo real, una transacción es la actividad que tiene lugar entre las partes implicadas en un proceso de negocio que trabajan para lograr el objetivo de negocio mayor. A veces se considera a todo el proceso de negocio como una sola transacción. En otras ocasiones, es la serie de transacciones menores que, al juntarse, crean un todo. Procesos de negocio interrumpibles Los procesos pueden ser interrumpibles al constar de más de una transacción y así están diseñados para detenerse periódicamente, o pueden ser no interrumpibles al ejecutarse sin detenerse. Cuando un proceso de negocio es interrumpible es de larga ejecución, y el proceso se detendrá en actividades específicas (donde se ha establecido un límite de fin de transacción) y no continuará hasta que se haya realizado una acción adecuada. Cuando se detiene un proceso, queda en espera. El usuario decide a qué espera. Por ejemplo, puede decidir que necesita instrucciones de un usuario antes de continuar, o puede decidir que no puede proceder hasta que tenga entrada específica de un interlocutor. Procesos de negocio asíncronos Como se ha descrito previamente, un interlocutor interactúa con un proceso de negocio con el fin de recibir un mensaje como respuesta a una petición. Cuando esta respuesta no llega de inmediato, se denomina proceso de negocio asíncrono. Por ejemplo, piense en un proceso síncrono como un teléfono, y en un proceso asíncrono como el servicio postal. Cuando tiene una conversación por teléfono, envía y recibe mensajes instantáneamente utilizando la misma conexión. Si tuviera que enviar el mismo mensaje en una carta utilizando el servicio postal, se entregaría de una manera y la respuesta se devolvería de otra.

Web Services El término Web Services describe una forma estandarizada de integrar aplicaciones WEB mediante el uso de XML, SOAP, WSDL y UDDI sobre los protocolos de la Internet. XML es usado para describir los datos, SOAP se ocupa para la transferencia de los datos, WSDL se emplea para describir los servicios disponibles y UDDI se ocupa para conocer cuáles son los servicios disponibles. Uno de los usos principales es permitir la comunicación entre las empresas y entre las empresas y sus clientes.

37


Los Web Services permiten a las organizaciones intercambiar datos sin necesidad de conocer los detalles de sus respectivos Sistemas de Información. (Mario Saffirio C., 2006) Tecnología Web Services Los Web Services están construidos con varias tecnologías que trabajan conjuntamente con los estándares que están emergiendo para asegurar la seguridad y operabilidad, de modo de hacer realidad que el uso combinado de varios Web Services, independiente de la o las empresas que los proveen, este garantizado. A continuación, se describen brevemente los estándares que están ocupando los Web Services. XML Abreviación de Extensible Markup Language. El XML es una especificación desarrollada por W3C. Permite a los desarrolladores crear sus propios tags, que les permiten habilitar definiciones, transmisiones, validaciones, e interpretación de los datos entre aplicaciones y entre organizaciones. SOAP ¿Abreviación de Simple Object Access Protocol, es un protocolo de mensajería construido en XML que se usa para codificar información de los requerimientos de los Web Services y para responder los mensajes “antes��? de enviarlos por la red. Los mensajes SOAP son independientes de los sistemas operativos y pueden ser transportados por los protocolos que funcionan en la Internet, como ser: SMTP, MIME y HTTP. WSDL Abreviación de Web Services Description Language, es un lenguaje especificado en XML que se ocupa para definir los Web Service como colecciones de punto de comunicación capaces de intercambiar mensajes. El WSDL es parte integral de UDDI y parte del registro global de XML, en otras palabras, es un estándar de uso público (no se requiere pagar licencias ni royalties para usarlo). UDDI Abreviación de Universal Description, Discovery and Integration. Es un directorio distribuido que opera en la Web que permite a las empresas publicar sus Web Services, para que otras empresas conozcan y utilicen los Web Services que publican, opera de manera análoga a las páginas amarillas.

38


Ciber seguridad ¿Qué es? Diseñado para ayudar en el reforzamiento del nivel de seguridad de las organizaciones ante las nuevas amenazas a través de aumentar la visibilidad externa e interna sobre ciberamenazas y ciberriesgos, así como contar con estrategias, servicios, arquitecturas tecnológicas y un ciberecosistema que permitan detectar y actuar oportunamente en caso de ciberataques. (Scitum, 2018) Beneficios

Reforzar el nivel de seguridad de su organización. Disponer de la experiencia, compromiso y confiabilidad. Obtener asesoría especializada. Otros grupos de seguridad Diagnóstico y Evaluación de Seguridad Servicio orientado a valorar el nivel de exposición actual de una organización en materia de seguridad de la información, con el fin de ponderar junto con el cliente los riesgos que enfrenta y definir así los siguientes esfuerzos. Beneficios Ayuda a identificar vulnerabilidades y robustecer configuraciones de seguridad. Prueba y mide la seguridad de la organización. Ofrece un panorama de identificación sobre daños en una red, ocasionados por ataques cibernéticos. Seguridad en Servidores Son servicios para la protección de servidores en entornos físicos y virtuales, mediante controles que los protegen de intrusos y malware, que además permiten gestionar a los usuarios privilegiados de los sistemas, observando las normas de seguridad de las empresas. Beneficios Protege sus servidores físicos y virtuales y cuida con ello la seguridad de su información crítica. Previene accesos no autorizados y un mal uso de los usuarios privilegiados. Fortalece el cumplimiento regulatorio de la empresa.

39


Normatividad y Estrategia de Seguridad Son servicios para el establecimiento de los principios de la seguridad, que permitan a la organización ordenar, dirigir y medir los esfuerzos encaminados a la protección de la información y los activos. Beneficios Contar con lineamientos de seguridad alineados a las mejores prácticas. Contar con lineamientos de seguridad alineados a las mejores prácticas. Contar con la asesoría de expertos certificados en seguridad que entenderán sus necesidades y le darán las mejores recomendaciones para su empresa. Seguridad Aplicativa Son servicios orientados al aseguramiento de las aplicaciones con un enfoque integral, incorporando controles de seguridad durante todo el ciclo de vida de desarrollo. Beneficios Permite minimizar vulnerabilidades en las aplicaciones desde su etapa de creación. Ayuda a identificar huecos de seguridad y aquellos riesgos asociados al software para favorecer el correcto funcionamiento. Permite liberar aplicaciones seguras. Seguridad Perimetral Son servicios enfocados a proteger las redes y la infraestructura sensible-crítica de ataques o explotación de vulnerabilidades que puedan afectar la disponibilidad, integridad y confidencialidad de la información del negocio, mediante el soporte de personal altamente calificado, las mejores prácticas, procesos en gestión, monitoreo de seguridad, respuesta a incidentes y control de configuraciones. Beneficios Protege la seguridad del perímetro de una red. Ayuda a minimizar vulnerabilidades de las redes y la infraestructura sensiblecrítica del negocio. Ofrece el soporte de personal altamente calificado que se basa en mejores prácticas de seguridad.

40


Protección de datos Son servicios que protegen la información y datos sensibles que estén contenidos en servidores, computadoras, laptops o móviles, mediante la definición y aplicación de controles humanos, técnicos y administrativos para minimizar impactos al manipular la información personal y de las organizaciones. Beneficios Contar con una solución tecnológica respaldada por la consultoría de especialistas que le ayudarán a incrementar el nivel de seguridad en sus bases de datos. Cumplir con las normas oficiales y políticas de seguridad que apliquen, referentes a la protección de bases de datos. Seguridad en redes internas Es un conjunto de servicios que ofrece protección a una red de dispositivos locales (móviles, VoIP, endpoint como computadoras o laptops) contra accesos no autorizados, malware y ataques de denegación de servicio que afecten la disponibilidad de su infraestructura y su correcto funcionamiento. Beneficios Brinda protección a los dispositivos del negocio que estén conectados a la red. Ayuda a mantener el correcto funcionamiento de la red interna y su disponibilidad a usuarios legítimos. Ayuda a gestionar el acceso de dispositivos a la red local de manera segura. Gestión, Procesamiento y Almacenamiento de Información y eventos de Seguridad Son servicios focalizados en la administración de eventos de seguridad que facilitan la toma oportuna de decisiones para mantener o mejorar el nivel de seguridad del negocio. Beneficios Ayuda a monitorear y analizar las bitácoras (logs) de los dispositivos de seguridad administrados. Preserva evidencia para futuras investigaciones post-mortem.

41


Seguridad en la nube Mediante un modelo de negocio de SecaaS (Security as a Service), Scitum ofrece un conjunto de servicios diseñados y operados bajo los más altos estándares de seguridad que ayudan a nuestros clientes a: asegurar el cumplimiento de modelo de gobierno corporativo, extender sus políticas de seguridad a usuarios locales y móviles, reducir costos al no tener que invertir en infraestructura y ofrecer flexibilidad a los usuarios. Beneficios Gestiona, analiza, mejora y controla el comportamiento de sus aplicaciones y servicios. Proteja los dispositivos de usuarios remotos y móviles de virus, malware y fraudes. Aumenta la productividad de sus usuarios con controles de navegación segura.

Inteligencia artificial- Al. La inteligencia artificial (IA) es una rama de ciencia informática en la que las máquinas realizan tareas como una mente humana, tales como escuchar o razonar. El término inteligencia artificial representa un conjunto de disciplinas de software, lógica, informática y filosofía que están destinadas a hacer que los PCs realicen funciones que se pensaba que eran exclusivamente humanas, como percibir el significado en el lenguaje escrito o hablado, aprender, reconocer expresiones faciales, etc. El campo de la IA tiene una larga historia tras de sí, con muchos avances anteriores, como el reconocimiento de caracteres ópticos, que en la actualidad se consideran como algo cotidiano. (HPE, 2018)

Realidad Virtual y aumentada Realidad Virtual La realidad virtual (VR) es una tecnología que nos permite sustituir nuestro entorno, todo aquello que nos rodea, por otro generado de forma digital. La VR actúa a través de un casco o gafas de realidad virtual bloqueando nuestra visión y, en ocasiones, nuestro oído, por lo que la inmersión nos hace sumergirnos en un mundo puramente virtual. Esto nos ofrece la posibilidad de “transportarnos” en el tiempo o a otro lugar, así como vivir todo tipo de experiencias de tal manera que el usuario las sienta como si ocurrieran en la vida real. Realidad Aumentada Con la realidad aumentada lo que hacemos es superponer capas de información al mundo físico en el que nos encontramos. La principal diferencia que existe respecto a la VR es que, en esta ocasión, no obstruimos nuestro sentido de la vista, sino que añadimos información.

42


Recordemos el éxito que tuvo Pokémon Go, en el que los usuarios debían recorrer su ciudad tratando de atrapar pokemones que se encontraban superpuestos sobre el mundo físico real. Con este ejemplo podemos extraer otra de las principales características de la AR: a diferencia de la VR, en la que la persona se encuentra limitada al lugar físico en el que se encuentra en el momento de la experiencia, la AR permite al usuario una mayor movilidad.

Big Data Big Data es un término que describe el gran volumen de datos, tanto estructurados como no estructurados, que inundan los negocios cada día. Pero no es la cantidad de datos lo que es importante. Lo que importa con el Big Data es lo que las organizaciones hacen con los datos. Big Data se puede analizar para obtener ideas que conduzcan a mejores decisiones y movimientos de negocios estratégicos. Es un conjunto de datos o combinaciones de conjuntos de datos cuyo tamaño (volumen), complejidad (variabilidad) y velocidad de crecimiento (velocidad) dificultan su captura, gestión, procesamiento o análisis mediante tecnologías y herramientas convencionales, tales como bases de datos relacionales y estadísticas convencionales o paquetes de visualización, dentro del tiempo necesario para que sean útiles.

Criptomonedas Las criptomonedas son monedas virtuales. Pueden ser intercambiadas y operadas como cualquier otra divisa tradicional, pero están fuera del control de los gobiernos e instituciones financieras. Existe un gran número de criptodivisas disponibles, todas con sus propias características y aplicaciones. Las que tienen mayor capitalización de mercado son, al menos por ahora, una minoría, que incluye bitcoin, bitcoin cash, ether, litecoin, ripple y dash.

Internet de las cosas-loT Internet de las cosas (IoT, por sus siglas en inglés) es un sistema de dispositivos de computación interrelacionados, máquinas mecánicas y digitales, objetos, animales o personas que tienen identificadores únicos y la capacidad de transferir datos a través de una red, sin requerir de interacciones humano a humano o humano a computadora. Una cosa, en la internet de las cosas, puede ser una persona con un implante de monitor de corazón, un animal de granja con un transpondedor de biochip, un automóvil que tiene sensores incorporados para alertar al conductor cuando la presión de los neumáticos es baja, o cualquier otro objeto natural o artificial al que se puede asignar una dirección IP y darle la capacidad de transferir datos a través de una red.

43


Comercio Electrónico Definición y Antecedentes También conocido como “E-commerce” o “Electronic commerce” (por su nombre en inglés). La definición del comercio electrónico consiste en la compra y en la venta de productos y servicios los cuales a través de medios electrónicos como puede ser las compras por Internet o cualquier otro tipo de redes informáticas que logren facilitar la transacción. Éste término originalmente comenzó a aplicarse para la realización de otros tipos de transacciones que utilizaban medios electrónicos, uno de estos medios es el “intercambio electrónico de datos”, conocido en Inglés como “Electronic Data Interchange” o “EDI”. Se trata de la transferencia organizada de datos entre cualquier tipo de organizaciones utilizando medios electrónicos. Éste sistema solía ser utilizado para transferir cualquier infinidad de datos de negocio o documentos electrónicos de un sistema de cómputo a otro. Los intercambios de este tipo podían ser realizados utilizando diferentes formatos, estos suelen ser: TXT, XML, EDIFACT, entre muchos otros. Con este sistema se podían transmitir directamente desde una computadora de la empresa emisora a otra empresa receptora órdenes de compra facturas etc. Ahorrando una gran cantidad de tiempo y así evitando muchos errores comunes del método tradicional. De acuerdo a Figura 31 Electronic Data

Figura 31 Electronic Data

Pero con la llegada del Internet, el término “Comercio electrónico” tomó un significado diferente, refiriéndose este principalmente a la venta de servicios y de bienes a través del uso del Internet. Todo esto inició a mediados de los años noventa, utilizando como forma de pago para estos servicios, medios electrónicos, siendo la tarjeta de crédito el medio más común. Hoy en día a este sistema se le conoce o se le han acuñado otros términos como: Comercio Online, Venta por Internet, E-commerce o Comercio en Línea. (Ok Hosting, 2018)

44


El comercio Electrónico en México Sólo en este año en promedio el 80% de los internautas en la República Mexicana ha realizado como mínimo una compra de manera online gracias al desarrollo y crecimiento de dispositivos con acceso a Internet. Los que encabezan la lista son en primer lugar las Laptop o PC, en segundo los Smartphone y en tercero y cada vez con más popularidad las Tablet. Desde el año pasado y en lo que va de este, el comercio electrónico en México ha tenido un crecimiento aproximado de entre el 30% y 40% respecto al que mostró en el año previo, logrando sumar cientos de millones de pesos, según un estudio de comercio elaborado por la “Amipci” (Asociación Mexicana de Internet). En México a pesar de mostrar un gran crecimiento en cuanto a negocios electrónicos se muestra un porcentaje menor al de otros países, esto, debido a que del total de las transacciones realizadas a través de tarjetas de crédito, el seis por ciento de estas solo proviene del comercio electrónico, siendo que en otros países el porcentaje es significativamente mayor y varía entre el 15% hasta el 25%. El incremento exponencial del e-commerce en México es muy positivo a pesar de ciertas trabas y resistencia que crean dificultades para el crecimiento del comercio electrónico. Innovadores modelos de negocios con claros indicios de crecimiento, como ejemplo está la empresa “Uber”, que hasta la fecha sigue teniendo dificultades y una gran resistencia por parte del gobierno e industrias con sistemas de negocios tradicionales.

Clases de Comercio Electrónico: En la actualidad existen varios tipos de comercio electrónico y cada uno de ellos tiene sus propias características y ventajas las cuales se clasifican en modelos diferentes adaptables al mercado. Comercio Electrónico B2B Conocido también como “Business-to-business”. Es la transferencia de datos referentes al las transacciones de tipo comercial. Este utiliza normalmente tecnología como la “EDI” (Electronic Data Interchange). Utilizado desde los años 70 para el envío electrónico de documentos como facturas o pedidos de compra. Más tarde este tipo de comercio comenzó a incluir la compra de bienes y servicios a través de la Red, por medio de servidores seguros, encargados de cifrar los datos para protección de la información, así como para la seguridad del propio consumidor ya que se emplean servicios de pago electrónico por medio del uso de tarjetas de crédito o el uso de monederos electrónicos.

45


Ventajas del Comercio electrónico B2B:  Abaratamiento de los procesos. Proceso de negociación mas ágil, reducción de visitas comerciales dando opción a reducción de precios debido al menor coste de la gestión.  Mayor seguridad y agilidad de las comunicaciones.  Despersonalización de la compra.  Integración directa de datos de transacciones a los sistemas informáticos de la empresa.  Un aumento de la oferta y demanda. Comercio Electrónico B2C Conocida por su abreviatura de “Business-to-Consumer” que en español significa “Del negocio al Consumidor”. Es el o los tipos de estrategias desarrollados y utilizados por las empresas comerciales con la finalidad de llegar directamente al consumidor final. Tipos de B2C  Intermediarios Online: Son compañías encargadas de facilitar la transacción entre el comprador y el vendedor, recibiendo una contra prestación económica.  Modelos basados en Publicidad: Es cuando las empresas tienen sitios web con publicidad de algún inventario y que sirve para ser vendido a los clientes interesados.  Modelos basados en la Comunidad: Es cuando las empresas se encargan de facultar a los usuarios para interactuar a nivel mundial en áreas de similar interés.  Modelos basados en Tarifas: Tan simple como la empresa cobrando determinada tarifa de suscripción para poder permitir la vista de su contenido. Comercio Electrónico B2A Del Inglés “Business to Administration” Este servicio ofrece la administración a empresas y ciudadanos con el fin de facilitar la realización de trámites administrativos a través del Internet. Ventajas para las empresas:  Ahorro de tiempo y esfuerzo.  Disponibilidad de horario las 24 horas del día.  Facilidad para adquirir o descargar modelos de procedimiento o formularios.  Información actualizada siempre.

46


Comercio electrónico B2E Esta clase de comercio electrónico trata de la relación comercial Empresa a Empleado y, del inglés (Business to Employee). Utilizando una propia red informática interna para compartir información y no solo eso sino que también se utiliza para otras funciones como por ejemplo una empresa podría ofrecer noticias e incluso ofertas exclusivas para los empleados o personal que maneja esa red dentro de la empresa. Pero para lo que se utiliza esta clase de comercio comúnmente es para permitir una gestión remota del empleado de los procesos de negocios de la misma empresa tales como la introducción de datos como compras y ventas, comisiones, facturaciones, etc. En pocas palabras, es una especie de portal para las empresas y la utilización de los recursos de la misma por parte del personal que labora en la misma empresa. Ventajas  Mejora en general de toda la red de información interna.  Permite la acortar el tiempo de integración de nuevo personal.  Reducción de costos y tiempo.  Información para el personal en Línea.  Equipos de colaboración en entornos web.  Gestión de la Información de servicios intuitivos.  Soporte  Comercio electrónico interno.  Motivador y potenciador de implicación del profesional. Comercio Electrónico C2C Abreviatura para “Costumer to Costumer” o en español para definir a la estrategia “Cliente a Cliente”. Este término es utilizado para definir al modelo de negocio en red que tiene como finalidad el relacionar de forma comercial a un usuario con otro usuario final. Mejor dicho esto. Es un Tipo de negocio el cual tiene como objetivo, la facilitación de toda clase de productos y/o servicios entre particulares. Siendo este un mero intermediario entre los interesados y cobrando una comisión por los servicios. Cualquier tipo de transacciones privadas entre consumidores por otros medios como el intercambio de correos electrónicos o el uso de tecnologías P2P (peer to Peer) son considerados también un tipo de Ecomerce C2C.

47


Los servicios más habituales que se relacionan a este tipo de comercio son tales como:  Participación del ciudadano  Información  Sugerencias y reclamos.  Suscripción a la notificación telemática  Pagos como Tasas e Impuestos  Registros  Empleo  Sanidad  Educación Comercio Electrónico B2G El e-comerce B2G o sin abreviar “Business to Goverment” (Empresa a Negocio). Consta de la búsqueda de una mejora y optimización de procesos de negociación entre las empresas y el gobierno. Específicamente destinado a sitios o portales que se especializan en la administración pública, teniendo las instituciones oficiales un contacto con sus proveedores. De acuerdo a la Figura 32

Presentación Prezi Telecomunicaciones y Redes, Figura 33 Presentación Prezi, Red, Figura 34 Presentación Prezi Telecomunicaciones, Figura 35 Presentación Prezi Tendencias actuales en sistemas de Información, Figura 36 Presentación Prezi Comercio Electrónico, Figura 37 Presentación Prezi definición comercio electrónico, Figura 38 Presentación Prezi tipos de comercio electónico se representa la presentación sobre los temas: Telecomunicaciones y

redes, Tendencias actuales en los sistemas de información y Comercio electrónico.

Figura 32 Presentación Prezi Telecomunicaciones y Redes

48


Figura 33 Presentaciรณn Prezi, Red

Figura 34 Presentaciรณn Prezi Telecomunicaciones

49


Figura 35 Presentaci贸n Prezi Tendencias actuales en sistemas de Informaci贸n

Figura 36 Presentaci贸n Prezi Comercio Electr贸nico

50


Figura 37 Presentaciรณn Prezi definiciรณn comercio electrรณnico

Figura 38 Presentaciรณn Prezi tipos de comercio electรณnico

51


Bibliografía Agamenon. (2018). Agamenon. Obtenido de http://agamenon.tsc.uah.es/Asignaturas/ittst/rc1/download/Tema4AnexoApuntes.pdf Aparicio, P. (18 de Mayo de 2015). Actualidad iPhone. Obtenido de https://www.actualidadiphone.com/workflow-que-puedo-hacer-con-el/ Appian. (2018). Appian. Obtenido de https://www.appian.com/bpm/definition-of-a-businessprocess/ Asífunciona. (Septiembre de 2015). Asífunciona.com. Obtenido de http://www.asifunciona.com/tablas/codigo_morse/codigo_morse_1.htm Bizagi. (2018). Bizagi. Obtenido de https://www.bizagi.com/es/bpm Bones. (9 de Abril de 2014). SlideShare. Obtenido de https://es.slideshare.net/kr1m1nal/redessatelitales-33337143 Canal audiovisual. (2018). Canal Audiovisual. Obtenido de http://www.canalaudiovisual.com/ezine/books/acREDES/05redes02.htm Capel Tuñón, M. (14 de Febrero de 2014). TECDIS. Obtenido de http://tecdiseu.es/web/content/sistemas-concurrentes-y-distribu%C3%ADdos-teor%C3%ADa-ypr%C3%A1ctica-tomo-i Cascón Baños, J. (21 de Julio de 2015). Frikipanda. Obtenido de http://www.frikipandi.com/tecnologia/20150717/que-es-el-codigo-ascii/ Cavsi. (2018). Cavsi. Obtenido de http://www.cavsi.com/preguntasrespuestas/atm-modo-detransferencia-asincrona/ CCM. (Abril de 2018). CCM. Obtenido de https://es.ccm.net/contents/690-transmision-de-datostransmision-digital-de-datos Ciencias de la computación. (2018). Ciencias de la computación. Obtenido de https://sites.google.com/site/cienciasdelacompucion/algoritmos-y-estructuras-dedatos/con/historia/sistemas-concurrentes-paralelos-y-distribuidos Concepto definición. (11 de Octubre de 2014). Conceptodefinición.de. Obtenido de http://conceptodefinicion.de/adsl/ Concepto definición. (3 de Abril de 2016). Conceptodefinición.de. Obtenido de http://conceptodefinicion.de/banda-ancha/ Definición.de. (2018). Definición.de. Obtenido de https://definicion.de/telecomunicacion/ EcuRed. (2018). EcuRed. Obtenido de https://www.ecured.cu/Telefon%C3%ADa Edatel. (2018). Edatel. Obtenido de https://www.edatel.com.co/empresas/servicios-de-datos/rdsi Editeca. (3 de Octubre de 2017). Editeca. Obtenido de https://editeca.com/realidad-virtualaumentada-y-mixta-que-son-y-en-que-se-diferencian/

52


El origen del hombre. (2018). El origen del hombre.com. Obtenido de http://www.elorigendelhombre.com/transmision%20inalambrica.html Equipo de Redacci贸n Profesional de Tiposde.com. (Junio de 2016). Tiposde.com. Obtenido de https://www.tiposde.com/tipos-de-informacion.html Guerrero, J. (14 de Marzo de 2013). SlideShare. Obtenido de https://es.slideshare.net/pirahasoft/com-senal HPE. (2018). HPE. Obtenido de https://www.hpe.com/mx/es/what-is/artificial-intelligence.html Hyperphysics. (2018). Hyperphysics. Obtenido de http://hyperphysics.phyastr.gsu.edu/hbasees/Electronic/ebcdic.html#c1 IBM. (2018). IBM. Obtenido de https://www.ibm.com/support/knowledgecenter/es/SSV2LR/com.ibm.wbpm.wid.main.do c/prodoverview/topics/csoa.html IBM. (2018). IBM. Obtenido de https://www.ibm.com/support/knowledgecenter/es/SS7K4U_9.0.0/com.ibm.websphere.z series.doc/ae/cwbs_wbs2.html IBM. (2018). IBM. Obtenido de https://www.ibm.com/support/knowledgecenter/es/SSFPJS_7.5.1/com.ibm.wbpm.wid.bp el.doc/topics/cunder.html#cunder__corset IG. (2018). IG. Obtenido de https://www.ig.com/es/invertir-en-criptomonedas/que-son-lascriptomonedas INGTI. (27 de Septiembre de 2011). INGTI. Obtenido de https://ingti.wordpress.com/2011/09/27/definicion-de-proceso-de-negocio/ Izquierdo, J. (15 de Enero de 2015). Redes de Datos Blogspot. Obtenido de http://jorgeredes1it.blogspot.mx/2015/01/conmutacion-analogica-y-digital.html L贸pez, N. (24 de Mayo de 2015). SlideShare. Obtenido de https://es.slideshare.net/nallely2015/transmisin-de-datos-por-radio-frecuencia Mario Saffirio C. (15 de Febrero de 2006). Mario Saffirio C. Obtenido de https://msaffirio.wordpress.com/2006/02/05/%C2%BFque-son-los-web-services/ Master Magazine. (2018). Master Magazine. Obtenido de https://www.mastermagazine.info/termino/6496.php Master m贸viles. (2018). Master m贸viles. Obtenido de https://mastermoviles.gitbooks.io/tecnologias2/content/sistemas_de_telefonia_y_comun icaciones_moviles.html Multimedia. (2018). Multimedia. Obtenido de http://www2.udec.cl/~lsalazarv/digitalizacion.html Ok Hosting. (2018). Ok Hosting. Obtenido de https://okhosting.com/blog/el-comercio-electronico/

53


Pacheco, J. (14 de Septiembre de 2017). Heflo . Obtenido de https://www.heflo.com/es/blog/bpm/tipos-procesos-negocio/ Power Data. (2018). Power Data. Obtenido de https://www.powerdata.es/big-data Redes Telecom. (2018). Redes Telecom.es. Obtenido de http://www.redestelecom.es/infraestructuras/reportajes/1022510001803/serviciosinteligentes-apoderan-internet.1.html Rouse, M. (2017). Search Data Center . Obtenido de https://searchdatacenter.techtarget.com/es/definicion/Internet-de-las-cosas-IoT Scitum. (2018). Scitum. Obtenido de https://www.scitum.com.mx/Servicios Sinnexus. (2018). Sinnexus. Obtenido de http://www.sinnexus.com/business_intelligence/ Tiposde. (2018). Tiposde. Obtenido de http://www.tiposde.org/informatica/513-tipos-deprotocolos/ Torres, R. (4 de Agosto de 2013). informe de presentacion blogspot. Obtenido de http://inforapligrupo1.blogspot.mx/ Velรกzquez ร lvarez, D. (2018). Web programaciรณn. Obtenido de https://webprogramacion.com/43/sistemas-operativos/concurrencia-de-procesos.aspx

54


Divisiรณn de Ciencias EconรณmicoAdministrativas Lic. Relaciones Industriales UDA: Sistemas de informaciรณn para RH Actividad No. 4 Alumna: Veronica Murillo Lona Dulce Patricia Ponce Salazar Veronica Lรณpez Durรกn Maestro: Alfaro Cuellar Ricardo


Índice Contenido Gestión de proyectos: Métricas del software, planeación, estimación, ejecución y control. ......... 1 Proyectos de Software ................................................................................................................... 1 La Gestión de Proyectos ................................................................................................................. 2 Métricas del software..................................................................................................................... 2 Planificación de Proyectos de Software ........................................................................................ 4 Estimación en Proyectos de Software ........................................................................................... 6 Ejecución de Proyectos de Software .............................................................................................. 7 Control en Proyectos de Software ................................................................................................. 8 Introducción a la auditorias de sistemas ........................................................................................... 9 Concepto de auditoría, causas y objetivos. ................................................................................... 9 El auditor informático .................................................................................................................. 11 Características del auditor........................................................................................................ 11 Tipos de auditoria en los sistemas ............................................................................................... 12 Áreas que considerar en una auditoria en sistemas ................................................................... 14 Auditoria interna .......................................................................................................................... 14 Auditoria externa ......................................................................................................................... 15 Auditoria mixta ............................................................................................................................. 15 Auditoria de cifras ........................................................................................................................ 15 Auditoria de procedimientos ....................................................................................................... 16 Metodología para la realización de una auditoria en sistemas .................................................. 16 Determinación de recursos de la auditoria Informática ............................................................. 18 Elaboración del plan y de los Programas de Trabajo .................................................................. 19 Elaboración del informe final ....................................................................................................... 19 Herramientas, técnicas y normas para la auditoria en sistemas ................................................ 20 Cuestionarios ............................................................................................................................ 20 Entrevistas ................................................................................................................................ 20 Checklist .................................................................................................................................... 20 Trazas y/o Huellas..................................................................................................................... 21 Técnicas de Auditoria Asistida por Ordenador ........................................................................ 21


Principales estándares de referencia ........................................................................................... 23 ITIL ............................................................................................................................................. 23 CMMI......................................................................................................................................... 24 Cobit .......................................................................................................................................... 24 eTOM......................................................................................................................................... 25 ISO/IEC 20000 ........................................................................................................................... 25 ISO IEC/27000 ........................................................................................................................... 26 Introducción a la Ingeniera en Software ......................................................................................... 27 Significado y conceptos ................................................................................................................ 27 Proceso de software ..................................................................................................................... 27 Ingeniería de requisitos ................................................................................................................ 28

Índice de imágenes Figura 1 Conceptos básicos de gestión de proyectos ......................................................................... 1 Figura 2 Auditoria en los sistemas ...................................................................................................... 9 Figura 3 Ingeniería en software ........................................................................................................ 27


Gestión de proyectos: Métricas del software, planeación, estimación, ejecución y control.

Figura 1 Conceptos básicos de gestión de proyectos

Proyectos de Software Un proyecto es una asociación de esfuerzos, limitado en el tiempo, con un objetivo definido, que requiere del acuerdo de un conjunto de especialidades y recursos. También puede definirse como una organización temporal con el fin de lograr un propósito específico. Cuando los objetivos de un proyecto son alcanzados se entiende que el proyecto está completo. La gran variedad de elementos que intervienen en un proyecto hace que éste sea único; Pese a ello, es posible aplicar técnicas y métodos comunes para asistir su gestión. Los proyectos informáticos obedecen a esta definición, pero además se caracterizan por el impacto directo e indirecto que provocan en toda la organización, la casi inevitable existencia de relaciones con otros proyectos informáticos, el estar altamente propensos a sufrir de obsolescencia, especialmente tecnológica y la intensa participación de recurso humano de distintas áreas durante su desarrollo. Para la definición de proyectos informáticos se ha hecho un esfuerzo en identificar y estandarizar las etapas que lo conforman. Basándose en metodologías bien definidas, se han desarrollado herramientas computacionales que permiten asistir su gestión en forma automatizada.

1


La Gestión de Proyectos La gestión de proyectos es un proceso continuo. Este proceso requiere de una estrategia global, apoyada por herramientas de trabajo que incrementen la productividad. El propósito de planificar y controlar es proveer una propuesta uniforme para el desarrollo y la administración de los proyectos. Los planes deben apoyar los niveles estratégicos, tácticos y operacionales de las organizaciones con el fin de alcanzar las metas corporativas de largo, mediano y corto plazo. A través del ciclo de vida de un proyecto, se conforman dos categorías de actividades a realizar y que se encuentran directamente relacionadas: las actividades de gestión y las actividades de desarrollo del sistema. Las actividades de gestión son aquellas relacionadas con la administración de las organizaciones, personas, sistemas y procedimientos comprometidos en el proceso de planificación y construcción del sistema. La planificación del proyecto, junto con las actividades de control, es iterada para cada fase del proyecto y proveen de la estrategia de administración con la cual las actividades de desarrollo del sistema son estimadas, programadas y ejecutadas. Las actividades de desarrollo del sistema se centran en el desarrollo mismo. Las metodologías de desarrollo están típicamente organizadas en distintas fases, agrupadas en áreas funcionales de estudio, diseño y construcción, basadas en una estructura de partición del trabajo. La administración y planificación de proyectos requiere de la integración de dos modelos implícitos de trabajo, usualmente no reconocidos: el modelo de administración y el modelo de desarrollo.

Métricas del software Las mejoras en el proceso de desarrollo de software y sistemas de calidad no pueden ser evaluadas sin un esfuerzo efectivo de medición. Cada organización desea mejorar sus procesos de desarrollo de software debido a que existe un tangible beneficio con la construcción de un mejor software. A continuación, se enumeran las siguientes necesidades de medición: • • • • • •

Mejoras en la calidad y productividad. Planificación y estimación de proyectos con alguna precisión. Disposición del personal adecuado, bien utilizado y motivado. Existencia de una adecuada estructura organizacional. Uso de técnicas y herramientas efectivas para el proceso. Obtención de un espacio físico y ambiente de trabajo óptimo.

¿Qué es una medición? Una medición es simplemente una representación desde el mundo real y empírico a una representación matemática, donde puede ser más fácilmente entendible en atributos de entidad y las relaciones entre las otras entidades.

2


El problema real es interpretar el comportamiento matemático y juzgar que significa en el mundo real. En definitiva, las mediciones nos entregan una descripción cuantitativa de los procesos, productos y recursos claves permitiéndonos entender su comportamiento y resultado. Los aspectos esenciales de la medición son: • • •

Datos duros, son cuantificables con poca o sin subjetividad (esfuerzo, volumen documentación, errores detectados, etc. Datos blandos, presentan un grado de subjetividad (habilidad y experiencia, presiones de tiempo, satisfacción del cliente, cooperación del cliente, etc. Datos normalizados, son usados con propósito comparativo (LOC, PF,CC, PO)

Existen diferentes escalas de dimensionamiento, en las cuales cada una captura más información que su predecesora. Ellas son: •

• •

Escala Nominal, la cual ordena ítems por categoría. Un ejemplo de esta escala de medición es cuando catalogamos un lenguaje de programación: C++, Java, entre otros. Escala Ordinal, la cual ordena ítems. Un ejemplo es cuando se asigna una severidad a la falla encontrada como menor, mayor, catastrófica. Escala de Intervalos, la cual define una distancia desde un punto a otro. Este tipo de escala entrega cálculos no disponibles en la escala ordinal, como el cálculo del significado. Lamentablemente no existe el punto cero absolutos y las relaciones no tienen sentido. Por ello hay que tener cuidado cuando se hacen comparaciones. Por ejemplo, en la escala de temperatura Celcius y Fahrenheit, no podemos decir que 30º Celcius es el doble de calor que 15º F. Escala de Proporción, esta escala es la que entrega más información y flexibilidad, debido a que incorpora el cero absoluto. Mediciones como LOC y número de defectos son mediciones de proporción. Se podrá decir que una medición es válida si presenta la siguiente condición de representación: si éste captura en el mundo matemático el comportamiento que percibimos en el mundo empírico. Por ejemplo, debemos demostrar que H es una medición de altitud, y si A es más alto que B, entonces H(A) es más alto que H(B). Pero esta prueba debe ser empírica y esto a menudo es difícil de demostrar.

En general se desea medir los siguientes aspectos en Ingeniería de Software: • • •

Procesos o tareas que ejecutar (modelado, diseño, prueba). Productos entregados durante el proceso (documentación de diseño, código fuente, registro de pruebas). Recursos que permiten realizar el proceso (personal, computadoras, dinero).

3


Planificación de Proyectos de Software La Planificación es un proceso que comienza con una misión, metas y objetivos que deben lograrse. Desarrolla planes, procedimientos, establece una organización y asigna recursos y responsabilidades con el propósito de alcanzar los objetivos propuestos. El resultado principal de la planificación es el Plan del Proyecto. Objetivos de la Planificación de Proyectos de Software: El principal objetivo de la planificación en proyectos de desarrollo de software es ordenar el qué hacer durante el proyecto y asignar adecuadamente los recursos y tareas para cumplir los objetivos propuestos. En general se planifica para: • • • • • • •

Organizar el qué hacer del proceso de desarrollo de software. Minimizar tiempo y costos involucrados. Maximizar el uso de recursos disponibles. Establecer hitos del proyecto. Medir el avance. Mejorar la comunicación. Obtener soporte técnico, de gerencia y político.

La planificación es una tarea que se desarrolla al inicio del proyecto, pero rige el resto de las fases. Una buena planificación inicial ayudará a que las metas propuestas se cumplan y que los eventuales inconvenientes sean abordados de mejor forma. Principios y consideraciones para la Planificación Todas las organizaciones planifican, pero por lo general no se realiza de la manera adecuada, muchas veces la planificación se realiza de manera informal cuando debiera ser formal. La planificación formal es aquella que es: • • •

Documentada. Uniforme y regularmente aplicada. Con resultados concretos, distribuidos, entendidos y comprometidos por la organización.

En una planificación formal deben quedar claramente identificados los planes, procedimientos, la organización, la asignación de recursos y las responsabilidades. El proceso de planificación produce idealmente un conjunto de planes, clasificados como esenciales y de soporte. Los planes esenciales son aquellos que se consideran imprescindibles en cada proyecto, dentro de estos están: Plan de Proyecto, Plan de Pruebas y Plan de Instalación. Los planes de soporte no siempre son necesarios, entre ellos están: Plan de Entrenamiento, Plan de Control de Cambios.

4


La planificación es un proceso continuo, no es un esfuerzo que se realiza una única vez en el proyecto. Si los mecanismos de control identifican algún problema, probablemente los planes deberán ajustarse a esta nueva situación. La planificación es un proceso de toma de decisiones. No se toman decisiones futuras, sino más bien, se evalúa el impacto futuro de decisiones actuales. A medida que se planifica se decide lo que debería hacerse y lo que no. Debe comprometer a aquellos individuos que poseen la habilidad de poner en marcha las cosas, obteniendo resultados concretos. Al planificar no se intenta eliminar el riesgo, con o sin planificación existen circunstancias que pueden atentar contra el éxito de un proyecto, la planificación no puede prevenirlos, pero puede ayudar a reducir su impacto y a controlar el riesgo. La planificación de proyectos requiere soporte de la administración y de otras áreas organizacionales. Todo el esfuerzo puede frustrarse cuando no se cuenta con este soporte. Ciclo de Planificación de Proyectos de Desarrollo de Software El ciclo de planificación de proyectos de Desarrollo de Software comienza con los requerimientos iniciales y tiene las siguientes etapas: •

Negociación de Compromisos: El jefe de proyecto y el cliente y/o usuario negocian los compromisos mutuos, los cuales se establecen sobre la base de los requerimientos del producto de software y objetivos del proyecto. Descomposición de Requerimientos: El producto de software se divide en elementos claves denominados. Estructuras de División del Trabajo (EDTo WBS). Una EDT es un organigrama jerárquico donde se establecen las distintas partes de un producto de software. Representa una jerarquía de componentes o bien de procesos. La jerarquía de componentes identifica cada uno de los componentes del software y la manera en que éstos se relacionan. La jerarquía de procesos representa las actividades de trabajo requeridas para desarrollar el software y sus interrelaciones. Si se usa este tipo de EDT se deben considerar las fases, actividades y tareas estándares definidas por la organización y también las tareas especiales del proyecto. Estimación del Tamaño de un producto de Software: Una vez establecido el estándar de medición (Líneas de Código, Puntos de Función, Puntos Objetos), se utiliza la EDT de componentes para estimar el tamaño de cada componente del software. El tamaño total del producto de software se obtiene al sumar los valores estimados para cada componente y al ajustar la estimación de acuerdo con la información histórica de la organización, si es necesario. Estimación de Recursos: El tamaño del producto de software sirve de base para estimar esfuerzo (Persona-Mes, Hombres-Hora), tiempo y costo de desarrollo. Los modelos empíricos de estimación de costos de software cumplen este propósito. La estimación de recursos puede hacerse en el ámbito de proyecto, de fases y de actividades y tareas.

5


• •

Desarrollo de Itinerario del Proyecto: El itinerario del proyecto se confecciona distribuyendo el esfuerzo estimado dentro del marco de tiempo establecido. El itinerario debe considerar los hitos del proyecto. Término de fase y/o actividades. El término de cada fase o actividades se establece formalmente y define un hito o un producto. Generación y entrega de productos. En ciertas partes de itinerario es necesario que la actividad de generar el producto sea explicita. Generalmente en proyectos de SW el producto es un informe. Puntos de control o Hitos del proyecto: El itinerario y las estimaciones resultantes se comparan con las necesidades iniciales, si éstos se ajustan, los compromisos pueden ser hechos y el trabajo puede proceder. Generalmente los costos son muy altos y el itinerario demasiado largo, en este caso se requiere volver a la negociación de compromisos y replanificar, si es necesario. La existencia de una base de datos que registre información histórica de los proyectos de Desarrollo de Software de una organización permite contar con factores de ajuste para estimaciones futuras, mejorando progresivamente el proceso de planificación.

Estimación en Proyectos de Software La estimación del costo y del esfuerzo del software nunca será una ciencia exacta. Son demasiadas las variables humanas, técnicas, de entorno, políticas que pueden afectar al costo final del software y al esfuerzo aplicado para desarrollarlo. Sin embargo, la estimación del proyecto de software puede dejar de ser un oscuro arte para convertirse en una serie de pasos sistemáticos que proporcionen estimaciones con un grado de riesgo aceptable. Para realizar estimaciones seguras de costos y esfuerzos tenemos varias opciones posibles: • • • •

Utilizar “técnicas de descomposición” relativamente sencillas para generar las estimaciones de costo y de esfuerzo del proyecto. Desarrollar un modelo empírico para el cálculo de costos y esfuerzos. Adquirir una o varias herramientas automáticas de estimación. Dejar las estimaciones para más adelante o retrasarlas no es una opción ya que estas se necesitan de antemano. Las tres opciones restantes son métodos viables para la estimación del proyecto. Las técnicas de descomposición utilizan un enfoque divide y vencerás. Los modelos empíricos son utilizables como complemento de las técnicas de descomposición donde cada modelo se basa en la experiencia (datos históricos), por ultimo las herramientas automáticas de estimación ponen en ejecución una o varias técnicas de descomposición o modelos empíricos.

6


Estimación de Líneas de Código (LDC) y Puntos de Función (PF). Las LDC y los PF se describen como medidas básicas desde donde se calculan métricas de productividad. Los datos de LDC y PF se utilizan de dos formas durante la estimación del proyecto de software: • •

Como una variable de estimación que se utiliza para “dimensionar “cada elemento del software. Como métricas de línea base recopiladas de proyectos anteriores y utilizadas junto con variables de estimación para desarrollar proyecciones de costo y de esfuerzo.

En un comienzo el proyecto se disgrega en pequeñas subfunciones que pueden ser estimadas individualmente, ya sea en LDC o PF para cada función. Cuando se utiliza LDC como variable de estimación, la descomposición funcional es absolutamente necesaria. También debe tenerse en cuenta que mientras las LDC se estiman directamente, los PF se determinan indirectamente mediante la estimación de número de entradas, salidas, archivos de datos, consultas e interfaces, así como también de catorce valores de ajuste de complejidad. Independientemente de la variable de estimación que use el planificador del proyecto, normalmente proporciona un rango de valores para cada función descompuesta. ¿Serán correctas las estimaciones? La única respuesta razonable a esta pregunta es “No podemos asegurarlo”. Cualquier técnica de estimación, no importa como sea de sofisticada, tiene que ser comprobada utilizando otro método. Incluso entonces, deberán prevalecer la experiencia y el sentido común. ¿Qué ocurre cuando la concordancia entre las estimaciones es pobre? Para responder a esta pregunta se debe reevaluar la información que se ha utilizado para hacer las estimaciones. Muchas divergencias entre estimaciones se deben a menudo, a una de dos causas: No se entiende adecuadamente el ámbito del proyecto o ha sido malinterpretado por el planificador. Los datos de productividad utilizados en la técnica LDC, son inadecuados para esa aplicación, están obsoletos (no reflejan con precisión la organización de desarrollo de software) o se han aplicado mal. El planificador debe determinar las causas de la divergencia y reconciliar las estimaciones.

Ejecución de Proyectos de Software La fase de ejecución consiste en la coordinación de personas y otros recursos para llevar a cabo el plan. Es el lugar donde se realiza el trabajo real. El noventa por ciento o más de los esfuerzos del proyecto se gastan durante esta fase, y se completa cuando se cumple la meta del proyecto. La fase de ejecución puede constar de las siguientes acciones: desarrollo del código, creación de casos de prueba y el establecimiento de la documentación del usuario. Los planes de control

7


de cambios y la gestión de riesgos se seguirán y se realizarán los exámenes técnicos. El producto se puede liberar en etapas que se proporcionan, incorporando una liberación por etapas en el proceso de planificación.

Control en Proyectos de Software Un control apropiado del proyecto es clave para que éste pueda cumplir los objetivos propuestos. El control efectivo requiere esfuerzo (generalmente consume un 15% del esfuerzo total del proyecto). Las revisiones son instancias de control administrativo y técnico. Éstas se clasifican en: • • • •

Revisiones Administrativas Revisiones Técnicas Inspecciones Recorridos (Walkthroughs)

Las Revisiones Administrativas se orientan a la evaluación del estado del proyecto, en relación con la planificación de éste, mientras que las Revisiones Técnicas, Inspecciones y Recorridos se enfocan a la evaluación de los componentes del producto de software. Cada uno de los tipos de revisión tienen sus procedimientos y formas, pero ante cualquiera de ellas es necesario tener presente las siguientes directrices: • • • • • • •

Revisar el producto, no al productor. Limitar el debate. Fijar una agenda y mantenerla. Tomar notas escritas. Enunciar ciertas áreas de problemas, pero no intentar resolver cualquier problema que se ponga de manifiesto. Limitar el número de participantes e insistir en la preparación anticipada. Desarrollar una lista de comprobaciones para cada producto que sea sometido a revisión. Disponer de recursos y una agenda para las revisiones. Llevar a cabo un buen entrenamiento de los revisores. Repasar las revisiones anteriores.

Revisión Técnica Formal. (RTF) Es una actividad de garantía de calidad del software llevada a cabo por los profesionales de la ingeniería del software. Los objetivos de la RTF son: • • • • • •

Descubrir errores en la función, la lógica o la ejecución de cualquier representación del software. Verificar que el software bajo revisión cumple con los requerimientos. Garantizar que el software ha sido desarrollado bajo ciertos estándares predefinidos. Obtener un desarrollo del software uniforme. Hacer que los proyectos sean más manejables.

8


Cada RTF se lleva a cabo mediante una reunión y sólo tendrá éxito si es bien planificada, controlada y atendida. Existen ciertas restricciones que deben ser tomadas en cuenta al efectuar una RTF: • • • •

Convocar a la revisión entre 3 a 5 personas. Se debe preparar por adelantado, pero sin requerir más de 2 horas de trabajo por persona. La duración de la reunión de revisión debe ser menor de 2 horas.

Al final de la reunión, todos los participantes en la RTF deben decidir: • • •

Si aceptan el producto sin posteriores modificaciones. Si rechazan el producto debido a los serios errores encontrados. Si aceptan el producto provisionalmente.

Una vez tomada la decisión, todos los participantes firman un documento de revisión en el cual expresan que están de acuerdo con las conclusiones tomadas. El centro de atención de la RTF es un producto.

Introducción a la auditorias de sistemas

Figura 2 Auditoria en los sistemas

Concepto de auditoría, causas y objetivos. El primer término que definir es Auditoría. Según la ISO 19011, Auditoría es: “el proceso sistémico, independiente y documentado para obtener evidencias y evaluarlas de manera objetiva con el fin de determinar la extensión en que se cumplen los criterios establecidos” (ISO, 2012).

9


Existen auditorías de diferentes tipos que son aplicadas a las empresas, regularmente cada una de ellas se hacen por áreas. Por ejemplo, existen auditorías fiscales, contables, financieras, sociables, de calidad, de operaciones, entre otras más Los datos y la información generada en las empresas a día de hoy son infinitos. La información que se procesa y trata dentro de una empresa es incalculable. Las empresas, cada vez en mayor medida, necesitan la tecnología para trabajar, precisando complejos softwares y equipos informatizados para desarrollar su actividad de manera optimizada y eficiente. Esa presencia imperante de softwares y tecnología provoca la necesidad de la auditoría de sistemas. La auditoría de sistemas tiene como principal objetivo validar la integridad de la información y datos almacenados en las bases de datos de los sistemas de información y su procesamiento. Se trata de uno de los tipos de auditoría que van más allá del factor económico.

Objetivos de la auditoría de sistemas La presencia de la tecnología cada vez en más ámbitos empresariales hace necesario un sistema de control, seguimiento y análisis, tal como la auditoría de sistemas. En primer lugar, se precisa garantizar la seguridad a la hora de tratar los datos, dotándolos de privacidad y buen uso. En segundo lugar, para hacer del sistema informático, un proceso mucho más eficiente y rentable, permitiendo detectar errores y tomando decisiones de manera inmediata. Así, podemos decir que los objetivos de la auditoría de sistemas son: • • • • • •

Mejorar la relación coste-beneficio de los sistemas de información. Incrementar la satisfacción y seguridad de los usuarios de dichos sistemas informatizados. Garantizar la confidencialidad e integridad a través de sistemas de seguridad y control profesionales. Minimizar la existencia de riesgos, tales como virus o hackers, por ejemplo. Optimizar y agilizar la toma de decisiones. Educar sobre el control de los sistemas de información, puesto que se trata de un sector muy cambiante y relativamente nuevo, por lo que es preciso educar a los usuarios de estos procesos informatizados.

Por tanto, la auditoría de sistemas es un modo de control y evaluación no sólo de los equipos informáticos en sí. Su ámbito de actuación gira también en torno al control de los sistemas de entrada a dichos equipos (pensemos por ejemplo en claves y códigos de acceso), archivos y seguridad de estos, etc. La auditoría de sistemas es fundamental para garantizar el desempeño y seguridad de los sistemas informáticos de una empresa, que sean confiables a la hora de usarlos y garanticen la máxima privacidad posible.

10


El auditor informático El auditor informático ha de velar por la correcta utilización de los amplios recursos que la empresa pone en juego para disponer de un eficiente y eficaz sistema de Información. El auditor informático observa, juzga y recomienda. Debe ser independiente de la función o elemento auditado, no pudiendo ser ni responsables de la función, ni realizador ni usuario. El auditor informático debe tener una buena preparación, tanto teórica como practica aparte de otras características como la responsabilidad, independencia, integridad y objetividad.

Características del auditor a) Se deben poseer una mezcla de conocimientos de auditoría financiera y de informática en general. En el área informática, se debe tener conocimientos básicos de: Desarrollo de SI, Sistemas operativos, Telecomunicaciones, Administración de Bases de Datos, Redes locales, Seguridad física, Administración de Datos, Automatización de oficinas (ofimática), Comercio electrónico, de datos, etc. b) Especialización en función de la importancia económica que tienen distintos componentes financieros dentro del entorno empresarial. c) Debe conocer técnicas de administración de empresas y de cambio, ya que las recomendaciones y soluciones que aporte deben estar alineadas a los objetivos de la empresa y a los recursos que se poseen. d) Debe tener un enfoque de Calidad Total, lo cual hará que sus conclusiones y trabajo sean reconocidos como un elemento valioso dentro de la empresa y que los resultados sean aceptados en su totalidad. Responsabilidades del auditor informático • •

• • • • • •

Verificación del control interno tanto de las aplicaciones como de los SI, periféricos, etc. Análisis de la administración de Sistemas de Información, desde un punto de vista de riesgo de seguridad, administración y efectividad de la administración. Análisis de la integridad, fiabilidad y certeza de la información a través del análisis de aplicaciones. Auditoría del riesgo operativo de los circuitos de información. Análisis de la administración de los riesgos de la información y de la seguridad implícita. Verificación del nivel de continuidad de las operaciones. Análisis del Estado del Arte tecnológico de la instalación revisada y las consecuencias empresariales que un desfase tecnológico puede acarrear. Diagnóstico del grado de cobertura que dan las aplicaciones a las necesidades estratégicas y operativas de información de la empresa

11


También el auditor informático es responsable de establecer los objetivos de control que reduzcan o eliminen la exposición al riesgo de control interno.

Tipos de auditoria en los sistemas •

Auditoria Informática

Es la revisión técnica, especializada y exhaustiva que se realiza a los sistemas computacionales, software e información utilizados en una empresa, sean individuales, compartidos o de redes, así como sus instalaciones, telecomunicaciones, mobiliario, equipos periféricos y demás componentes. Dicha revisión se realizará de tal manera a la gestión de informática, el aprovechamiento de sus recursos, las medidas de seguridad y los bienes de consumos necesarios para el funcionamiento del centro de cómputo. El propósito fundamental es evaluar el uso adecuado de los sistemas para el correcto ingreso de los datos, el procesamiento adecuado de la información y la emisión oportuna de sus resultados de la información, incluyendo la evaluación en el cumplimiento de las funciones, actividades y operaciones de funcionarios, empleados y usuarios involucrados con los servicios que proporcionan los sistemas computaciones a la empresa. •

Auditoria Con La Computadora

Es la auditoria que se realiza con el apoyo de los equipos de cómputos y sus programas para evaluar cualquier tipo de actividades y operaciones no necesariamente Computarizadas, pero si susceptibles de ser automatizadas; dicha auditoria se realizara también a las actividades del centro de sistemas y a sus componentes. La principal característica de este tipo de auditoria es que, sea en un caso o en otro caso, o en ambos, se aprovecha la computadora y sus programas para la evaluación de las actividades a realizar, de acuerdo a las necesidades concretas del auditor, utilizando en cada caso las herramientas especiales del sistema y las tradicionales de la propia auditoria. •

Auditoria Sin La Computadora

Es la auditoria cuyos métodos, técnicas y procedimientos están orientados únicamente a la evaluación tradicional del comportamiento y valides de la transacciones económicas, administrativas y operacionales de un área de computo, y en sí de todos los aspectos que afectan a las actividades que se utilizan sistemas informáticos, pero dicha evaluación se realiza sin el uso de sistemas computacionales. Es también la evaluación tanto la estructura de organización, funciones y actividades de funcionarios de personal de un centro de cómputo, así como a los perfiles de sus puestos, Como el de los reportes, informes y bitácoras de los sistemas, de la existencia y aplicación de planes, programas y presupuestos en dichos centros, así como del uso aprovechamientos informáticos para la

12


realización de actividades, operaciones y tareas. Así mismo en la evaluación de los sistemas de actividad y prevención de contingencia de la adquisición y el uso hardware, software y personal informático, y en si en todo lo relacionado con el centro de cómputo, pero sin el uso directos computacionales. •

Auditoria De La Gestión Informática

Es la auditoria cuya aplicación se enfoca exclusivamente a las revisiones de las funciones y actividades de tipo administrativo que se realizaran dentro de un centro de cómputo, tales como la planeación, organización, dirección de dicho centro. Esta auditoria se realizará también con el fin de verificar el cumplimiento de las funciones asignadas a los funcionarios, empleados y usuarios de las tareas de sistematización, así como para revisar y evaluar las evaluaciones de sistemas. El uso y protección de los sistemas de procesamiento, los programas y la información. Se aplica también para verificar el correcto desarrollo, instalación, mantenimiento y explotación de los sistemas de cómputo, así como sus equipos e instalaciones. Todo esto se lleva a cabo con el propósito de dictaminar sobre la adecuada gestión administrativa de los sistemas computacionales de una empresa y del propio centro informático. •

Auditoria Alrededor De La Computadora

Es la revisión específica que se realiza a todo lo que está alrededor de un equipo, como son sus sistemas, actividades y funcionamiento. Haciendo una evaluación de sus métodos y procedimientos de acceso y procesamiento de datos, la emisión y almacenamiento de datos, las actividades de planeación y presupuestario del equipo del centro de cómputo, los aspectos operacionales y financieros, la gestión administrativa de accesos al sistema, la atención a sus usuarios y el desarrollo de nuevos sistemas, las comunicaciones internas y externas, y en sí , a todos aquellos aspectos que contribuyan al buen funcionamiento de una área de sistematización. •

Auditoria De Seguridad De Sistemas

Es la revisión exhaustiva, técnica y especializada que se realiza a todo lo relacionado con la seguridad de un sistema de cómputo, sus áreas y personal, así como a las actividades, funciones y acciones preventivas y correctivas que contribuyan a salvaguardar la seguridad de sus equipos computacionales las bases de datos, redes, instalaciones y usuarios de los sistemas. Es también la revisión de los planes de contingencia y medida de protección para la información, los usuarios y los propios sistemas computacionales, en si para todos aquellos aspectos que contribuyen a la protección y salvaguardar en el buen funcionamiento del área de sistematización, sistemas de redes o computadoras personales, incluyendo la prevención y erradicación de los virus informáticos. •

Auditoria A Los Sistemas De Redes

13


Es la revisión exhaustiva, específica y especializada que se realiza a los sistemas de redes de una empresa considerando en la evaluación los tipos de redes, arquitectura, topología, su protocolo de información las conexiones, accesos, privilegios, administración y demás aspectos que repercuten en su instalación, administración, funcionamiento y aprovechamiento. Es también la revisión del software institucional de los recursos informáticos e información de las operaciones, actividades y funciones que permiten compartir las bases de datos, instalaciones, software y hardware de un sistema de red.

Áreas que considerar en una auditoria en sistemas La realización de una auditoria en sistemas de información puede centrarse en cuatro áreas generales: • • • •

Dirección de Sistemas de Información: actividades de apoyo a las funciones del departamento e interpretación de las necesidades de la compañía. Usuarios: clientes de la informática. Interna: conjunto de actividades propias del departamento de informática. Seguridad: actividades especificas destinadas a tal fin.

Y otras cuatro áreas específicas: •

• •

• •

Explotación, con control de entrada de datos, planificación y recepción de aplicaciones, control y seguimiento de trabajos, operación de ordenadores y gestión de red. Desarrollo, con metodologías utilizadas, control interno de las aplicaciones, satisfacción de usuarios y control de procesos. Sistemas, con sistemas operativos, software básico, software de teleprocesos, optimización de los sistemas y administración de base de datos. Comunicaciones, con control de líneas control de configuración. Seguridad, con seguridad física y seguridad lógica.

Auditoria interna Es realizada por una entidad funcional perteneciente a la propia estructura organizativa de la empresa y como contraprestación reciben una remuneración económica. La principal ventaja de la auditoria interna es que quienes son los responsables de llevarla a cabo pertenecen a la propia empresa, y que por tanto conocen mas directamente su problemática. Por otra parte, el coste será menor puesto que los recursos utilizados emanan de la propia organización. El principal inconveniente será la posible falta de objetividad de las personas que la llevan a cabo, puesto que, pueden estar directamente implicados en el propio sistema de información.

14


Auditoria externa Se realiza por personas ajenas a la empresa. La empresa contrata un servicio para auditar su sistema de información por personas externas de la empresa. La principal ventaja es el alto grado de objetividad que se consigue en comparación con la anterior. el principal inconveniente viene dado el alejamiento de la problemática de la empresa quienes asumen la responsabilidad de llevar a cabo la auditoria. No obstante, la profesionalidad la experiencia de quienes asumen la auditoria debe superar estos inconvenientes para llevar a cabo un trabajo adecuado. La auditoría externa desde el punto de vista económico es más costo que la interna puesto que, se realiza con recursos propios. El contrato debe señalar la duración de la auditoria y cada una de las fases en que el trabajo se encuentra dividido, tanto en tiempo real como en parciales. Recogerá también los objetivos a alcanzar, tanto los finales como los relativos a cada unas de las fases, el ámbito a considerar, los recursos técnicos y humanos necesarios.

Auditoria mixta Se trata, mediante la creación de un quipo mixto de auditores (internos y externos) de llevar a cabo el trabajo de auditoria tratando de evitar los inconvenientes como la falta homogeneidad de conocimientos y experiencias de quienes llevan a cabo dicha auditoria. Aunque las auditorias sean internas en la organización en ocasiones en conveniente contratar servicios de auditoria externa debido a la necesidad de: • •

• •

Auditar una materia de gran especialización, para la cual los servicios propios no están suficientemente capacitados. Contrastar algún informe interno con el que resulte del externo, en aquellos supuestos de emisión interna de graves recomendaciones que chocan con la opinión generalizada de la empresa. Servir como mecanismo protector de posibles auditorias informáticas externas obligadas por la legislación. Tener una visión desde el exterior de la empresa, ya que la auditoria interna sea independiente del Departamento de Sistemas, sigue siendo de la misma empresa.

Auditoria de cifras Consiste en conocer y evaluar la fiabilidad de la información que maneja el sistema. En este sentido, realiza tres tipos de controles: Control de entrada de datos: Frecuentemente en la introducción de datos se producen errores humanos tales como transposición, situación, omisión o inadecuado posicionamiento de caracteres, o errores técnicos como inadecuado diseño de la estructura física y lógica de datos, erro de manipulación o error de programación. La auditoría de cifras va a permitir conocer y evaluar el porcentaje de errores producidos en la información

15


de entrada al sistema, así como la periodicidad con la que se producen, tipos y causas más usuales. Control de tratamiento con los datos Es la transferencia de daos se pueden producir perdidas de información y averías en el sistema. La auditoria de cifras analiza las distintas aplicaciones y los programas que la sustentan, calculando, en función a los volúmenes de entrada y salida, de los recursos de hardware y software disponibles, los tiempos de realización de cada aplicación. Control de salida de datos Trata de evaluar si la información de resultado obtenida da respuestas validas a los distintos usuarios del sistema de forma concreta y completa, mediante la edición de una serie de informes por el sistema, En resumen, la auditoria de cifras debe controlar, analizar y evaluar los aspectos relativos a la rentabilidad del sistema, a la seguridad del sistema y entrada, tratamientos y salidas de datos, expresados en términos cuantitativos que deben ser complementados con aspectos cualitativos derivados de la auditoria de procesos de gestión.

Auditoria de procedimientos Tiene como objetivo el análisis y la evaluación de la adecuación de los métodos utilizados, la documentación utilizada y la normatividad aplicada. Adecuación de los métodos utilizados: adecuación de métodos para la realización de las distintas tareas del ciclo de desarrollo de un sistema de información (definición de requerimientos, diseño funcional, diseño técnico, construcción y las pruebas de los programas) En la definición de requerimientos dado que se está más cercano a la problemática empresarial de que los aspectos informáticos, se hace necesario que en su elaboración participen quienes van a ser lo principales usuarios de la información, en el diseño funcional, se modelizan las funciones de negocios a mecanizar, tanto desde el punto de vista de los tratamientos como de los datos. En el diseño técnico, dado que se define la organización de los tratamientos que van a permitir al ordenador distintos programas con la optima utilización de los recursos información disponibles.

Metodología para la realización de una auditoria en sistemas El método de trabajo del auditor pasa por las siguientes etapas: 1. Alcance y Objetivos de la Auditoría Informática. 2. Estudio inicial del entorno auditable. 3. Determinación de los recursos necesarios para realizar la auditoría.

16


4. 5. 6. 7. 8.

Elaboración del plan y de los Programas de Trabajo. Actividades propiamente dichas de la auditoría. Confección y redacción del Informe Final. Redacción de la Carta de Introducción Fuentes de información:

Definición de Alcance y Objetivos alcance de la auditoría expresa los límites de la misma. Debe existir un acuerdo muy preciso entre auditores y clientes sobre las funciones, Estudio Inicial Para realizar dicho estudio ha de examinarse las funciones y actividades generales de la informática. Para su realización el auditor debe conocer lo siguiente: • • • • • •

Organización Entorno Operacional Aplicaciones bases de datos y ficheros Recursos materiales Recursos Humanos Organización

Para el equipo auditor, el conocimiento de quién ordena, quién diseña y quién ejecuta es fundamental. Para realizar esto en auditor deberá fijarse en: 1) Organigrama: El organigrama expresa la estructura oficial de la organización a auditar. Si se descubriera que existe un organigrama fáctico diferente al oficial, se pondrá de manifiesto tal circunstancia. 2) Departamentos: Se entiende como departamento a los órganos que siguen inmediatamente a la Dirección. 3) Relaciones Jerárquicas y funcionales entre órganos de la Organización: El equipo auditor verificará si se cumplen las relaciones funcionales y Jerárquicas previstas por el organigrama, o por el contrario detectará, por ejemplo, si algún empleado tiene dos jefes. 4) Flujos de Información: Además de las corrientes verticales intradepartamentales, la estructura organizativa cualquiera que sea, produce corrientes de información horizontales y oblicuas extra departamentales. 5) Número de Puestos de trabajo:

17


El equipo auditor comprobará que los nombres de los Puesto de los Puestos de Trabajo de la organización corresponden a las funcione Entorno Operacional 6)Número de personas por Puesto de Trabajo: Es un parámetro que los auditores informáticos deben considerar. La inadecuación del personal determina que el número de personas que realizan las mismas funciones rara vez coincida con la estructura oficial de la organización. Entorno Operacional •

Situación geográfica de los Sistemas:

Se determinará la ubicación geográfica de los distintos Centros de Proceso de Datos en la empresa. A continuación, se verificará la existencia de responsables en cada unos de ellos, así como el uso de los mismos estándares de trabajo. •

Arquitectura y configuración de Hardware y Software:

Cuando existen varios equipos, es fundamental la configuración elegida para cada uno de ellos, ya que los mismos deben constituir un sistema compatible e intercomunicado. •

Inventario de Hardware y Software:

El auditor recabará información escrita, en donde figuren todos los elementos físicos y lógicos de la instalación. En cuanto a Hardware figurarán las CPUs, unidades de control local y remotas, periféricos de todo tipo, etc. Aplicaciones bases de datos y ficheros El estudio inicial que han de realizar los auditores se cierra y culmina con una idea general de los procesos informáticos realizados en la empresa auditada. Para ello deberán conocer lo siguiente: o Volumen, antigüedad y complejidad de las Aplicaciones o Metodología del Diseño Se clasificará globalmente la existencia total o parcial de metodología en el desarrollo de las aplicaciones Cantidad y complejidad de Bases de Datos y Ficheros. El auditor recabará información de tamaño y características de las Bases de Datos, clasificándolas en relación y jerarquías.

Determinación de recursos de la auditoria Informática Mediante los resultados del estudio inicial realizado se procede a determinar los recursos humanos y materiales que han de emplearse en la auditoria.

18


Elaboración del plan y de los Programas de Trabajo Una vez asignados los recursos, el responsable de la auditoría y sus colaboradores establecen un plan del trabajo. Decidido éste, se procede a la programación de este. Actividades de la Auditoria Informática Auditoria por temas generales o por áreas específicas: La auditoría Informática general se realiza por áreas generales o por áreas específicas. Si se examina por grandes temas, resulta evidente la mayor calidad y el empleo de más tiempo total y mayores recursos.

Elaboración del informe final La función de la auditoria se materializa exclusivamente por escrito. Por lo tanto, la elaboración final es el exponente de su calidad. Estructura del informe final: El informe comienza con la fecha de comienzo de la auditoria y la fecha de redacción de este. Se incluyen los nombres del equipo auditor y los nombres de todas las personas entrevistadas, con indicación de la jefatura, responsabilidad y puesto de trabajo que ostente. Cuerpo expositivo: Para cada tema, se seguirá el siguiente orden a saber: a) Situación actual. Se expondrá la situación prevista y la situación real del lugar. b) Tendencias. Se tratarán de hallar parámetros que permitan establecer tendencias futuras. c) Puntos débiles y amenazas. d) Recomendaciones y planes de acción. Constituyen junto con la exposición de puntos débiles, el verdadero objetivo de la auditoria informática. e) Redacción posterior de la Carta de Introducción o Presentación. Carta de introducción o presentación del informe final: La carta de introducción tiene especial importancia porque en ella ha de resumirse la auditoría realizada. Se destina exclusivamente al responsable máximo de la empresa, o a la persona concreta que encargo o contrato la auditoría. Así como pueden existir tantas copias del informe Final como solicite el cliente, la auditoría no hará copias de la citada carta de Introducción. La carta de introducción poseerá los siguientes atributos:

19


• • • • • •

Tendrá como máximo 4 folios. Incluirá fecha, naturaleza, objetivos y alcance. Cuantificará la importancia de las áreas analizadas. Proporcionará una conclusión general, concretando las áreas de gran debilidad. Presentará las debilidades en orden de importancia y gravedad. En la carta de Introducción no se escribirán nunca recomendaciones.

Herramientas, técnicas y normas para la auditoria en sistemas Las herramientas son el conjunto de elementos que permiten llevar a cabo las acciones definidas en las técnicas. Las herramientas utilizadas son: cuestionarios, entrevistas, checklist, trazas y software de interrogación.

Cuestionarios Conjunto de preguntas a las que el sujeto puede responder oralmente o por escrito, cuyo fin es poner en evidencia determinados aspectos. Características: Las auditorías informáticas se materializan recabando información y documentación de todo tipo. Los informes finales de los auditores dependen de sus capacidades para analizar las situaciones de debilidad o fortaleza de los diferentes entornos. El trabajo de campo del auditor consiste en lograr toda la información necesaria

Entrevistas La entrevista es una de las actividades personales más importante del auditor; en ellas, éste recoge más información, y mejor matizada, que la proporcionada por medios propios puramente técnicos o por las respuestas escritas a cuestionarios. El auditor informático experto entrevista al auditado siguiendo un cuidadoso sistema previamente establecido, consistente en que bajo la forma de una conversación correcta y lo menos tensa posible, el auditado conteste sencillamente y con pulcritud a una serie de preguntas variadas, también sencillas. Sin embargo, esta sencillez es solo aparente.

Checklist El auditor profesional y experto es aquél que reelabora muchas veces sus cuestionarios en función de los escenarios auditados. Tiene claro lo que necesita saber, y por qué. Sus cuestionarios son vitales para el trabajo de análisis, cruzamiento y síntesis posterior, lo cual no quiere decir que haya de someter al auditado a unas preguntas estereotipadas que no conducen a nada. Muy por el contrario, el auditor conversará y hará preguntas “normales”, que en realidad

20


servirán para la cumplimentación sistemática de sus Cuestionarios, de sus Checklists.

Trazas y/o Huellas Con frecuencia, el auditor informático debe verificar que los programas, tanto de los Sistemas como de usuario, realizan exactamente las funciones previstas, y no otras. Para ello se apoya en productos Software muy potentes y modulares que, entre otras funciones, rastrean los caminos que siguen los datos a través del programa. Las trazas se utilizan para comprobar la ejecución de las validaciones de datos previstas. Las mencionadas trazas no deben modificar en absoluto el Sistema.

Técnicas de Auditoria Asistida por Ordenador Las técnicas de auditoría asistidas por computador (TAAC) son procedimientos de auditoría efectuados con el uso de la tecnología computarizada, característicamente en volúmenes grandes de datos, para identificar, extraer y resumir las partidas con base en características específicas y para aplicar ciertas rutinas pre-programadas. Procedimientos de auditoría en los que pueden en los que pueden utilizarse las TAAC: ❖ Pruebas de detalles de transacciones y saldos, por ejemplo, el uso de software de auditoría para recalcular los intereses o la extracción de facturas por encima de un cierto valor de los registros de computadora; ❖ Procedimientos analíticos, por ejemplo, identificar inconsistencias o fluctuaciones importantes; ❖ Pruebas de controles generales, por ejemplo, pruebas de la instalación o configuración del sistema operativo o procedimientos de acceso a las bibliotecas de programas o el uso de software de comparación de códigos para verificar que la versión del programa en uso es la versión aprobada por la administración; ❖ Muestreo de programas para extraer datos para pruebas de auditoría; ❖ Pruebas de controles de aplicación, por ejemplo, pruebas del funcionamiento de un control programado; y ❖ Rehacer cálculos realizados por los sistemas de contabilidad de la entidad. Aplicación en los análisis de datos: Las técnicas de auditoría asistidas por computadora (TAAC), tales como herramientas de prospección de datos, de inteligencia de negocios, y de indagación de archivos, pueden ayudarnos a identificar las partidas significativas o poco usuales, cuando desarrollamos un procedimiento analítico de análisis de datos, el cual, busca partidas grandes o poco usuales en los registros contables, por ejemplo, los asientos de diario no estándares, así como en los datos de las transacciones, por ejemplo, los asientos de diario de ajuste, para identificar indicios de errores que puedan haber ocurrido.

21


Debido a que probamos las partidas que se consideran significativas o poco usuales, obtenemos evidencia de auditoría sobre esas partidas. Un procedimiento de análisis de datos diseñado de manera efectiva también puede proveer cierta evidencia de auditoría sobre las partidas no seleccionadas ya que dichas partidas están dentro de nuestra expectativa. El grado de confianza que puede colocarse en las técnicas de análisis de datos principalmente va en función de la fuente (por ejemplo, financiera, no financiera), la integridad y confiabilidad de los datos, el nivel de desglose, y la naturaleza del análisis. Otros beneficios en la aplicación de las TAAC: Las TAAC nos ayudan para: •

• • • • •

• •

Probar la población completa de datos, incluyendo repetir los cálculos de la entidad y verificar las consistencias de los datos con las medidas contables; Identificar las partidas poco usuales en una población que satisfagan los criterios establecidos previamente; Efectuar procedimientos de evaluación de riesgo; Efectuar procedimientos analíticos; Probar la eficacia operativa de los controles; Facilitar pruebas más extensas de las transacciones electrónicas y los archivos de cuentas, lo que puede resultar útil cuando decidimos modificar el alcance de las pruebas como, por ejemplo, para responder a los riesgos de error material debido a fraude; Dichas técnicas pueden usarse para seleccionar transacciones de muestra de los archivos electrónicos clave, para clasificar las transacciones que tengan ciertas características, o para probar la población completa en lugar de una muestra; La observación o inspección física de ciertos activos puede ser más importante, o podremos decidir usar técnicas de auditoría asistidas por computadora (las TAAC) para recopilar más evidencia sobre los datos contenidos en cuentas significativas o archivos electrónicos de transacciones; Pueden ser útiles para identificar relaciones o transacciones de ingresos inusuales o imprevistos. Usar las TAAC para hacer más pruebas de la compilación de los conteos del inventario físico, por ejemplo, clasificándolos por número de etiqueta para probar los controles de etiquetas, o número de serie del artículo para probar la posibilidad de que se omitan o dupliquen artículos.

22


Considerar su uso como parte de nuestras pruebas de detalles para las aseveraciones relevantes para las cuentas o revelaciones significativas.

Principales estándares de referencia ITIL La adopción de un marco de referencia por parte de los departamentos de Sistemas de Información mejora la eficiencia y eficacia de los mismos, gracias a la aplicación de procesos estandarizados y probados por multitud de empresas de todos los sectores, y la aplicación de metodologías y buenas prácticas. ITIL (Information Technology Infraestructure Library) es uno de los marcos de referencia para la Gestión de Servicios Informáticos, más importantes y con mayor repercusión a nivel mundial, creado en los años 80 por el Gobierno Británico, con la intención de mejorar la calidad de los servicios de IT. Algunos piensan que ITIL es una moda, o burocracia añadida para obtener beneficios por parte de las empresas consultoras, sin embargo, cada vez son más las empresas que se basan en ITIL para mejorar la gestión de sus departamentos de sistemas. ITIL lo constituye una colección de libros que aportan una serie de recomendaciones y buenas prácticas, para la correcta gestión de los departamentos de IT, especificando procesos y procedimientos para ello. No habla de cómo implantarlo, ni de software para gestión o hardware que se deba utilizar. De forma coloquial podríamos decir que ITIL propone una forma de trabajar más ordenada y dirigida a servir a negocio. De forma rigurosa, se trata del conjunto de mejores prácticas para le gestión de los procesos que son usados para el ciclo de vida del servicio: – Estrategia del Servicio. – Diseño del Servicio. – Transición del Servicio. – Operación del Servicio. – Mejora Continua del Servicio. La decisión de adoptar un marco de referencia para la gestión del departamento de sistemas ya sea ITIL o cualquier otro, está en manos de cada empresa o Manager de Sistemas, y el éxito de una implantación de este tipo dependerá sobre todo de una buena gestión del proyecto de implementación.

23


CMMI CMMI es un modelo que contiene las mejores prácticas y que provee a las organizaciones de aquellos elementos que son esenciales para que los procesos de negocio de las mismas sean efectivos. El modelo CMMI fue inicialmente desarrollado para los procesos relativos al desarrollo e implementación de Software por la Carnegie-Mellon University. Este vio la luz por primera vez en el año 1987 como Capability Maturity Model CMM. Dicho nombre, tanto como los cinco niveles de la representación por etapas, están inspirados en el modelo de madurez Manufacturing Maturity Model de Crosby. En principio el modelo CMM era aplicado en programas de defensa, pero lo cierto es que este ha logrado gran aceptación, tan es así que ha sido sometido a varias revisiones e iteraciones. Debido a su éxito se llevó a cabo el desarrollo de modelos CMM para para diversos ámbitos más allá del software. El problema con esto es que debido a la gran proliferación de modelos de desarrollo de software comenzaron a surgir confusiones, motivo por el que el gobierno terminó financiando un proyecto de dos años en que el participaron más de 200 expertos del mundo industrial y académico, con el fin de crear un solo marco extensible para la ingeniería de sistemas, la ingeniería de software y el desarrollo de productos ¿el resultado? El modelo más conocido actualmente: CMMI. La importancia del uso de un modelo radica principalmente en el hecho de que es precisamente lo que permite comprender cuáles son los elementos específicos de una organización, a la vez que ayuda a formular y hablar de qué es lo que se debe mejorar dentro de la misma y de cómo se pueden lograr dichas mejoras. Dicho esto, algunas de las ventajas del uso de un modelo que valen la pena mencionar son las siguientes: ▪ ▪ ▪ ▪ ▪

Proporciona un marco y un lenguaje común, lo que se traduce en la ruptura de las barreras de la comunicación en el interior de las organizaciones. Permite que los usuarios puedan enfocarse específicamente en la mejora, ya que ayudan a que no pierdan la idea global. Aporta años de experiencia. Ayudan a mejorar la satisfacción del cliente. Permiten producir productos y servicios de alta calidad.

Cobit COBIT (Control Objectives Control Objectives for Information and related Technology) es el marco aceptado internacionalmente como una buena práctica para el control de la información, TI y los riesgos que conllevan. COBIT se utiliza para implementar el gobierno de IT y mejorar los controles de IT. Contiene objetivos de control, directivas de aseguramiento, medidas de desempeño y resultados, factores críticos de éxito y modelos de madurez.

24


Para ayudar a las organizaciones a satisfacer con éxito los desafíos de los negocios actualmente, el IT Governance Institute® (ITGI) ha publicado la versión de COBIT® 4.1. COBIT es un framework de Gobierno de TI y un conjunto de herramientas de soporte para el gobierno de T.I. que les permite a los gerentes cubrir la brecha entre los requerimientos de control, los aspectos técnicos y riesgos de negocio. COBIT hace posible el desarrollo de una política clara y las buenas prácticas para los controles de T.I. a través de las organizaciones. COBIT enfatiza en la conformidad a regulaciones, ayuda a las organizaciones a incrementar el valor alcanzado desde la TI, permite el alineamiento y simplifica la implementación de la estructura COBIT. La última versión, COBIT® 4.1, enfatiza el cumplimiento normativo, ayuda a las organizaciones a incrementar el valor de T.I., apoya el alineamiento con el negocio y simplifica la implantación de COBIT. Esta versión no invalida el trabajo efectuado con las versiones anteriores del COBIT, sino que puede ser empleado para mejorar el trabajo previo. Cuando importantes actividades son planeadas para iniciativas de Gobierno de T, o cuando se prevé la revisión de la estructura de control de la empresa, es recomendable empezar con la más reciente versión de COBIT.

eTOM (Enhanced Telecom Operations Map) es un marco de referencia para la definición de los procesos de negocio de los operadores de telecomunicaciones. describe y analiza diferentes niveles de procesos empresariales de acuerdo con su significancia y prioridad para los negocios. El marco de referencia está definido tan genéricamente como ha sido posible, con el fin de mantenerlo: • • •

Independiente de las organizaciones Independiente de las tecnologías Independiente de los servicios

ISO/IEC 20000 La serie ISO/IEC 20000 - Service Management normalizada y publicada por las organizaciones ISO (International Organization for Standardization) e IEC (International Electrotechnical Commission) el 14 de diciembre de 2005, es el estándar reconocido internacionalmente en gestión de servicios de TI (Tecnologías de la Información). La serie 20000 proviene de la adopción de la serie BS 15000 desarrollada por la entidad de normalización británica, la British Standards Institution (BSI). Descripción

25


Una entrega efectiva de los servicios de TI es crucial para las empresas. Hay una percepción de que estos servicios no están alineados con las necesidades y requisitos del negocio. Esto es especialmente importante tanto si se proporciona servicios internamente a clientes como si se está subcontratando proveedores. Una manera de demostrar que los servicios de TI están cumpliendo con las necesidades del negocio es implantar un Sistema de Gestión de Servicios de TI (SGSTI) basado en los requisitos de la norma ISO/IEC 20000. La certificación en esta norma internacional permite demostrar de manera independiente que los servicios ofrecidos cumplen con las mejores prácticas. ISO/IEC 20000 está basada y reemplaza a la BS 15000, la norma reconocida internacionalmente como una British Standard (BS), y que está disponible en dos partes: una especificación auditable y un código de buenas prácticas. La ISO/IEC 20000 es totalmente compatible con la ITIL (IT Infrastructure Library), o guía de mejores prácticas para el proceso de GSTI. La diferencia es que el ITIL no es medible y puede ser implantado de muchas maneras, mientras que en la ISO/IEC 20000, las organizaciones deben ser auditadas y medidas frente a un conjunto establecido de requisitos. La ISO/IEC 20000 es aplicable a cualquier organización, pequeña o grande, en cualquier sector o parte del mundo donde confían en los servicios de TI. La norma es particularmente aplicable para proveedores de servicios internos de TI, tales como departamentos de Información Tecnológica, proveedores externos de TI o incluso organizaciones subcontratadas. La norma está impactando positivamente en algunos de los sectores que necesitan TI tales como subcontratación de negocios, Telecomunicaciones, Finanzas y el Sector Público.

ISO IEC/27000 semejanza de otras normas ISO, ISO/IEC 27000 es un conjunto de estándares desarrollados -o en fase de desarrollo- por ISO (International Organization for Standardization) e IEC (International Electrotechnical Commission), que proporcionan un marco de gestión de la seguridad de la información utilizable por cualquier tipo de organización, pública o privada, grande o pequeña. En este apartado se resumen las distintas normas que componen la serie ISO 27000 y se indica cómo puede una organización implantar un sistema de gestión de seguridad de la información (SGSI) basado en ISO 27001 en conjunto con otras normas de la serie 27k pero también con otros sistemas de gestión.

26


Introducción a la Ingeniera en Software

Figura 3 Ingeniería en software

Significado y conceptos Ingeniería es la aplicación sistemática de conocimiento científico en la creación y construcción de soluciones, que satisfacen una buena relación efectividad/precio, de problemas prácticos al servicio de la humanidad. La ingeniería del software es la forma de ingeniería que aplica los principios de las ciencias de la computación y las matemáticas en la obtención de soluciones de los problemas del software que satisfacen una buena relación efectividad/precio. La ingeniería de sistemas: o Atañe a todos los aspectos del desarrollo de sistemas basados en ordenadores, incluyendo el hardware, el software y la ingeniería de procesos o La ingeniería del software es la parte de este proceso que atañe al desarrollo de la infraestructura software, el control, las aplicaciones y las bases de datos del sistema. o Los ingenieros de sistema están implicados en la especificación del sistema, el diseño arquitectónico, la integración y el despliegue.

Proceso de software El proceso de desarrollo de software es el conjunto de actividades, métodos y prácticas utilizados en la producción y evolución de software. Un proceso de desarrollo de software puede incluir un modelo de ciclo de vida: •

Divide el desarrollo en fases y prescribe las actividades que deben realizarse en cada fase

27


• • • • •

Proporciona criterios para determinar cuándo cada fase de desarrollo ha terminado Define los deliberarles / artefactos / productos de cada fase Consideración de herramientas y equipamiento Consideración de personal y de su organización Restricciones sobre las actividades, los artefactos, las herramientas, el personal etc

Ingeniería de requisitos Uso sistemático de principios contrastados, técnicas, lenguajes y herramientas para obtener el análisis efectivo en coste y documentación de las necesidades en continua evolución del usuario, y la especificación del comportamiento externo del sistema requerido para satisfacer dichas necesidades. La tarea de capturar, estructurar y representar con precisión los requisitos del usuario de modo que puedan ser correctamente encarnados en sistemas que verifican tal requisito.

28


Bibliografía Academia de Administración. (Diciembre de 2011). Auditoría Informática. Hidalgo. Alejandro Bedini González. (13 de Junio de 2015). Gestión de Proyectos de Software. Obtenido de https://www.inf.utfsm.cl/~guerra/publicaciones/Gestion%20de%20Proyectos%20de%20S oftware.pdf Auditoria en Sistemas . (s.f.). Obtenido de https://nuestrofuturo12061.wordpress.com/el-auditorinformatico/ Comunidad Contable . (2017 de Noviembre de 2017). Obtenido de Legis: http://www.comunidadcontable.com/BancoConocimiento/Otros/tecnicas-de-auditoriaasistidas-por-computador-taac.asp EcuRed. (s.f.). Obtenido de https://www.ecured.cu/Auditor%C3%ADa_de_sistemas emprendepyme.net. (2016). Gallón, D. I. (Noviembre de 2017). Introducción a eTOM. Obtenido de http://dtm.unicauca.edu.co/pregrado/conmutacion/transp/10-eTOM.pdf Gerencie.com. (5 de Noviembre de 2017). Obtenido de https://www.gerencie.com/auditoria-desistemas-de-informacion.html

29


Universidad de Guanajuato Divisiรณn de Ciencias Econรณmico Administrativas Lic. En Relaciones Industriales

ORANGE HRM

Profesor: Ricardo Alfaro Cuellar

Actividad no. 6

Alumnas: Veronica Durรกn Lรณpez Dulce Patricia Ponce Salazar Veronica Murillo Lona


ÍNDICE Contenido ¿Qué es OrangeHrm?............................................................................................................... 1 ¿Qué es la empresa Bitnami?................................................................................................. 1 ¿Por qué se menciona que Orange HRM es un sistema abierto (Open Source)? ....... 2 ¿Para qué utiliza XAMPP el programa de OrangeHRM? ................................................... 2 ¿Qué parte del XAMPP utiliza OrangeHrm para guardar toda la información que se ingresa a sus diferentes menús? ........................................................................................... 2 Explica los diferentes pasos que deben seguir para la instalación de OrangeHrm. ... 3 ¿Cuál es el nombre de la carpeta donde debe ir puesta la carpeta que contiene todo el programa de OrangeHrm? .................................................................................................. 5 ¿Qué es el concepto de “Apache”? ...................................................................................... 5 ¿Cuál es el número de puertos que utiliza “Apache” y la base de datos (MySQL/DBMaria)? ................................................................................................................... 5 ¿Qué es OrangeHrm Professional y menciona que características se incluyen en esta versión? ............................................................................................................................. 6 ¿Qué es OrangeHrm Enterprise y menciona que características se incluyen en esta versión? ...................................................................................................................................... 7 Menciona alguna de las opciones de personalización que OrangeHrm ofrece al cliente para responder sus necesidades específicas ........................................................ 7 Bibliografía ................................................................................................................................. 8

ÍNDICE DE FIGURAS Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Figura 6 Figura 7 Figura 8

Logo Orange Hrm..................................................................................... 1 Logo Bitnami ............................................................................................ 1 OrangeHRM Open Source ....................................................................... 2 Tutorial instalación Orange HRM parte 1 ................................................. 3 Tutorial instalación Orange HRM parte 2 ................................................. 4 Tutorial instalación Orange HRM parte 3 ................................................. 5 OrangeHrm Professional .......................................................................... 6 OrangeHrm Enterprise ............................................................................. 7


Sistemas de Información para RH

¿Qué es OrangeHrm? OrangeHRM es un sistema que tiene como objetivo que cada uno de sus clientes tenga éxito en los negocios. Para ello, han desarrollado una serie de productos de gran valor para su negocio. Obtenga el mejor retorno de inversión utilizando el mejor servicio de acuerdo a sus necesidades y a las demandas de su industria. De acuerdo a Figura 1 Logo Orange Hrm

Sus módulos de Recursos Humanos cubren las áreas de administración del capital humano por lo que es utilizado por millones de usuarios alrededor del mundo en diferentes industrias. (Orange HRM, 2018)

Figura 1 Logo Orange Hrm

¿Qué es la empresa Bitnami? Bitnami es una empresa que ha automatizado la capacidad de empaquetar, implementar y mantener aplicaciones, reduciendo la barrera a la adopción para que cualquiera pueda implementar y mantener un espectro completo de aplicaciones de servidor, pilas de desarrollo y aplicaciones de infraestructura en prácticamente cualquier formato. De acuerdo a Figura 2 Logo Bitnami (Bitnami, 2018)

Figura 2 Logo Bitnami

1


Sistemas de Información para RH

¿Por qué se menciona que Orange HRM es un sistema abierto (Open Source)? OrangeHRM Open Source El Software de Gestión de Recursos Humanos sin costo El sistema OrangeHRM de código abierto está dotado de una serie de módulos en una sola aplicación que cumple con las necesidades de capital humano más importantes. Puede descargar la aplicación OrangeHRM desde nuestro sitio sito web y empezar a utilizarlo sin ningún costo. De acuerdo a Figura 3 OrangeHRM Open Source

Figura 3 OrangeHRM Open Source

¿Para qué utiliza XAMPP el programa de OrangeHRM? Lo utiliza para funcionar

¿Qué parte del XAMPP utiliza OrangeHrm para guardar toda la información que se ingresa a sus diferentes menús? La base de datos MARIADB

2


Sistemas de Información para RH

Explica los diferentes pasos que deben seguir para la instalación de OrangeHrm. Se muestran capturas sobre la instalación de OrangeHRM que se explica en los siguientes links de vídeos: Parte 1 https://www.youtube.com/watch?v=9wZkc4nLL14&feature=youtu.be

de

acuerdo a la Figura 4 Tutorial instalación Orange HRM parte 1

Parte 2 https://www.youtube.com/watch?v=zeiVjDflx3Y&feature=youtu.be&t=29 de acuerdo a la Figura 5 Tutorial instalación Orange HRM parte 2

Parte 3 https://www.youtube.com/watch?v=HOpk46qMBVQ&feature=youtu.be de acuerdo a la Figura 6 Tutorial instalación Orange HRM parte 3

Figura 4 Tutorial instalación Orange HRM parte 1

3


Sistemas de Informaciรณn para RH

Figura 5 Tutorial instalaciรณn Orange HRM parte 2

4


Sistemas de Información para RH

Figura 6 Tutorial instalación Orange HRM parte 3

¿Cuál es el nombre de la carpeta donde debe ir puesta la carpeta que contiene todo el programa de OrangeHrm? Debe ir puesta en XAMPP en la carpeta htdocs.

¿Qué es el concepto de “Apache”? El servidor Apache HTTP, también llamado Apache, es un servidor web HTTP de código abierto para la creación de páginas y servicios web. Es un servidor multiplataforma, gratuito, muy robusto y que destaca por su seguridad y rendimiento.

¿Cuál es el número de puertos que utiliza “Apache” y la base de datos (MySQL/DBMaria)?  Apache utiliza los puertos 80 y 443.  La base de datos MysQL/DBMaria utiliza el puerto 3306.

5


Sistemas de Información para RH

¿Qué es OrangeHrm Professional y menciona que características se incluyen en esta versión? Es una solución integral de alto desempeño dirigida a pequeñas y medianas empresas para la gestión de los recursos humanos. OrangeHRM Professional contiene una rica variedad de funciones para gestionar desde las acciones más comunes hasta las más complejas en cuanto a capital humano se refiere. Todo esto a un costo muy asequible. De acuerdo a Figura 7 OrangeHrm Professional

Figura 7 OrangeHrm Professional

Las características incluyen:        

Gestión de información del personal y roles Gestión de licencias o permisos avanzados Administración de bajas / altas, incapacidades, vacaciones y ausencias. Administración de tiempo y asistencia Reclutamiento Indicadores de desempeño Administración del entrenamiento del personal Administrador de activos cómo computadoras, impresoras (herramientas de trabajo del personal).  Tablero de control para poder visualizar tanto en gráficas cómo en lista de pendientes todas las variantes que llegara a requerir de los diferentes módulos de OrangeHRM Professional.  Orange App.  Reportes avanzados, entre otros.

6


Sistemas de Información para RH

¿Qué es OrangeHrm Enterprise y menciona que características se incluyen en esta versión? OrangeHRM Enterprise es una versión ampliada de la edición professional con capacidades de gestión de recursos humanos de varios países para las empresas globales. De acuerdo a Figura 8 OrangeHrm Enterprise

Figura 8 OrangeHrm Enterprise

Las características incluyen:      

Administración de personal basado en países y ubicaciones Reglas de licencias o permisos ajustables por país Flujos de trabajo configurables Soporte Platinum Reportes basados en país y ubicación Informes personalizados

Menciona alguna de las opciones de personalización que OrangeHrm ofrece al cliente para responder sus necesidades específicas Algunas de las opciones de personalización pueden ser:  Cambio de apariencia de su sistema para adaptarse a políticas de imagen

de su compañía.  Idioma  Inclusión de módulos de acuerdo a los requerimientos de la compañía para

satisfacer sus necesidades.

7


Sistemas de Información para RH

Bibliografía Bitnami. (2018). Bitnami. Obtenido de https://bitnami.com/ Hostinger. (24 de Junio de 2017). Hostinger. Obtenido de https://www.hostinger.es/como/cual-es-mi-puerto-mysql Ibrugor. (11 de Junio de 2014). Ibrugor. Obtenido de http://www.ibrugor.com/blog/apache-http-server-que-es-como-funciona-ypara-que-sirve/ Juan, M. (2018). J solución creativa. Obtenido de https://www.jsolucioncreativa.com/cambiar-los-puertos-de-apache-y-mysqlen-xampp-correctamente/ Orange HRM. (2018). Orange HRM. Obtenido de https://www.orangehrm.com/Spanish

8


Universidad de Guanajuato

División de Ciencias Económico Administrativas

Lic. Relaciones Industriales

Uda: Sistemas de información para RH

Actividad 8 Manejador de contenidos – wordPress y WooCommerce

Integrantes de equipo: Veronica Murillo Lona Dulce Patricia Ponce Salazar Veronica López Durán

Maestro: Alfaro Cuellar Ricardo

Fecha: 12 de mayo del 2018


Contenido ¿Qué es un CMS y para qué sirve?..............................................................................................1 ¿Cuando necesitas utilizar un CMS para crear tu página web? ................................1 Los CMS más importantes se pueden dividir en dos grandes grupos: ............................................2 1.-WordPress – El CMS más sencillo y popular......................................................................2 2.-Drupal – El CMS para los que quieren algo más complicado ..........................................3 3.-Frog CMS – Unos de los CMS más sencillos .....................................................................3 4.-Joomla – Un clásico dentro de los CMS ..............................................................................4 5.-SilverStripe – CMS perfecto para crear intranets ...............................................................4 6.-Magento – CMS perfecto para eCommerce........................................................................5 ¿Que es WordPress? .................................................................................................................6 La exitosa historia de WordPress..................................................................................................8 Planes de WordPress ...................................................................................................................10 Plan de WordPress gratuito .....................................................................................................10 Plan de WordPress personal ...................................................................................................10 Plan de WordPress Premium ...................................................................................................10 Plan de WordPress Business ..................................................................................................10 ¿Qué es Woocommerce y para qué sirve? ...........................................................................11 Ventajas y desventajas de utilizar WooCommerce (elaboración propia en fichas de Go Conqr) .........................................................................................................................................12 Pasos para instalar WooCommerce en WordPress .............................................................13 Bibliografía .......................................................................................................................................14

Índice de figuras figura 1 WordPress .............................................................................................................................2 figura 2 CMS mas utilizados ...............................................................................................................3 figura 3 Drupal ...................................................................................................................................3 figura 4 Frog CMS ...............................................................................................................................4 figura 5 Joomla ...................................................................................................................................4 figura 6 SilverStripe ............................................................................................................................5 figura 7 Magento ................................................................................................................................5 figura 8 WordPress .............................................................................................................................9 Figura 9 WordPress ............................................................................................................................9 Figura 10 Ventajas ............................................................................................................................12


Figura 11 Desventajas ......................................................................................................................12 Figura 12 Instalaciรณn de WooCommerce en WordPress ..................................................................13


¿Qué es un CMS y para qué sirve? Un sistema de gestión de contenidos (en inglés Content Management System, abreviado CMS) es un programa que permite la creación y administración de contenidos, principalmente en páginas web. A nivel usuario administrador, consiste en una interfaz que controla una o varias bases de datos en las cuales podemos realizar modificaciones del contenido, accediendo con el usuario y contraseña. El sistema permite manejar de manera independiente el contenido y el diseño. Así, es posible manejar el contenido y darle el mismo diseño del sitio de manera que el visitante no note la diferencia, además de permitir la fácil y controlada publicación en el sitio a varios editores.. En los desarrollos de newWeb con CMS se contempla: Instalación y configuración para que los visitantes internautas no encuentre diferencia con el diseño del sitio. Capacitación para ingresar en la consola de administración del sistema para las actualizaciones. Configuración de servicios automáticos para actualizar el nuevo contenido a diferentes redes sociales. Un CMS es un software desarrollado para que cualquier usuario pueda administrar y gestionar contenidos de una web con facilidad y sin conocimientos de programación Web. Previamente un programador deberá desarrollar la página web en base al CMS más apropiado para el tipo de web, dejando las tareas posteriores de gestión en manos del usuario final. No todas las páginas Web son iguales, y para ello tenemos varios tipos de CMS según el tipo de página que necesitemos. Los hay para blogs, páginas corporativas, inmobiliarias, tiendas on-line, noticias o magazines, contenidos multimedia, y así un largo etc. Algunos CMS son desarrollos con proyectos open source con complementos opcionales “premium” y otros funcionan bajo licencia de pago. ¿Cuando necesitas utilizar un CMS para crear tu página web? Si necesita un sitio grande y complicado de muchas páginas, lo mejor es utilizar un sistema de gestión de contenidos en lugar de un generador de sitios web.

~1~


Puede que al principio tengas que aprender como funciona el CMS elegido, pero luego te va a proporcionar una gran flexibilidad y funcionalidades. Si quieres contratar a un desarrollador web online, planteate usar un CMS de código abierto como WordPress o Joomla. La mayoría de los desarrolladores están familiarizados con estas dos plataformas. Estas opciones Open Source te darán acceso a miles de plugins y temas creados por la comunidad para cambiar el aspecto de tuweb de manera sencilla.

Los CMS más importantes se pueden dividir en dos grandes grupos: CMS para páginas web: • WordPress • Drupal • Joomla CMS para tiendas on-line: • Prestashop • WordPress + WooCommerce • Magento 1.-WordPress – El CMS más sencillo y popular

WordPress es el CMS más popular en la actualidad, y con mucha diferencia. Te permite configurar fácilmente blogs y sitios web utilizando MySQL y PHP. Su curva de aprendizaje es muy rápida. Si quieres crear tu propio sitio web gratuito, rápido y de manera muy fácil, WordPress es la mejor solución.

figura 1 WordPress

~2~


figura 2 CMS mas utilizados

2.-Drupal – El CMS para los que quieren algo más complicado

figura 3 Drupal

Drupal es una plataforma de gestión de contenido de código abierto que ha ayudado a crear millones de sitios web. Tiene una comunidad muy activa, pero su curva de aprendizaje es algo mayor que en el caso de WordPress. Para usuarios más experimentados. Puedes utilizar Drupal para crear desde blogs personales a páginas web empresariales. Dispone de miles de módulos adicionales y diseños. Requiere PHP y MYSQL. 3.-Frog CMS – Unos de los CMS más sencillos

~3~


figura 4 Frog CMS

Frog CMS simplifica mucho la gestión de contenidos, ofreciendo una interfaz de usuario elegante, plantillas flexibles y una gestión de usuarios sencilla. Basado en Ruby on Rails, requiere PHP5, MySQL. 4.-Joomla – Un clásico dentro de los CMS

figura 5 Joomla

Joomla es un sistema de gestión de contenido que te permite construir sitios Web y blogs. Con una curva de aprendizaje situada entre WordPress y Drupal. Una de las opciones más populares junto a WordPress y Drupal. 5.-SilverStripe – CMS perfecto para crear intranets

~4~


figura 6 SilverStripe

SilverStripe CMS es una plataforma para crear webs, intranets y otras aplicaciones web. Muchos sitios de negocios y organizaciones utilizan este CMS. Es también relativamente fácil de utilizar.

6.-Magento – CMS perfecto para eCommerce

figura 7 Magento

Magento es un CMS encaminado a crear tiendas online y webs de eCommerce. Ok, con WordPress también lo podemos hacer utilizando el plugin Woocommerce, pero esta es una opción más “enfocada” y con un largo recorrido. Con un único dashboard vas a poder crear varias tiendas, algo muy conveniente. Colocar

~5~


productos en el catalogo es realmente sencillo, igual que activar un carrito de compra y pasarelas de pago.

¿Que es WordPress? WordPress es un CMS gratuito que nos permite tanto introducir datos como leerlos, es decir, WordPress es una plataforma que nos permite crear páginas web de distinto tipos fácilmente, además permite a un autor crear contenido y por otro lado permite a un usuario leer estos registros de forma ordenada y en de un modo en el que todos los conocemos, que es en forma de web. Entonces WordPress para funcionar necesita dos cosas: una base de datos MySQL donde almacenar todos los registros -toda la información acerca del sitio web que vamos a crear- y un servidor donde estar alojado -si, también vale un hosting compartido o también lo podemos hacer en localhost– para poder interpretar todos los datos de la base de datos y para poder almacenar todos los archivos de WordPress. Para qué sirve WordPress Como decíamos, con WordPress podremos crear varios tipos de webs. Eso si, para poder hacer cada una de estas webs necesitaremos tener una plantilla adecuada para eso, y además de una plantilla, necesitaremos también plugins en algunos de los casos. Un ejemplo de plugin que necesitaremos si o si en caso de que queramos hacer una tienda virtual es una pasarela de pago para que los clientes puedan pagar. Algunos plugins son de pago, mientras que otros son gratuitos. Por poneros un ejemplo, este sitio web funciona sobre WordPress. Tiene un servidor y a su vez este servidor tiene una base de datos de donde alimentarse. También, tiene una plantilla, en este caso diseñada específicamente para esta web, y además tiene una serie de plugins que ayudan mucho de cara al editor para mejorar el SEO y para otros aspectos -como el plugin del MarkDown-. Aunque también tenemos otros plugins como el de Pinterest que ya os enseñamos a instalar que son de cara del usuario que nos lee. WordPress es a día de hoy el CMS más popular, puesto que es el que más usuarios tiene y el que cuenta con más plugins y con más plantillas, que como habéis visto es uno de los aspectos más importantes. Aunque también tenéis otras alternativas como Joomla! que es código libre o también tenéis la posibilidad de desarrollar vuestro propio CMS si tenéis los recursos necesarios. ¿Qué puedo hacer con WordPress?

~6~


En muchas ocasiones se asocia WordPress con una herramienta que solo sirve para hacer blogs. Esto no es correcto: con WordPress podemos hacer un blog y mucho más: webs empresariales, tiendas online, periódico digital, central de reservas, etc. A continuación vamos a ver algunas de las cosas que podemos crear con este gestor de contenidos. Blog Es su función más conocida. WordPress incorpora, en su instalación por defecto todas las funcionalidades típicas de un blog: mostrar artículos en formato blog, opción de añadir comentarios a las entradas, posibilidad de organizar los artículos por categorías o etiquetas, etc.. Además se podrán agregar en la web diversos módulos, llamados widgets en WordPress, habituales de los blogs: listado de categorías del blog, listado de etiquetas, buscador, lista de artículos más leídos, lista de últimos comentarios, etc. Web corporativa WordPress puede servir perfectamente para crear una web empresarial, entendiendo como tal una página donde podamos informar sobre todo lo que concierne a nuestra empresa o negocio: quiénes somos, servicios, clientes, etc. Gracias a la multitud de plantillas disponibles para WordPress podremos conseguir diseños muy variados para nuestra web, que podrían ir desde una web con diseño minimalista y que muestre poca a información, a webs completas que carguen muchos datos en cada página. Podremos crear distintos apartados en nuestra web para organizar los contenidos. Estos no se limitan a páginas estáticas, o una página de blog, sino que gracias a los miles de plugins disponibles para WordPress podremos añadir más funcionalidades como formulario de contacto, foro, directorios, etc. Tienda online Aunque existan otros gestores de contenidos específicos para crear tiendas online (PrestaShop, Magento, etc.), WordPress puede ser una opción completamente válida, ya que dispone de varios plugins que nos permitirán incorporar una tienda online en nuestra web. De todos ellos, WooCommerce sería la opción más recomendable, aunque podemos elegir otro plugin. Gracias a WordPress y el plugin WooCommerce podremos disponer de una tienda online con todas las funcionalidades típicas que esperamos encontrar en una aplicación de este tipo: creación de productos ilimitada, organización de productos

~7~


por categoría, posibilidad de agregar atributos a los productos, diversos sistemas de pago y envío, gestión avanzada de pedidos, etc. Las funcionalidades de nuestra tienda no se acabarán con las que incorpore el propio WooCommerce, sino que podremos añadir cientos de nuevas opciones gracias a los plugins específicos para él: importación masiva de productos, portes de envío por código postal, pasarelas de pago con tarjeta de crédito, precios de producto por cantidad, generación de facturas, etc. Y mucho más... Como habíamos comentado antes, los miles de plugins disponibles para WordPress nos permitirán extender las posibilidades de nuestra web en WordPress, para poder conseguir casi cualquier cosa: foro de soporte, web de gestión de reservas, directorio de empresas, canal de vídeos, etc. Si a esto le sumamos los miles de temas (plantillas) disponibles, las posibilidades para conseguir cualquier tipo de web son casi infinitas.

La exitosa historia de WordPress Hacemos un repaso a la historia de WordPress y sus hitos más importantes a lo largo del tiempo. Un gestor de contenidos que ha pasado en pocos años de ser un simple software para montar blogs, a un software para crear cualquier tipo de página web y que actualmente acapara más de una cuarta parte de todas las páginas web del mundo,

~8~


figura 8 WordPress

Presentaciรณn para dar a conocer un poco mas acerca de WordPress: (elaboraciรณn propia en Go Conqr)

Figura 9 WordPress

~9~


Planes de WordPress Plan de WordPress gratuito Tal vez este sea el plan de WordPress más conocido, puesto que es la opción por la que opta la mayoría de gente. Este plan te permite adquirir un subdominio de wordpress.com a través del cual podrás publicar contenido de manera muy fácil y rápida. Además, dispondrás de 3GB de espacio de almacenamiento, y podrás personalizar tu página web accediendo a más de cien temas gratuitos. Plan de WordPress personal Este plan, que se puede adquirir por un precio mensual muy asequible, te permite tener un nombre de dominio personalizado, eliminar los anuncios y recibir ayuda instantánea online. Además, con este plan de wordpress dispondrás de 6GB de espacio. Plan de WordPress Premium El plan de WordPress Premium dispone de las mismas ventajas que el plan de WordPress personal, y muchas más: con este plan, podrás acceder a temas WordPress ilimitados y tendrás 13GB de espacio para almacenar. También podrás subir videos a tu página web a través de la herramienta VideoPress, y dispondrás de una personalización de tu página web avanzada. Pero esto no es todo, la mayor ventaja del plan de WordPress Premium es que te permite monetizar tu sitio, lo cual significa que podrás utilizar tu página web como fuente de ingresos. Esto puede hacerse mostrando anuncios en la página web, o vendiendo a los lectores contenidos de pago, como ebooks, o cursos online, entre otros. Plan de WordPress Business El plan de WordPress Business es el mejor plan que se puede escoger. No solo tiene las mismas ventajas que una cuenta WordPress Premium, sino que además ofrece espacio de almacenamiento ilimitado, asistencia a cursos en directo y herramientas SEO, entre otros. Las herramientas SEO son una pieza imprescindible de cualquier página web cuyo objetivo sea llegar al máximo número de lectores, puesto que ayudan a mejorar el posicionamiento de tu página web o blog. Otra gran ventaja del plan de WordPress Business es que te permite conectar tu página web con Google Analytics. Esta herramienta nos permite ver informes acerca de las visitas que recibe nuestra página web, como el número de visitas o su duración.

~ 10 ~


¿Qué es Woocommerce y para qué sirve?

WooCommerce es un plugin gratuito de eCommerce que te permite vender cualquier cosa, con elegancia. Creado para que se integre sin problemas con WordPress, WooCommerce es la solución eCommerce favorita en todo el mundo y ofrece un control total tanto a propietarios de tienda como a desarrolladores. Con una flexibilidad infinita y acceso a cientos de extensiones WordPress tanto gratis como de pago, WooCommerce actualmente gestiona el 30% de todas las tiendas online – más que ninguna otra plataforma. WooCommerce puedes vender tanto productos físicos como digitales en cualquier forma o tamaño, ofrecer variaciones de productos, configuraciones múltiples y descargas instantáneas a los compradores, y puedes incluso vender productos afiliados de mercados online. Con las extensiones de pago puedes ofrecer reservas, membresías y suscripciones periódicas o también vender suscripciones mensuales de artículos hasta ofrecer descuentos en descargas digitales. El plugin ofrece envíos gratuitos, envíos a precio fijo o haz cálculos en tiempo real. Limita los envíos a países concretos, o abre tu tienda a todo el mundo. El envío es sumamente configurable, y WooCommerce incluso es compatible con envíos directos. En cuanto a sus opciones de pago incluye la posibilidad de aceptar las principales tarjetas de crédito, PayPal, transferencias bancarias o pago contra reembolso. ¿Quieres más opciones? Más de 140 pasarelas de pago locales se integran con WooCommerce, incluyendo algunas tan populares como Stripe, Authorize.net y pagos Amazon. Y lo mejor de todo es que WooCommerce te permite un control completo de tu tienda, desde los impuestos a los niveles de inventario o las cuentas de cliente. Añade o quita extensiones, cambia tu diseño y modifica los ajustes a tu gusto. Todo está bajo tu control. Uno de los mayores riesgos de usar una plataforma de eCommerce alojada es qué pasa con tu tienda si el proveedor cierra la tienda. Con WooCommerce tienes un control completo así que no hay ninguna razón por la que preocuparse. Tus

~ 11 ~


datos te pertenecen – y están seguros, gracias a auditorías frecuentes de los líderes de la industria. Ventajas y desventajas de utilizar WooCommerce (elaboración propia en fichas de Go Conqr)

Figura 10 Ventajas

Figura 11 Desventajas

~ 12 ~


Pasos para instalar WooCommerce en WordPress Ver el siguiente video: https://youtu.be/LeFnrLfdiuA?t=50

Figura 12 Instalaciรณn de WooCommerce en WordPress

~ 13 ~


BibliografĂ­a benito, I. (6 de enero de 2018). Obtenido de https://algoentremanos.com/los-mejores-gestoresde-contenido-cms-open-source/ CastaĂąeda, D. H. (2004). Obtenido de http://www.eumed.net/ce/2012/tcgz.pdf Cuantrix. (26 de abril de 2018). Obtenido de https://cuantrix.com/wordpress/historia/ Departamento de internet. (4 de mayo de 2011). Obtenido de https://www.departamentodeinternet.com/que-es-un-cms-y-que-ventajas-tiene/ Garcia, E. R. (13 de junio de 2015). Obtenido de rootear: https://rootear.com/web/que-eswordpress Postigio, A. (9 de enero de 2018). Obtenido de hoy streaming: https://www.hoystreaming.com/2018-gran-cambio-en-wordpress/ web empresa. (s.f.). Obtenido de https://www.webempresa.com/wordpress/que-eswordpress.html

~ 14 ~


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.