Unidad_2 informatica.pdf
Document Details
Uploaded by HotLutetium
Universidad Nacional del Nordeste
Tags
Full Transcript
Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 UNIDAD 2: Soporte lógico. El software. Contenido: 2.1. Conceptos de Programa y Software. 2.2. Clasificación del Software 2.3. Sis...
Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 UNIDAD 2: Soporte lógico. El software. Contenido: 2.1. Conceptos de Programa y Software. 2.2. Clasificación del Software 2.3. Sistema operativo: concepto y funciones usuales. 2.4. Software de Aplicación. Clasificaciones, mercados 2.5. Software de aplicación de propósito general y específico. Evaluación, características. 2.6 Tendencias en Aplicaciones Empresariales - ERP/CRM/SCM/BI/SSDG 2.1. Conceptos de Programa y Software. Para que el Hardware o parte material pueda realizar el trabajo para el que ha sido construido, es necesario contar con un programa. Un programa informático es un conjunto de instrucciones, ordenadas en una secuencia predeterminada, donde cada instrucción es una orden que se imparte al computador indicándole lo que debe hacer y usar para llevar a cabo una tarea. El término Software es de origen inglés: producto etéreo, pensamiento. En rigor, el prefijo “soft” se opone al “hard”, utilizado para la parte física, “dura”, como vimos. En Francia a esto se lo suele denominar “logiciel”, siendo en rigor más preciso desde el punto de vista etimológico. Es la parte inmaterial, integrada por un gran número de programas que interactúan unos con otros manejando todos los recursos del sistema informático para brindar distintas soluciones. Lo constituye un conjunto de ideas, producto de la inteligencia de las personas para solucionar problemas de muy diversos tipos. Ahora bien, estas ideas por sí solas no las puede conocer la computadora, sino que hay que fijarlas (grabarlas) sobre un soporte físico y de una manera adecuada, para que pueda entenderlas. Algunos autores lo definen como: conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación. Un programa de cómputo, programa informático o programa de computadora, al que denominaremos de ahora en adelante simplemente ‘programa’, es una secuencia de instrucciones, escritas en un lenguaje adecuado, para hacer que la computadora, al interpretarlo, realice tareas específicas. Veremos más adelante algunos aspectos de esta “interpretación”. 2.2. Clasificación del Software Los programas que conforman el Software pueden ser divididos en dos grupos bien diferenciados según su función: a) Software de Base o de sistema. b) Software de Aplicación o Aplicativo. Algunos autores agregan a esta clasificación un tercer grupo al que denominan Software de Usuario Final para incluir a las herramientas de Software que permiten el desarrollo de algunas aplicaciones directamente por los Usuarios Finales sin necesidad de la intervención de programadores profesionales. Algún tipo de Software para Usuario Final se emplea para estimular la productividad de los programadores profesionales. 2.2.1 Definición del Software de base. Clasificación. Es toda aquella parte lógica realizada generalmente por cada fabricante de computadores o por casas especializadas en el desarrollo de software de base. Página 1 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Este conjunto de programas tiene por función coordinar las diversas partes del sistema computacional para hacerlo funcionar rápida y eficazmente, actuando como mediadores entre los programas de aplicaciones y el hardware del sistema, interpretando los requerimientos de cada programa que ingresa al sistema, poniendo a su disposición cualquiera de los recursos que necesite (ya sean de hardware, software o datos) para producir los resultados deseados. Debido a la estrecha relación que existe entre las características de un computador y su software de base, no se puede concebir el uno sin el otro, a tal punto que pareciera que el software es parte integrante del hardware. Los programadores que escriben el Software de Base o de Sistema son llamados programadores de Sistemas. El software de base se divide en: a) Sistema Operativo (SO) b) Utilitarios c) Traductores de lenguaje La figura representa gráficamente la relación entre los dos grupos de Software descriptos y el Hardware del sistema. 2.2.a. Sistema operativo: concepto y funciones usuales. Multiprogramación y multiprocesamiento. El sistema operativo (SO) es un conjunto de programas concebidos para efectuar la administración de los recursos del computador. Sin embargo, es un sistema muy especial, quizá el más complejo e importante en una computadora. El SO despierta a la computadora y hace que reconozca a la UCP, la memoria, el teclado, el ratón, el sistema de video, las unidades de disco, etc.. Además, proporciona la facilidad para que los usuarios se comuniquen con la computadora y sirve de plataforma a partir de la cual se corran programas de aplicación. Cuando se enciende una computadora, lo primero que ésta hace es llevar a cabo un autodiagnóstico llamado autoprueba de encendido (denominado Power On Self Test, POST). Durante la POST, la computadora identifica su memoria, sus discos, su teclado, su sistema de vídeo y cualquier otro dispositivo conectado a ella. Lo siguiente que la computadora hace es buscar un SO para arrancar (boot). Una vez que la computadora ha puesto en marcha su SO, mantiene al menos parte de éste en su memoria en todo momento. Mientras la computadora esté encendida, el SO tiene dos tareas principales: 1. Proveer servicios para la ejecución de programas de aplicación y para el desarrollo de los mismos, es decir administrar los recursos en proceso, obtener automáticamente la rutina apropiada y mantener el computador sin necesidad de operación manual. Página 2 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 2. Actuar como entorno de la aplicación en la cual el programa es ejecutado, planeando los recursos y trabajos, puesto que ayuda a decir no solo qué recursos utilizar (asignación), sino también cuándo utilizarlos (planificación). Debido a que los dispositivos de Entrada- Salida trabajan mucho más lentamente que la UCP, pueden realizarse millones de instrucciones de cálculo para varios programas, mientras que los resultados se imprimen o muestran por pantalla. Del conjunto de instrucciones que maneja el computador, algunas residen permanentemente en la memoria central (luego de la ejecución del programa de carga inicial - IPL-) durante todo el procesamiento, mientras que otras residen solo cuando se las necesita, encontrándose almacenadas en periféricos cuando no están en la memoria central. A las primeras se las conoce como residentes, supervisor, monitor y ejecutivo. A las segundas como transientes o transitorios. Utilizando varias técnicas el Sistema Operativo combina los diversos trabajos que deben realizarse de modo que los dispositivos del sistema se empleen lo más eficientemente posible. Las instrucciones que conforman un Sistema Operativo, materializan entre otras, las siguientes tareas en la ejecución de una aplicación: Carga de programas. Administración y asignación de los recursos del hardware. Administración y Manejo de datos. Comunicación de programa o programas. Interfase Hombre /Máquina /Sistema de aplicación (interactivos). Comunicación con los operadores (en procesos Batch). Supervisión de la coordinación de los diferentes programas. Alocación de datos en la memoria. Manejo de las interrupciones. Tareas de comunicación de datos (teleprocesamiento). Generalmente en algunos equipos el Sistema Operativo cumple funciones de monitoreo: lleva registro de las actividades del computador mientras se realiza el procesamiento. El Sistema Operativo detiene los programas que contienen errores o exceden, ya sea su tiempo máximo de ejecución o sus asignaciones de almacenamiento. Mediante el envío de mensajes informa las anormalidades en los dispositivos de Entrada-Salida o en otra parte del sistema. Son también parte del Sistema Operativo la contabilización o registro de hora de ingreso y egreso, y el tiempo de duración de los programas, lo que hace posible elaborar facturas por concepto de utilización del sistema por parte de los usuarios. Posee además mecanismos de seguridad para proteger contra el acceso no autorizado a través de la verificación de identificación (o "claves"). CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS Los sistemas operativos se pueden clasificar atendiendo a: ADMINISTRACIÓN DE TAREAS: o MONOTAREA: los que permiten sólo ejecutar un programa a la vez o MULTITAREA: los que permiten ejecutar varias tareas o programas al mismo tiempo, compartiendo recursos en el tiempo o MULTIPROCESO: similar a multitarea, pero con ejecución realmente en paralelo. ADMINISTRACIÓN DE USUARIOS o MONOUSUARIO: aquellos que sólo permiten trabajar a un usuario, como es el caso de los ordenadores personales Página 3 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 o MULTIUSUARIO: los que permiten que varios usuarios ejecuten sus programas a la vez. MANEJO DE RECURSOS O ACCESO A SERVICIOS o CENTRALIZADOS: si permite utilizar los recursos de un solo ordenador o DISTRIBUIDOS: si permite utilizar los recursos (CPU, memoria, periféricos...) de más de un ordenador al mismo tiempo Categorías de Sistemas Operativos: MULTITAREA: El término multitarea, o también multiprogramación, se refiere a la capacidad del SO para correr más de un programa al mismo tiempo. Existen dos esquemas que los programas de sistemas operativos utilizan para desarrollar SO multitarea, el primero requiere de la cooperación entre el SO y los programas de aplicación. Los programas son escritos de tal manera que periódicamente inspeccionan con el SO para ver si cualquier otro programa necesita a la UCP, si este es el caso, entonces dejan el control de la UCP al siguiente programa, a este método se le llama multitarea cooperativa y es el método utilizado por el SO Windows de Microsoft hasta la versión 95. El segundo método es el llamado multitarea con asignación de prioridades o también ‘preferente’. Con este esquema el SO mantiene una lista de procesos (programas) que están corriendo. Cuando se inicia cada proceso en la lista el SO le asigna una prioridad. En cualquier momento el SO puede intervenir y modificar la prioridad de un proceso organizando en forma efectiva la lista de prioridad, el SO también mantiene el control de la cantidad de tiempo que utiliza con cualquier proceso antes de ir al siguiente. Con multitarea de asignación de prioridades el SO puede sustituir en cualquier momento el proceso que está corriendo y reasignar el tiempo a una tarea de más prioridad. Unix, Linux y las nuevas versiones de Windows emplean este tipo de multitarea. MULTIPROCESO: Las computadoras que tienen más de un núcleo de procesamiento, admiten verdadero multiprocesamiento. Un sistema operativo multiproceso coordina las operaciones de las computadoras multiprocesadoras. Dado que cada núcleo en una computadora de multiproceso puede estar ejecutando una instrucción, los otros núcleos quedan liberados para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos con un SO que aproveche esta configuración. MULTIUSUARIO: Un SO multiusuario permite a más de un usuario acceder a una computadora. Claro que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado para correr en una minicomputadora, era multiusuario y multitarea desde su concepción. Sistemas operativos para PC. (Windows, UNIX, Linux, etc..) DOS: Fue el primer y más común y popular Sistema Operativo para PC. La razón de su popularidad se debió al volumen de software disponible y a la base instalada de computadoras con procesadores Intel o compatibles. Con la aparición de SO con interfases gráficas (desarrollados por Apple para sus propios equipos), Microsoft comienza el desarrollo de un entorno operativo que denominó Windows, que disponía una interfase gráfica sencilla e intuitiva para el usuario. OS/2: IBM y Microsoft reconocieron la necesidad de tomar ventaja de las capacidades multitarea de los nuevos microprocesadores, y se unieron para desarrollar el OS/2, un moderno SO multitarea para esos nuevos microprocesadores de Intel. Sin embargo, la sociedad no duró mucho. Las diferencias en opiniones técnicas y la percepción de IBM al ver a Windows como una amenaza para el OS/2 causó una desavenencia entre las compañías que al final las llevó a la Página 4 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 disolución de la sociedad, continuando IBM sola el desarrollo y promoción del OS/2. Si bien las varias versiones que se desarrollaron de este SO mostraban interesantes aspectos, la supremacía comercial de Windows lo llevó prácticamente al olvido. UNIX: es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, mainframes, minicomputadoras, computadoras personales y estaciones de trabajo. Es un sistema operativo que fue creado a principios de los setentas por los científicos de los laboratorios Bell de AT&T. Fue específicamente diseñado para proveer una manera de manejar científica y especializadamente las aplicaciones computacionales. Este SO se adaptó a los sistemas de cómputo personales (PC). UNIX es más antiguo que todos los demás SO de PC y de muchas maneras sirvió como modelo para éstos. Aun cuando es un SO extremadamente sólido y capaz, la línea de comandos UNIX no es apta para inexpertos, debido a que ofrece demasiados comandos y las interfases gráficas aún no están fuertemente vinculadas con el SO. Un SO de distribución gratuita, que es una derivación del UNIX, conocido como LINUX, está ganando una significativa adhesión disponiendo de mejores interfases gráficas y un conjunto de software de aplicación creciente. WINDOWS: Microsoft denomina con Windows a una familia de sistemas operativos. Se pueden distinguir dos principales orientaciones en los mismos, la orientada a usuarios finales y la orientada a servidores. A la orientada a servidores se las reconoce últimamente por su denominación como Windows Server, seguida por el año en que la empresa iniciaba su comercialización (por ej. Windows Server 2008). A su vez se suelen presentar diferentes versiones del producto con capacidades diferentes de procesamiento según los requerimientos a que se lo destine. (Por ej. se dispone de ocho versiones de Windows Server 2008) En la orientación a usuario final Microsoft ha desarrollado varios productos. Los que se pueden considerar verdaderos Sistemas Operativos (es decir lo que no necesitan otro sistema operativo para funcionar) han sido en orden cronológico: Windows 95, Windows 98, Windows Millenium o 2000, Windows XP, Windows Vista, Windows 7, Windows 8 y Windows 10. Existen asimismo varias versiones de cada uno, orientadas también a satisfacer capacidades de procesamiento y/o utilidades de administración. En https://www.timetoast.com/timelines/linea-de-tiempo-versiones-de-windows se puede apreciar esta “línea de tiempo” de los SO de Microsoft para usuario final: Una de las principales distinciones a hacer es que pueden venir con una longitud de palabra de 32 o de 64 bits. Desde Windows XP por un lado y casi todas las versiones de LINUX tienen versiones con longitud de palabra de 32 y de 64 bits, a los efectos de aprovechar estas características de los procesadores. Windows también tiene una línea de SO orientados a Servidores, además de las de usuario final que mencionamos hasta ahora. A esa línea la llamó Windows NT en un principio, pero luego Página 5 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 fueron denominadas Windows Server, más el año en que se liberaba al mercado.. b, a las que le fueron agregando cada vez más prestaciones, buscando principalmente mayores niveles de estabilidad y seguridad. Sistemas Operativos libres o abiertos y propietarios o privativos: La clasificación de libres o abiertos y propietarios o privativos se aplica a todo tipo de software en rigor. Veamos algunas definiciones / clasificaciones: - Se denomina software libre, a aquél que es gratuito y se puede usar y distribuir sin restricciones. Su código suele ser abierto, lo que significa que está disponible y cualquiera con conocimientos de programación lo puede entender y eventualmente modificarlo para adaptarlo a sus necesidades. - El software propietario o privativo suele ser tener costo y su distribución estar restringida. Su código está cerrado, es decir, el propietario del software no da a conocer a lo que se conoce como código fuente de la aplicación y sólo él puede admitir modificaciones y actualizaciones. Suele estar también protegido por derechos de autor. Un uso no autorizado es considerado ilegal. En los Sistemas operativos, aquellos que son abiertos permitieron que distintas comunidades de usuarios o fabricantes los adaptaran a distintos tipos de hardware y encontrarlos por lo tanto en computadoras de diversas características, desde microcomputadoras hasta computadoras de gran envergadura (Mainframes). Ejemplos de sistema operativo abierto son UNIX, QNX, LINUX, FreeBSD, Chrome, Android. Entre los propietarios encontramos a todos los de Microsoft, así como los de Apple. Futuro de los Sistemas Operativos: Los sistemas operativos siguen evolucionando. La principal tendencia de los sistemas operativos en cuanto a organización de trabajo es convertirse en sistemas operativos distribuidos. Los sistemas operativos distribuidos están diseñados para su uso en un grupo de computadoras conectadas, pero independientes, que comparten recursos. En un sistema operativo distribuido, un proceso puede ejecutarse en cualquier computadora de la red (normalmente, una computadora inactiva en ese momento) para aumentar el rendimiento de ese proceso. En los sistemas distribuidos, todas las funciones básicas de un sistema operativo, como mantener los sistemas de archivos, garantizar un comportamiento razonable y recuperar datos en caso de fallos parciales, resultan más complejas. Se ha progresado mucho en el desarrollo de los sistemas operativos. Estos progresos han sido paralelos a la aparición de nuevas tecnologías y de nuevos algoritmos para las tareas de los sistemas operativos. Actualmente, hay dos paradigmas fundamentales del sistema operativo: el intérprete de la línea de comando (DOS, UNIX, LINUX), y la interfaz gráfica (Mac OS, Windows). Mientras que la familia Windows es claramente más intuitiva y preferida por la mayoría de los usuarios, la industria debe ahora tomar otra medida hacia el sistema operativo ideal. La generación siguiente de sistemas operativos utilizará las nuevas herramientas desarrolladas tales como programación orientada a objetos (OOP), y nueva tecnología de hardware (DRAM's y los microprocesadores densos, con más núcleos y más económicos), para crear un ambiente que beneficie a los programadores (con modularidad y la abstracción crecientes) así como a los usuarios (proporcionándoles una interna, constante y gráficamente orientada interfaz). Los sistemas operativos futuros también se adaptarán fácilmente a las preferencias cambiantes del usuario y a las tecnologías futuras (tales como sistemas de realidad virtual). Página 6 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 2.2.b. Programas utilitarios: concepto, clasificación. Llamamos Utilitarios a aquellos programas entregados por el fabricante, comprados a terceros o desarrollados en la propia instalación, de uso general en todo equipo, escritos con el objeto de realizar tareas repetitivas de procesamiento de datos. Estas tareas se realizan con tanta frecuencia en el curso del procesamiento, que sería extremadamente ineficiente el que cada usuario tuviera que codificarlas en forma de programas una y otra vez. Desde el punto de vista de las funciones que cumplen, los podemos agrupar en: Utilitarios de apoyo a los sistemas de aplicación: Estos programas se integran al sistema de aplicación, es decir, que su función es formar parte de la secuencia de procesamiento necesaria para operar el sistema de aplicación; por ejemplo: generador de copias de archivo, generador de listados, clasificador e intercalador de archivos, etc. Utilitarios de Servicios: Por un lado, se incluyen en este grupo un conjunto de utilitarios que ayudarán a manejar ciertos recursos del computador, y por otro a los utilitarios para el manejo de programas y sus bibliotecas; por ejemplo: listador del directorio de un disco; inicializador de discos, diskette, cinta, casete; el que elimina o renombra archivos; el reorganizador de espacios en discos, etc. 2.2.c. Concepto de lenguaje de programación. Evolución y tendencias. Niveles de lenguajes. Un lenguaje es el conjunto finito de símbolos básicos permitidos, combinados de acuerdo con ciertas reglas del lenguaje a las que se denominan reglas de sintáctica. En los primeros días de la computadora, a fines de la década de 1940, cada programa (o sea la serie de instrucciones que indica a la computadora el trabajo que se va a hacer) tenía que estar escrito en lenguaje de máquina. El único que una computadora puede entender directamente y que consta de combinaciones de ceros y unos. Todos los usuarios tenían que escribir programas compuestos de largas cadenas de ceros y unos para especificar numéricamente la dirección de los datos y los códigos de operaciones que se debían ejecutar en la máquina. Varios años más tarde, se desarrollaron programas llamados traductores, los cuales aceptaban como entrada cierto lenguaje simbólico o mnemotécnico para luego convertirlo automáticamente en lenguaje de máquina. Estos traductores se conocen como ensambladores, que, aunque ahorraban al usuario mucho trabajo, no eran lo suficientemente atractivos para ellos puesto que resultaba molesto tener que especificar, aunque simbólicamente, direcciones y códigos de operaciones. Para resolver problemas, uno tenía que programar todavía en un lenguaje parecido al de máquina. Estos lenguajes reciben el nombre de lenguajes de bajo nivel, debido a que, como dijimos anteriormente, los programadores debían escribir instrucciones con el más fino nivel de detalle dado que la traducción que se realiza es uno-a-uno (cada línea de código corresponde a una sola acción del sistema computacional). Los siguientes lenguajes que aparecieron fueron los lenguajes de alto nivel en los que se introduce el concepto de macroinstrucción (la traducción es una instrucción de alto nivel a muchas de bajo nivel, una-a-muchas). Dentro de esta categoría se encuentran lenguajes tales como BASIC, COBOL, FORTRAN, PASCAL, PL/1, APL, C, ADA, Java, etc. Los lenguajes de alto nivel difieren de sus antecesores de bajo nivel en que requieren menos detalle de codificación. Los traductores que convierten el programa escrito en lenguaje de alto nivel al lenguaje de máquina proporcionan el detalle. Página 7 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Como resultado los programas escritos en lenguaje de alto nivel son menos extensos y más fáciles de escribir que aquellos escritos en lenguaje de bajo nivel. Los lenguajes de muy alto nivel, que aparecieron por primera vez en la década de 1960, se crearon para cubrir necesidades especializadas del usuario y son relativamente fáciles de aprender y de utilizar por lo que se los denominan “amigables” para el usuario. Con los lenguajes de muy alto nivel solo se necesita prescribir lo que la computadora hará en vez de como hacerlo. Existen muchos lenguajes de muy alto nivel en el mercado y por lo general hay más de uno por cada tarea de aplicaciones: Generadores de informes (DMS, RPG). Generadores de programas (se los conoce como 4to.nivel). Software para procesamiento de palabras. Hojas o planillas electrónicas. Paquetes de graficación. etc.. La tendencia es acortar la brecha de comunicación entre hombre y máquina permitiendo que los no especialistas usen la computadora en un amplio número de disciplinas y prueben sus beneficios. Con la venida de la nueva tecnología y de la nueva generación de computadoras, los lenguajes y sistemas en línea han sido y están siendo desarrollados para interactuar más como le gusta al hombre: rápidamente y de un modo conversacional. Historia de los lenguajes de programación: Los lenguajes de programación cierran el abismo entre las computadoras, que sólo trabajan con números binarios, y los humanos, que preferimos utilizar palabras y otros sistemas de numeración. Mediante los programas se indica a la computadora qué tarea debe realizar y como efectuarla, pero para ello es preciso introducir estas órdenes en un lenguaje que el sistema pueda entender. En principio, el ordenador sólo entiende las instrucciones en código máquina, es decir, el específico de la computadora. Sin embargo, a partir de éstos se elaboran los llamados lenguajes de alto y bajo nivel. Generaciones de los lenguajes: LENGUAJES DE BAJO NIVEL: Utilizan códigos muy cercanos a los de la máquina, lo que hace posible la elaboración de programas muy potentes y rápidos, pero son de difícil aprendizaje. LENGUAJES DE ALTO NIVEL: Por el contrario, son de uso mucho más fácil, ya que en ellos un solo comando o instrucción puede equivaler a millares es código máquina. El programador escribe su programa en alguno de estos lenguajes mediante secuencias de instrucciones. Antes de ejecutar el programa la computadora lo traduce a código máquina de una sola vez (lenguajes compiladores) o interpretándolo instrucción por instrucción (lenguajes intérpretes). Ejemplos de lenguajes de alto nivel: Pascal, Cobol, Basic, Fortran, C++ Un Programa de computadora, es una colección de instrucciones que, al ser ejecutadas por la UCP de una máquina, llevan a cabo una tarea o función específica. Estas instrucciones que forman los programas, son almacenadas en archivos denominados archivos ejecutables, puesto que, al teclear su nombre (o hacer clic sobre el icono que los identifica) logras que la computadora los cargue y los ejecute. El contenido de un archivo ejecutable no puede ser entendido por el usuario, ya que no está hecho para que la gente lo lea, sino para que la computadora sea quien lo interprete. Los archivos de programas ejecutables contienen el código máquina, que la UCP identifica como sus instrucciones. Son lo que conocemos como Programas Objeto. Dado que sería muy difícil que los programadores crearan programas directamente en código de máquina, usan lenguajes más fáciles de leer, escribir y entender para la gente. Página 8 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 El programador teclea instrucciones en un editor, que es un programa parecido a un simple procesador de palabras, estas instrucciones son almacenadas en archivos denominados programas fuentes (código fuente). Si los programadores necesitan hacer cambios al programa posteriormente vuelven a correr el editor y cargan el programa fuente para modificarlo. El proceso de conversión de programas fuente a programas objeto se realiza mediante un programa denominado compilador. El compilador toma un programa fuente y lo traduce a programa objeto y almacena este último en otro archivo. CASE: (Computer-Aided Software Engineering o Computer- Aided Systems Engineering - Ingeniería de Software Asistida por Computadora o Ingeniería de Sistemas Asistida por computadora) Software que se utiliza en una cualquiera o en todas las fases del desarrollo de un sistema de información, incluyendo análisis, diseño y programación. Por ejemplo, los diccionarios de datos y herramientas de diagramación ayudan en las fases de análisis y diseño, mientras que los generadores de aplicaciones aceleran la fase de programación. Las herramientas CASE proporcionan métodos automáticos para diseñar y documentar las técnicas tradicionales de programación estructurada. La meta última de CASE es proveer un lenguaje para describir el sistema completo, que sea suficiente para generar todos los programas necesarios. Lenguajes Orientados al Problema y al Procedimiento: Los lenguajes de bajo y alto nivel se conocen como lenguajes de procedimientos, debido a que requieren que las personas escriban procedimientos detallados que indiquen a la computadora como realizar tareas individuales. Los lenguajes de muy alto nivel, en contraste, reciben el nombre de lenguajes orientados al problema puesto que cada uno fue creado para resolver un problema en especial. Además, en un amplio rango de aplicaciones, es fácil distinguir si la misma tiene características ‘administrativo-contables’ o ‘científico-técnicas’. Las primeras se caracterizan por requerir el manejo de un número elevado de datos, normalmente organizados en archivos, y realizar pocas operaciones sencillas con ellos. Por el contrario, las aplicaciones científico-técnicas utilizan comparativamente menor número de datos pero realizan un mayor y más complejo cálculo con ellos. Muchos lenguajes de alto nivel o evolucionados tuvieron en cuenta estos aspectos y por lo tanto se encontraban orientados para cumplir más eficientemente alguno de los dos tipos de procesamiento tipificados anteriormente. La evolución que luego han sufrido estos lenguajes ha hecho que paulatinamente se tornen más aptos para cualquier tipo de procesos, aunque mantienen su mejor predisposición para el cual fueron diseñados. Así por ejemplo el COBOL surge como un lenguaje para resolver los problemas del área administrativa y el FORTRAN lo hace para el área científica. CONCEPTO DE PROGRAMA. PROGRAMA FUENTE Y PROGRAMA OBJETO. COMPILADORES: CONCEPTO Y FUNCIONES. Como ya se mencionó, las computadoras pueden ejecutar programas solo después de que estos han sido traducidos al lenguaje de máquina. Hay dos motivos por los cuales las personas generalmente no escriben programas en este lenguaje: Primero, las instrucciones del lenguaje de máquina constan de cadenas de apariencia compleja de ceros y unos. Por ejemplo: 01001111010101010101010000111 Segundo, las instrucciones en el lenguaje de máquina deben ser escritas en el nivel de exposición más detallado. Por ejemplo, la computadora no puede sumar directamente A y B, colocando el resultado en C, con una sola instrucción como C=A+B Página 9 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Aún una simple tarea como ésta requiere tres o más instrucciones en lenguaje de máquina, como: 1. Cargar el valor representado por A de la memoria principal en un registro. 2. Sumar el valor representado por B de la memoria principal en el mismo registro. 3. Colocar la suma obtenida en otra zona de almacenamiento. Estas instrucciones detalladas, a veces se denominan microinstrucciones, ya que no pueden subdividirse en comandos más pequeños. Una instrucción como C = A + B, por otro lado, es un ejemplo de macroinstrucción. Las macroinstrucciones deben ser divididas en microinstrucciones por el sistema computacional antes de ser procesadas. Todos los lenguajes de alto nivel (como BASIC, FORTRAN y COBOL) utilizan este tipo de instrucciones para ahorrar al operador la tediosa tarea de explicar en detalle a la computadora como hacer el trabajo. Un traductor de lenguaje es simplemente un programa de sistemas que convierte un programa con macroinstrucciones en uno con microinstrucciones en base binaria. Los tipos de traductores de lenguajes son: ensambladores, compiladores e intérpretes. ENSAMBLADORES: Se utilizan exclusivamente con los lenguajes ensambladores. Trabaja como un compilador, produciendo un módulo objeto que puede almacenarse. Cada sistema computacional tiene comúnmente solo un lenguaje ensamblador a su disposición; así, solo necesita adquirirse un ensamblador. COMPILADORES: Un compilador traduce un programa escrito en lenguaje de alto nivel a lenguaje de máquina completamente de una sola vez. Todo lenguaje orientado a los compiladores requiere su propio compilador. Así un programa escrito en lenguaje COBOL necesita un compilador COBOL, no puede traducirse con un compilador FORTRAN. Además, un compilador que funcione con determinada computadora casi seguramente no podrá utilizarse en otra distinta, a menos que exista una cierta compatibilidad entre ellas y el resultado de la compilación también está sometido a consideraciones similares, excepto en los casos de compilación cruzada (se compila en un equipo para que se ejecute en otro específico). El programa que se escribe en un lenguaje de alto nivel y que se introduce en la computadora se conoce como módulo fuente (o programa fuente). El programa escrito en lenguaje de máquina que el compilador produce a partir de él es un módulo objeto (o programa objeto). Antes de que el módulo objeto esté en condiciones de ser ejecutable, por lo común se une a otros módulos objeto que la UCP puede necesitar a fin de procesar el programa. Por ejemplo, la mayoría de las computadoras no pueden calcular directamente raíces cuadradas. Para hacerlo, se apoyan en pequeños subprogramas, los cuales están almacenados en memoria secundaria en forma de módulos objetos. De este modo, si un programa pide el cálculo de una raíz cuadrada, el sistema operativo unirá la versión del módulo objeto del programa con esta rutina de raíz cuadrada a fin de formar un “paquete ejecutable” para la computadora. El proceso de unión se conoce como edición de enlace (o etapa de edición de enlace), y el paquete ejecutable que se forma se denomina módulo de carga (o también módulo ejecutable o programa ejecutable). Los sistemas de computación cuentan con un programa de sistemas especial, denominado editor de enlace, para realizar el enlace de manera automática. Efectivamente, la mayoría de las personas que escriben sus propios programas ni siquiera se dan cuenta de que ocurre la edición de enlace, el sistema operativo se encarga automáticamente de esta operación. Es el módulo de carga el que la computadora ejecuta en realidad. Tanto los módulos objeto como los de carga pueden almacenarse en disco para su uso posterior, de modo que la compilación y la edición de enlace no necesitan realizarse cada vez que se ejecute el programa. Página 10 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 INTÉRPRETES: A diferencia de un compilador, no crea un módulo objeto. Los intérpretes leen, traducen y ejecutan programas fuentes una línea a la vez. De este modo, la traducción al lenguaje de máquina se realiza mientras el programa está siendo ejecutado. Los intérpretes tienen ventajas y desventajas en relación con los compiladores. La ventaja principal es que un intérprete requiere mucho menos espacio de almacenamiento. Asimismo, el intérprete no genera un módulo objeto que tenga que ser almacenado. Muchas versiones del lenguaje BASIC utilizan intérpretes en vez de compiladores, y por esta razón requieren menos almacenamiento que los lenguajes orientados al compilador, como es el caso de COBOL y FORTRAN. Esta es una razón principal por la que el lenguaje BASIC es tan popular en las microcomputadoras, las cuales tienen capacidad limitada de almacenamiento. La desventaja principal de los intérpretes es que son más lentos y menos eficientes que los compiladores. El programa objeto producido por un compilador se encuentra completamente en lenguaje de máquina, de modo que puede ejecutarse rápidamente. Los intérpretes, en contraste, traducen cada instrucción inmediatamente antes de ejecutarla, lo cual lleva más tiempo debido a que debe reiterarse este proceso cada vez que se ejecute una instrucción. Además, el módulo objeto de un programa compilado puede almacenarse en disco, de modo que el programa fuente no tiene que volver a traducirse cada vez que se ejecute el programa; con un intérprete el programa debe ser traducido cada vez que se ejecute. 2.4. Software de Aplicación Son programas diseñados para atender necesidades específicas. También se puede decir que es el conjunto de programas concebidos o creados para atender trabajos específicos del usuario, referidos al cumplimiento de diversos objetivos, reuniendo características que se relacionan únicamente con la aplicación para la cual fue concebido, como por ejemplo Control de stock, Contabilidad General, Sueldos y Jornales, Cuentas Corrientes, etc. Requiere parte del software de base para ejecutarse en el computador Uso de programas de Aplicación en los negocios: La mayoría de las empresas, hoy, utilizan de manera intensiva sistemas de información; depositando todos sus datos y por tanto gran parte de sus activos en ellos; así como integrando la mayoría de sus operaciones diarias o procesos a el uso de los mismos. Así mismo el auge de la tecnología y particularmente el surgimiento de Internet como un verdadero sistema de comunicaciones internacional ha cambiado drásticamente el modo de operar de las mismas; reduciendo costos y permitiendo alcanzar nuevos mercados. Todos los cambios junto con el rediseño de la organización, han creado las condiciones para que la mayoría de las empresas adopten la tecnología y la hagan parte su vida y forma de relacionarse con clientes, proveedores, empleados, etc. Hoy se ve que casi todos los procesos de negocios centrales se completan a través de sus sistemas que abarcan toda la empresa e incluso se enlazan con múltiples organizaciones. El uso de los sistemas y las tecnologías son algunas de las herramientas disponibles más importantes para que los gerentes consigan niveles eficiencia y productividad más altos en las operaciones empresariales, especialmente cuando se vinculan con cambios en las prácticas de negocios y el comportamiento administrativo. Los sistemas y las tecnologías de información son las principales herramientas que permiten a las empresas crear nuevos productos y servicios, así como modelos de negocios totalmente nuevos. Así mismo los sistemas y las tecnologías de información han hecho posible utilizar datos del mercado facilitando el proceso de toma de decisiones. Cuando las empresas incorporan tecnología y las integran de manera novedosa a sus procesos normalmente logran alcanzar una ventaja competitiva frente a sus competidores; lo que Página 11 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 las lleva normalmente a conseguir más y mejores ventas y/o disminuir costos permitiéndoles mejorar las utilidades. Desde una perspectiva empresarial, un sistema de información constituye un importante instrumento para crear valor para la empresa. Los sistemas de información permiten a la empresa incrementar sus ingresos o reducir sus costos al brindar información necesaria para la toma de decisiones o a optimizar los procesos de negocios. Aunque existan otras razones para construir sistemas de información, su principal finalidad es contribuir al valor corporativo. Así también es necesario remarcar que la simple inversión en tecnología no garantiza mejorar el rendimiento de una compañía. Algunas empresas se equivocan al adoptar el modelo de negocios que se ajuste a la nueva tecnología que se va a incorporar, o intentan conservar un viejo modelo de negocios que ya no puede ser sostenido o podría ser ampliamente superado con la incorporación de nueva tecnología. Las compañías deberán por tanto acompañar sus inversiones en tecnología con inversiones relacionadas con el desarrollo de un nuevo modelo de negocios, reingeniería de sus procesos de negocios y capacitación. Página 12 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Clasificación Los Sistemas de Aplicación pueden ser: 1) Sistemas de Aplicación confeccionados especialmente para un usuario determinado (personalizados o a medida). 2) Sistemas de Aplicación pre-planeados (enlatados o empaquetados). Sistemas de desarrollo propio: Características, ventajas e inconvenientes. Estos sistemas ofrecen la oportunidad a la empresa de introducir sus propias demandas que darían soporte a características especiales de sus modos de funcionar que los diferencian de otras empresas del mismo rubro. Por ello su denominación "hecho a medida", obedece a las características que esa aplicación tiene para ese usuario especial. Desde ya que, teóricamente, un sistema de estas condiciones debería satisfacer plenamente las necesidades del usuario. Generalmente son requeridos cuando una organización tiene necesidades específicas que el software existente en el mercado no logra satisfacer. Este tipo de desarrollos puede clasificarse en: De desarrollo propio: Se da cuando la organización tiene un área de sistemas orientado a proyectos y puede hacer el trabajo. Vale decir, que tiene disponibilidad de recursos propios capacitados técnicamente en el desarrollo de software y con el tiempo necesario para hacerlo. Desarrollados por terceros: Esta situación se genera cuando hay demanda de desarrollo propio y no existe área de sistema en la propia organización. Aquí se contrata a una empresa consultora para que realice el trabajo. Ventajas: Posibilita la personalización del sistema, que se adecue exactamente a las necesidades del usuario. Buena adecuación de funciones a las necesidades del negocio. Buena adecuación de funciones a la cultura organizacional. Siempre es factible solicitar mantenimiento para lograr actualizaciones que acompañen a las características cambiantes del negocio y/o a las nuevas tecnologías. Es factible alcanzar integración con otros sistemas de información funcionando en la empresa. Desventajas: Tienen un costo incierto (generalmente mayor ya que la empresa absorbe todos los gastos de diseño y creación) Insumen tiempo (meses y aún años dependiendo del tiempo asignado por el equipo de desarrollo y la magnitud del proyecto) para su diseño, codificación y depuración Cuando el software se desarrolla a medida es difícil predecir como trabajar el producto final. Sistemas preplaneados. Características. Criterios de evaluación. Inconvenientes. Estos sistemas se orientan a aplicaciones específicas de los usuarios y son concebidos en forma estándar, tomando en cuenta las características propias de la aplicación para satisfacerlas en los requerimientos generales de la misma sin considerar las particularidades de los usuarios. Se trata de sistemas que, desde el punto de vista de los requerimientos de un usuario determinado, podrían resultar menos flexibles que los desarrollados especialmente, debido a que en general no disponen de elementos que permitan personalizar o adecuar la aplicación. Página 13 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Así también si se los analiza desde el punto de vista de los requerimientos de un tipo de usuarios pertenecientes por ejemplo a un sector de la actividad económica, son sistemas mucho más genéricos que los desarrollados para satisfacer los requerimientos de un usuario en forma específica. De este modo, frente a una necesidad de procesar por computación una aplicación cualquiera, el usuario tiene con estos sistemas la posibilidad de adquirir los programas ya desarrollados en forma estándar que reúnen las características comunes de la aplicación a la que se refiere. En resumen, diremos que el modelo de desarrollo a medida lo que cuenta es la necesidad específica de ese usuario que deber satisfacer la aplicación. En cambio, en los sistemas pre- planeados, el modelo tomado en cuenta resulta ser la conjunción de los requerimientos generales que se persigue satisfacer con dicha aplicación, independientemente del usuario en particular. Ventajas de un preplaneado: Generalmente resultan de costo inferior (puesto que su costo se prorratea entre todos los usuarios del mismo - los costos se distribuyen, entonces los precios tienden a bajar). Calidad conocida. Se reduce la incertidumbre ya que podría contar con antecedentes probados y un grupo activo de usuarios con quienes intercambiar experiencias Soporte del vendedor. Actualizaciones a bajo costo. Disponibilidad inmediata. Buena Documentación. Desventajas: No son personalizados, cubren los requerimientos generales y estándar que requiere satisfacer dicha aplicación. Funciones adecuadas al mínimo común denominador de las necesidades de todos los usuarios. El software a menudo solo atiende una pequeña gama de necesidades. Los compradores pagan funciones que no necesitan Es imposible modificar para cumplir necesidades específicas. El ahorro que puede implicar la adquisición de un preplaneado puede resultar ser solo aparente, ya que un preplaneado comparado con los requerimientos que el usuario tiene puede: a) Coincidir plenamente: Situación ideal en la que el ahorro económico es real. b) Excederlos: En este caso se paga por elementos y funciones que no se utilizarán en la satisfacción de ningún requerimiento. Se invierte más de lo que las necesidades requerían para ser satisfechas, no obstante lo cual puede seguir siendo más económico que la solución a medida. c) Satisfacerlos en forma parcial o de manera diferente a lo que es práctica usual en la Organización. Con lo que el ahorro es absorbido por el costo implícito que significa al usuario adaptar la Organización a los requerimientos del sistema en lugar de que este satisfaga las necesidades de la misma. Además, cuando no se trata de paquetes integrados los pre-planeados atentan contra la integración de los distintos sistemas, al ser adquiridos en forma independiente para cada uno de ellos. Solo posibilitan la utilización de los datos almacenado a través de funciones previamente establecidas (no permiten consultas no planeadas ni la generación de reportes adicionales) Actualmente existen paquetes pre-planeados altamente integrados, con un buen criterio de parametrización, que trae como consecuencia la posibilidad de "personalizarlos". Página 14 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Como decidir entre Software enlatado vs. Aplicaciones hechas a medida Ante la necesidad de tomar la decisión de escoger un preplaneado o desarrollar el sistema, se deber tener en cuenta la característica de cada organización, ya que en algunas el costo de adaptar sus requerimientos a un sistema estándar no es significativo, pero existen otras para las cuales la personalización no es caprichosa sino imprescindible. La decisión dependerá, entre otras cosas, de: Existencia en el mercado de paquetes que satisfagan los requerimientos. Resultado obtenido al analizar la relación grado de satisfacción de requerimientos vs. Costo. Disponibilidad de tiempo para la implementación Mercados de Software (puntual – vertical – horizontal Desde el ámbito comercial, podría decirse que existen tres (3) tipos de MERCADOS: * PUNTUAL : Dícese de aquel que identifica "puntualmente" (de allí su denominación) las posibilidades de su venta. Las aplicaciones dirigidas a este tipo de mercado son, obviamente, más costosas, por estrictas razones de relación "COSTO-BENEFICIO", dado que es limitada la cantidad de veces que podrá venderse. Ejemplos: Sistema para una empresa que quiera distinguirse de la competencia (única y reconocida en el mercado); Sistema de Exploración y Producción de Petróleo, etc.... * VERTICAL : Este mercado identifica un área de ventas mayor que el Mercado Puntual; permite abarcar una franja vertical del mercado, por ende su precio resulta más reducido. Ejemplos: Sistemas para Clínicas y Sanatorios, Sistemas de Seguros, Sistemas Bancarios, etc.. HORIZONTAL : Es el más amplio de los tres. Puede ser utilizado por la mayoría de los clientes, sin importar su actividad, naturaleza ni tamaño. Como ejemplos de este mercado podrían citarse: Sistema de Contabilidad, Sistema de Cuentas Corrientes, Sistema de Cartera de Documentos, etc.. 2.5. Software de aplicación de propósitos general y específico Software de aplicación de propósito general: Sirven para diferentes finalidades. Los puede usar la mayoría de los tipos de usuarios tanto particulares como corporativos (procesadores de texto, planillas de cálculo, redes sociales etc.). Son generalmente software empaquetado (vienen listas para instalarse y usarse y no tienen posibilidad alguna de ser modificados) Software específico de aplicación: Estos son programas diseñados para atender necesidades mucho más particulares de un sector de la actividad. Tienen características y funcionalidades que le sirven solamente a algún tipo de usuarios específicos. Aquí es válido definir entre diversas alternativas para su adquisición de acuerdo a qué tan particulares fueran las demandas de ese cliente; comprar uno existente o desarrollarlo a medida ya sea dentro o fuera de la organización. Cómo elegir un SOFTWARE La elección de un Sistema en una empresa es un proceso bastante largo y complicado y que normalmente recae sobre varias personas. Es algo sumamente importante para la empresa, por eso normalmente se deja en manos de la dirección de la empresa para garantizar el éxito. Página 15 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Se pueden distinguir 5 etapas en el proceso de elección de software. 1. Elección de responsables Se les asigna la tarea de elegir el Software para implantar en la empresa. Es importante que se impliquen todos los departamentos que usaran el SW; así cada uno pueda especificar mejor los requisitos de su sistema ideal a la consultora responsable de presentar su solución Recopilación de la información. Consiste en averiguar las posibles soluciones que hay en el mercado, su coste...etc. y determinar las que podrían ser viables en nuestra empresa. 2. Presentación de soluciones. Después de hacernos con una pequeña agenda de consultoras o empresas informáticas que nos interesan. Se concede una cita para presentación de su SW. 3. Valoración de las soluciones y presupuestos. Este sería el primer filtro, donde con las soluciones en la mesa analizamos la viabilidad de cada una y pedimos presupuestos más detallados. Aquí es donde prácticamente nos quedaremos con una o dos soluciones en la mesa ya que las demás quedaran descartadas por nuestros criterios. No hay que tener miedo para conceder más entrevistas para quedarse seguro del todo, dado el coste de la solución y su repercusión directa en la empresa. 4. Tomar una decisión. Esta fase crítica es donde tomamos la decisión definitiva sobre alguna solución. Es prioritario que todos los departamentos implicados pongan su granito de arena y sobre todo la cúpula directiva. De hecho. son ellos y no los informáticos los que deberían de implicarse más. Sin el apoyo de la dirección la implantación será un completo desastre. Criterios funcionales para elegir un software Adaptable. Aquí se evaluará el grado de adecuación al propósito. Esto es que tanto se ajusta a los requerimientos de la empresa. Completo. Debe dar servicio a todos los departamentos y además debe poder integrar la información de todos estos. Estándar. De cumplir con este requisito, se necesitará menos horas de formación. Escalable. Esta característica permitirá escalar la solución con el menor esfuerzo posible. Esto es incorporar nuevos módulos o funcionalidades. Fácil de usar. Este atributo redunda en un menor costo en la formación de los empleados y que las tareas se hagan de una manera más eficiente. Seguro. Que permita establecer niveles de acceso diferentes a la información. Criterios Tecnológicos para elegir un software Se actualice y adapte a las nuevas tecnologías, que no se quede estático en la tecnología y requisitos del pasado. ERP multiplataforma. apostar por algo que puede funcionar en cualquier dispositivo. Tecnologías estándar, que nos permita delegar su mantenimiento posterior a cualquier otra compañía. Posibilidad de desarrollo propio y entrega de código fuente. Arquitectura. que sea multicapa, o sea que tenga una capa de datos, capa de lógica y capa de cliente. Con ello el soporte y el mantenimiento se simplifica bastante. Soporte Técnico- Disponibilidad y calidad Cantidad de Organizaciones que utilizan el mismo Software. Lo que probaría la integración del mismo a las necesidades de una empresa en marcha y el grado de satisfacción. Costo Página 16 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 2.6 Tendencias en Aplicaciones Empresariales - ERP/CRM/SCM/BI/SSDG Por lo general las empresas fueron adquiriendo sistemas para dar solución a diversas áreas de la misma. Así luego de un tiempo las empresas se encuentran que tienen un grupo de sistemas cuya mayoría son antiguos, y enfrentan el reto de lograr que se comuniquen entre sí y que funcionen en conjunto como un sistema corporativo. Esta fue una visión que está tendiendo a desaparecer y es la de ver a la empresa y a sus sistemas como estructurados por departamentos. Una solución a esto ver a la organización integrada como un sistema y organizada con una visión de procesos. De esta manera el desafío será implementar aplicaciones empresariales, que son sistemas que abarcan todas las áreas funcionales, con la tarea de ejecutar procesos de negocios a lo largo de toda la empresa, e incluyen todos los niveles de administración. Esta visión y este tipo de sistemas ayudan a las empresas a volverse más flexibles y productivas por medio de la coordinación más estrecha de sus procesos de negocios y la integración de grupos de procesos, de modo que se enfoquen en la administración eficiente de recursos y el servicio al cliente. Página 17 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Existen varios tipos de aplicaciones empresariales: Sistemas de Planificación de Recursos Empresariales Enterprise Resource Planning – ERP Los sistemas empresariales o sistemas de planeación de recursos empresariales, resuelven este problema recopilando datos de varios procesos de negocios clave de manufactura y producción, finanzas y contabilidad, ventas y marketing y de recursos humanos, y almacenándolos en una sola base de datos central. Esto hace posible que la información que antes estaba fragmentada en diferentes sistemas se pueda compartir en la empresa y por distintas partes del negocio para trabajar en conjunto de una manera más estrecha. Estos circuitos o procesos optimizan la comunicación de la información en toda la organización, facilitándole a ésta la coordinación de sus operaciones cotidianas. Los sistemas (ERP) se basan en un conjunto de módulos de software integrados y en una base de datos central común. La base de datos recopila información procedente de muchas divisiones y departamentos diferentes de la empresa, y de una gran cantidad de procesos de negocios clave relacionados con la manufactura y la producción, las finanzas y la contabilidad, las ventas y el marketing, así como los recursos humanos, y la pone a disposición de las aplicaciones que apoyan a casi todas las actividades de negocios internas de una organización. Cuando un proceso introduce nueva información, ésta es puesta inmediatamente a disposición de otros procesos de negocios. Este tipo de software normalmente se construye con base en miles de procesos de negocios predefinidos que reflejan las mejores prácticas. Las mejores prácticas son las soluciones o los métodos de resolución de problemas más exitosos en una industria que ayudan a alcanzar un objetivo de negocios de manera consistente y efectiva. Estas surgen de dos fuentes: de las compañías consultoras que trabajan para muchas empresas de una industria y de las compañías de software empresarial que desarrollan experiencia en la industria al trabajar con muchos clientes. Los ERP otorgan flexibilidad para responder rápidamente a las solicitudes de los clientes y al mismo tiempo producir y almacenar en inventario únicamente lo necesario para sustituir los pedidos. Su capacidad para incrementar embarques exactos y oportunos, minimizar costos y aumentar la satisfacción del cliente contribuye a la rentabilidad de la empresa. Los ERP aportan información valiosa para la toma de decisiones administrativas. Las oficinas centrales tienen acceso a datos actualizados al instante sobre ventas, inventario y producción. Los ERP proporcionan información de toda la empresa para ayudar a los gerentes a analizar la rentabilidad general de los productos o las estructuras de costo. Algunas de las razones por las que es beneficioso implementar ERP son las siguientes: Fortalece la relación de la Cadena de Abastecimiento Refuerza la flexibilidad Organizacional Reduce Tiempos de Comercialización Mejora la Información para la toma de Decisiones Aumenta la Capacidad de Producción Mejora el Ciclo de Pedido Tiempo/Exactitud/Costo Reduce Inventarios Reduce Personal/ Aumenta Capacidad Reduce Costos Logísticos Reduce Costos de Manufactura Mejora el Ciclo de Pedido Tiempo/Exactitud/Costo Permiten evaluar el desempeño general de la organización o cada una unidad específica de la organización Permite determinar cuáles productos son los más o menos rentables Página 18 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Características de los Sistemas Integrados Modernos (ERP) INTERFASE GRAFICA (GUI) PARAMETRIZACION CLIENTE / SERVIDOR USO DE MOTORES DE BD ALTA INTEGRACION REPORTEADORES AD-HOC INDUSTRIAS VERTICALES Sistemas de administración de las relaciones con el cliente Customer Relationship Managament - CRM Los sistemas de administración de las relaciones con los clientes ayudan a las empresas a administrar sus relaciones con los clientes. Es una combinación de procesos de negocios y tecnología que pretende comprender a los clientes de una compañía en una visión multidimensional. Los paradigmas clásicos deben ser cambiados para implementar CRM Orientación marketing desde el orientado a los productos versus orientación hacia los clientes. Marketing de Masa versus Marketing 1 a 1. Compartir el cliente versus compartir el mercado. La administración eficaz de los clientes es una fuente de diferenciación Es fundamental considerar que para implementar CRM no basta con la sola compra de software de CRM; deben adecuarse también los procesos relacionados con los clientes. (Marketing, Ventas, Servicio al Cliente, etc.). Es importante diseñar el modo de consolidar la información del cliente que puede incluso provenir de diferentes canales de comunicación: teléfono, correo electrónico, dispositivos inalámbricos, establecimientos comerciales o la Web. El conocimiento detallado y preciso de los clientes y sus preferencias ayuda a las empresas a incrementar la efectividad de sus campañas de Marketing y a ofrecer servicio que se adapten con más precisión a las preferencias del cliente, y proporcionarles valor continuo para conservar a los clientes rentables. La información que proveen estos procesos sirve para identificar, atraer y conservar a los clientes más redituables, proporcionar mejores servicios, mayor calidad de atención y soporte técnico a los clientes, en consecuencia, incrementar las ventas. En definitiva, la implementación de CRM busca alcanzar tres objetivos fundamentales Adquirir nuevos clientes. Mejorar las perspectivas de ganancias con los clientes existentes. Retener los buenos clientes toda la vida. Sistemas de administración de la cadena de suministro-SCM Supply Chain Management – SCM Los sistemas de administración de la cadena de suministro ayudan a las empresas a manejar las relaciones con sus proveedores. Estos sistemas aportan información para ayudar a los proveedores, empresas de compras, distribuidores y empresas de logística a compartir información sobre pedidos, producción, niveles de inventario y entrega de productos y servicios de manera que puedan obtener, producir y entregar bienes y servicios de manera eficiente. Cuando se habla de "gestión de la cadena de suministro", se hace referencia a "la unión de todos los procesos y de todas las empresas que participan en la producción, distribución, manipulación, almacenamiento y comercialización de un producto y sus componentes; es decir, Página 19 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 integra todas las empresas que hacen posible que un producto salga al mercado en un momento determinado. Esto incluye: ◼ a los proveedores de materias primas, ◼ fabricantes, ◼ distribuidores, ◼ Transportistas, ◼ detallistas. El objetivo primordial es conseguir la cantidad correcta de sus productos desde su origen al punto de consumo en la menor cantidad de tiempo y al costo más bajo. La falta de información a la hora de realizar las compras o generar ordenes de fabricación; puede provocar costos excesivos de inventarios, producción, almacenamiento y envíos. Esto se controla reduciendo las incertidumbres sobre la demanda y el suministro cuando todos los miembros de la cadena tienen información precisa y actualizada. Una de las funciones más importantes de este tipo de Software es justamente la planeación de la demanda, la cual determina qué cantidad de un producto debe elaborar una empresa para satisfacer las demandas de todos sus clientes. Estos sistemas incrementan la rentabilidad de una empresa reduciendo los costos de desplazamiento y fabricación de productos permitiendo a los gerentes tomar mejores decisiones sobre cómo organizar y programar la contratación, la producción y la distribución. También permite reducir niveles de inventario, mejorar el servicio de entrega, acelerar el tiempo en que un producto sale al mercado y utilizar sus activos de manera más efectiva. Los SCM constituyen un tipo de sistema inter organizacional porque automatizan el flujo de la información a través de los límites de la organización Parte de la integración de la cadena de suministro se consigue a un costo muy bajo a través de la tecnología de internet. Generalmente las empresas utilizan intranets para mejorar la coordinación entre los procesos internos de su cadena de suministro, y emplean internet para coordinar los procesos de la cadena de suministro que comparten con sus socios de negocios. En las empresas que aplican este modelo (basado en la demanda); los pedidos o las compras reales de los clientes activan eventos de la cadena de suministro. Los fabricantes sólo utilizan información real sobre la demanda de pedidos para programar sus calendarios de producción y la adquisición de componentes o materias primas. BI – Business Intelligence Inteligencia de Negocios Business Intelligence otorga la posibilidad de 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. Se lo puede definir como un conjunto de metodologías, aplicaciones y tecnologías que permiten reunir, depurar y transformar datos de los sistemas transaccionales e información desestructurada en información estructurada, para su explotación directa o para su análisis y conversión en conocimiento, dando así soporte a la toma de decisiones sobre el negocio. La inteligencia de negocio actúa como un factor estratégico para una empresa u organización, generando una potencial ventaja competitiva al proporcionar información privilegiada para responder a los problemas de negocio, permitiendo el acceso a nuevos mercados, promociones u ofertas de productos, eliminando islas de información, permitiendo mejorar el control financiero, optimizando costes, planificando la producción, y efectuar análisis de perfiles de clientes, rentabilidad de un producto concreto, etc... Las herramientas de inteligencia se basan en la utilización de un sistema de información de inteligencia que se forma con distintos datos extraídos de los datos de producción, con información relacionada con la empresa o sus ámbitos y con datos económicos. Página 20 de 21 Facultad de Ciencias Económicas – U.N.N.E. Informática Aplicada Unidad 2 Por último, las herramientas de BI posibilitan el modelado de las representaciones con base en consultas para crear un tablero de comando para la presentación de informes. Características: 1. Accesibilidad a la información: Los datos son la fuente principal de este concepto. Lo primero que deben garantizar este tipo de herramientas y técnicas será el acceso de los usuarios a los datos. 2. Apoyo en la toma de decisiones: Se busca que los usuarios tengan acceso a herramientas de análisis que les permitan seleccionar y manipular sólo aquellos datos que les interesen. 3. Orientación al usuario final: Se busca independencia entre los conocimientos técnicos de los usuarios y su capacidad para utilizar estas herramientas. SSDG Sistemas de Soporte a las decisiones en grupo Las decisiones más complejas tomadas dentro de las organizaciones son hechas por un grupo de personas. Conforme la complejidad de la toma de decisiones aumenta, la necesidad de juntas y de trabajo en equipo se incrementa. La preparación de cada junta y la dirección de las mismas puede ser un proceso complejo. Es por ello que los sistemas electrónicos pueden ser la solución; los llamados Sistemas de Soporte de Decisión en Grupo (SSDG). Los componentes de un SSDG incluyen hardware, software, personas y procedimientos. Todos estos componentes están arreglados de tal manera para ayudar en el proceso para llegar a una decisión. En este tipo de sistema se permite recuperar información que incluye una selección de datos de una base ya existente, así como recuperar datos de otros miembros del grupo. La información compartida, que es desplegada a todo el grupo por medio de una pantalla o es enviada a un grupo seleccionado de estaciones de trabajo. El uso de un SSSDG implica la aplicación de tecnología de software, procedimientos, técnicas de solución de problemas en grupo para alcanzar una decisión grupal. Características de un SSDG Es un sistema de información especialmente diseñado y no solamente una configuración de componentes del sistema ya existentes. Diseñado con el objetivo de ayudar a la toma de decisiones grupales en el trabajo. Es fácil de aprender a usar, ya que deberá ser utilizado por personas con diferentes niveles de conocimientos. Diseñado para un tipo de problema o para una variedad de decisiones organizacionales a diferentes niveles. Diseñado para fomentar actividades como generación de ideas resolución de conflictos y libertad de expresión. Contiene mecanismos que desalientan el desarrollo de comportamientos grupales negativos como conflictos destructivos, mala comunicación y pensamientos de grupo. Objetivo Las múltiples ventajas de los SSDG se centran en el desempeño de las capacidades decisivas en grupos grandes y la mejoría de la participación individual en la toma de cada decisión. Estas ventajas representan ganancias en el resultado del proceso al reducir las pérdidas en el proceso y permiten obtener un resultado mejor mediante el empleo de tecnología de soporte de decisiones. Otros Tipos de software que surgen y son tendencia (Teletrabajo, Video Conferencias, Redes Sociales (mercadotecnia), Workflow) Página 21 de 21