5. SOFTWARE SOFTWARE OPERATIVO Y DE DESARROLLO EL SOFTWARE PARA SU ESTUDIO SE DIVIDE EN: SOFTWARE Uso o estandarización Función SW de base o de sistema SW de aplicación Sistemas operativos Editores SW de propósito general nivel Bajo nivel Utilerías Shell Lenguajes de programación Alto nivel tipo de traductor Compiladores Intérpretes orientación Procedurales Orientados a objetos Acceso SW de propósito específico SW propietario A medida De acuerdo al cliente SW libre SW DE ACUERDO A SU FUNCIÓN SE REFIERE A LA FORMA EN COMO SE DIVIDE DESDE EL PUNTO DE VISTA OPERACIONAL Usuario Sistema Bancario Compiladores / intérpretes Sistema de reservaciones Editores Navegador Shell o intérprete de comandos SW de aplicación SW de sistemas Sistema operativo Lenguaje máquina Firmware Microarquitectura (microprogramación) Dispositivos físicos Hardware SW DE APLICACIÓN (Paquetes) Es aquel SW que dirige las distintas tareas para las que se utilizan las computadoras, es decir, facilita al usuario la realización de un determinado tipo de trabajo Lleva a cabo tareas de tratamiento de textos, gestión de bases de datos, contabilidad, reservaciones de viajes y similares SW DE SISTEMA O DE BASE Es aquel SW que controlan el funcionamiento interno de la computadora (los trabajos que desempeña la computadora) SISTEMA OPERATIVO: Es el intermediario entre el usuario y la máquina. Controla los procesos de la computadora y administra sus recursos. Tiene 3 funciones principales: – coordina y manipula el hardware de la computadora (ej. la administración de la pantalla) – organiza los archivos en diversos dispositivos de almacenamiento – gestiona los errores de hardware y la pérdida de datos SW DE SISTEMA EDITORES: SW para crear y/o editar texto plano (texto sin formato) UTILERÍAS O BIBLIOTECAS: SW auxiliar que es utilizado por otros SW para resolver sus tareas. Necesita ser invocado por otro SW para trabajar. Generalmente realiza tareas de mantenimiento o de uso general SHELL O INTÉRPRETE DE COMANDOS: la interfaz de usuario provista por el sistema para permitir al usuario llevar a cabo tareas comunes tales como acceder al sistema de archivos, ejecutar programas, cambiar la configuración del sistema, etc. Es un intermediario entre el usuario y el sistema operativo (SO). Su función es la de proporcionar al usuario una forma de acceder a los recursos de la computadora SW DE SISTEMA LENGUAJE DE PROGRAMACIÓN: cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por una computadora Clasificación de acuerdo a su nivel – Nivel bajo: Es aquel lenguaje que sólo entiende la computadora, es decir, el lenguaje que maneja el procesador y es dependiente de él – Lenguaje máquina: Aquel cuyas instrucciones y datos están dadas en términos de unos y ceros (lenguaje binario) Lenguaje ensamblador: Aquel cuyas instrucciones están dadas en términos de mnemotécnicos Nivel alto: Aquel lenguaje cuyas instrucciones se asemejan al lenguaje natural, es decir está dada como enunciados que nosotros podemos entender. Es independiente de la máquina. Ej. Lenguaje C, Pascal, Fortran, C++ SW DE SISTEMA LENGUAJES DE PROGRAMACIÓN Clasificación de acuerdo al tipo de traductor Traductor: es un SW que toma un código denominado fuente y lo transforma en otro código equivalente denominado objeto Código fuente Código TRADUCTOR objeto SW DE SISTEMA Tipos de traductores – Intérpretes: Traducen una instrucción a la vez y la ejecutan. No genera código objeto y sólo genera un resultado o un error 1 instrucción INTÉRPRETE 1 error 1 resultado SW DE SISTEMA Tipos de traductores – Compiladores: Aquellos traductores que cuyo código fuente está en lenguaje de alto nivel y lo transforman a lenguaje de bajo nivel. Ej. C, Pascal, Fortran, C++ El Ensamblador es un caso particular de un compilador, ya que traduce el lenguaje ensamblador a lenguaje datos máquina Código fuente Código Compilador objeto errores de sintaxis y semántica ligador Código máquina utilerías errores de memoria resul tado s SW DE SISTEMA Tipos de traductores – Híbridos: Aquellos traductores que actúan tanto como intérpretes y como compiladores. Ejemplo: Java, C# SW DE SISTEMA VENTAJAS Compilar vs. Interpretar Se compila 1 vez se ejecuta n veces Interpretar vs. Compilar Intérprete ocupa menos memoria Cuando se repiten las mismas Permite mayor interactividad en tiempo instrucciones varias veces (ciclos): de desarrollo. A medida que escribes te compilador genera todo el bloque muestra los errores de sintaxis equivalente. Intérprete realiza las m potenciales traducciones una por una Compilador tiene visión global del programa. Presenta todos (la mayoría) de errores en forma más detallada. Intérprete se detiene cuando encuentra un error El ejecutable que se crea es independiente de la máquina. Es necesario tener el intérprete para ejecutar el programa SW DE SISTEMA LENGUAJES DE PROGRAMACIÓN Clasificación de acuerdo a su orientación – Procedurales: Aquellos orientados a resolver tareas en específico, llevando a cabo una serie de pasos. Se refiere a la forma en que sabemos hacer algo. Hacen uso de funciones – Algoritmos + estructuras de datos = programas Orientados a Objetos (OO): Aquellos que trabajan con objetos que representan entidades del mundo real; les asocian propiedades (atributos) y tienen procedimientos que permiten trabajar con ellos (métodos o funciones) SW DE ACUERDO A SU USO O ESTANDARIZACIÓN Se refiere a la forma en como se usa convencionalmente atendiendo las necesidades de los usuarios SW DE PROPÓSITO GENERAL: Aquel SW orientado a las necesidades generales de los usuarios. También llamados paquetes integrados de software o solamente paquetes, ofrecen poca potencia pero a cambio incluyen varias aplicaciones, como un SW procesador de textos, de hoja de cálculo y de base de datos SW DE PROPÓSITO ESPECÍFICO: ofrecen una gran potencia ya que están exclusivamente diseñados para resolver un problema específico – – SW A MEDIDA (custom mode): Son los creados por empresas para sus propias actividades, son susceptibles de modificación SW DE ACUERDO AL CLIENTE (personalizado o customized): Programas estándar modificados de acuerdo a la necesidad de un usuario en particular SW DE ACUERDO A SU ACCESO SE REFIERE A LA MEDIDA EN QUE SE PERMITE TANTO SU USO COMO EL PODER MODIFICAR SU CÓDIGO FUENTE O NO SW LIBRE ES AQUEL SW QUE UNA VEZ OBTENIDO, PUEDE SER USADO, COPIADO, ESTUDIADO, MODIFICADO Y REDISTRIBUIDO LIBREMENTE. LA LICENCIA PARA SU USO SE PONE A DISPOSICIÓN DEL USUARIO EN FORMA GRATUITA. ASIMISMO SE PONE A DISPOSICIÓN EL CÓDIGO FUENTE PARA QUE EL USUARIO VEA CÓMO SE PROGRAMÓ Y PUEDA APORTAR MEJORAS A ÉL SW DE ACUERDO A SU ACCESO SW PROPIETARIO ES AQUEL EN EL QUE LOS USUARIOS TIENEN LIMITADAS LAS POSIBILIDADES DE USARLO, MODIFICARLO O REDISTRIBUIRLO (CON O SIN MODIFICACIONES). PARA OBTENER LA LICENCIA DE USO ES NECESARIO PAGAR UNA DETERMINADA CANTIDAD (GENERALMETE ELEVADA) DE DINERO Y EL ACCESO AL CÓDIGO FUENTE SÓLO LO POSEE EL FABRICANTE DEL SW