La asignación de tipos a los datos con los que opera un programa permite:

Share Button

Tema 1:

  • Características de un pc:


    periféricos de entrada, interfazà procesador (unidad de control, unidad aritmético-lógica), memoria central, interfazàPeriféricos de salida
  • Datos:


    son aquellos elementos considerados como unidades de tratamiento. Pueden ser de entrada o salida
  • Información:


    implica que los datos estén procesados de manera que resulten útiles o significativos para el receptor de los mismos.
  • Programas:


    son conjuntos de órdenes diseñados y creados a través del razonamiento lógico y almacenado en ficheros de texto respetando la sintaxis de un determinado lenguaje. Tienen como objetivo la realización de tareas concretas.
  • Aplicación informática


    Es la unión de uno o más programas enlazados entre sí, junto a la documentación generada durante el proceso de desarrollo de dicha aplicación.
  • Sistema informático


    Es un conjunto de elementos, cuya finalidad es la de obtener nueva información a partir de la ya existente y no elaborada.
  • Un sistema operativo es una interfaz entre ordenador y usuario, se encarga de la gestión del procesador, de la memoria principal, de los dispositivos de entrada y salida y de la memoria auxiliar.
    1. Tipos de S.S.O.O
      • Sistemas monoprogramados: permiten la ejecución de un solo programa a la vez
      • Sistemas multiprogramados (multitarea): permiten la ejecucuión de varios programas simultáneamente (concurrencia de procesos)
      • Sistemas multiprocesos: son capaces de ejecutar varios procesos a la vez (Procesos paralelo.)
      • Sistemas de tiempo compartido: multiprogramación interactiva, permiten la ejecución simultánea de varios programas junto con la interactividad del usuario, pudiendo éste realizar peticiones al sistema que serán atendidas inmediatamente.
      • Sistemas de tiempo real: el tiempo de respuesta es el período de tiempo transcurrido desde que se realiza una petición o solicitud al sistema hasta que este responde.
    2. Monousuarios: sólo permiten el acceso a un usuario cada vez. Multiusuario se basan en sistemas multiprogramados, permitiendo el acceso a varios usuarios simultáneamente.
  • Lenguaje de programación: es un conjunto de símbolos y caracteres combinados entre sí de acuerdo con reglas sintácticas y semánticas ya definidas. Permiten facilitar la tarea a los programadores, permitiendo tener mayor nivel de abstracción en el código.
    1. Bajo nivel
      • Primera generación: código máquina
    2. Medio nivel
      • Segunda generación: Tiene definidas unas instrucciones para realizar operaciones sencillas con datos simples. Ensamblador
      • Tercera generación: Gran mayoría de lenguajes que se usan hoy en día, mucho más entendible e intuitivo 
    3. Alto nivel
      • Cuarta generación: son lenguajes de propósito especifico.
      • Quinta generación: lenguajes naturales, inteligencia artificial y lógica.
  •  Paradigmas de programación
    1. Imperativo: Secuencia de instrucciones que indican cómo se resuelve el problema.
    2. Estructurado: Utiliza tres estructuras básicas, define un único inicio y fin para el programa
    3. Procedimental: El programa se divide en funciones y procedimientos que pueden comunicarse entre sí.
    4. Orientado a eventos: La estructura y ejecución del programa depende de sucesos que ocurran en el sistema.
    5. Orientado a objetos: Se trata de simular los objetos de la vida real, ya que cada objeto tiene sus características propias y una manera de usarlos.
    6. Funcional: Ve a la programación como funciones matemáticas y así evitar declarar y cambiar datos.
    7. Lógico: Define un conjunto de reglas lógicas para ser interpretadas mediante inferencias lógicas.
  • Proceso de compilación:
    1. Análisis lexicográfico


      Se comprueban los caracteres, buscando palabras reservadas, operadores, caracteres de puntuación…
    2. Análisis sintáctico-semántico


      Se agrupan los lexemas en forma de frases gramaticales, se revisa su coherencia.
    3. Generación de código


      Genera el código del objeto.
    4. PROCESO DE ENLAZADO: se enlaza nuestro código con las librerías necesarias.
  • Proceso de desarrollo
    1. Análisis: define los requisitos del software, entrevista con el cliente. Informe ERS (especificación de requisitos software).
    2. Diseño: determinar la mejor solución para requisitos establecidos, cuaderno de carga.
    3. Codificación: análisis completo y estructura básica que el programador deberá codificar, traducir cuaderno de carga al lenguaje deseado.
    4. Pruebas: confirmar que la codificación ha sido exitosa y que el software hace lo que debe hacer.
    5.  Explotación: se implanta en el sistema elegido o se prepara para que se implante de manera automática, recomendable convivencia del sistema actual y del anterior (caja registradora, tpu)
    6. Mantenimiento: cubre cambios en el software, correctivo, aumentativo, cambio de plataforma.
    7. Documentación: la de usuarios debe mostrar información completa de cómo manejar la aplicación. La técnica debe permitir conocer las decisiones del diseño.
  • Roles que intervienen en el desarrollo
    1. Analista de sistemas: realizar estudio del sistema para dirigir proyecto a la dirección de las expectativas del cliente.
    2. Diseñador de software: en función del análisis de software, diseña la solución que hay que desarrollar.
    3. Analista programador: Aporta una visión general del proyecto más detallada y cercana a la codificación (diseño y codificación)
    4. Programador: escribe el código fuente
    5. Arquitecto del software: Es la figura que cohesiona el proceso de desarrollo (análisis, diseño, explotación, documentación)
  • La información que incluye el diseño de la arquitectura es:
    1. Estructura: descripción de subsistemas
    2. Comportamiento: descripción de la comunicación entre componentes
    3. Cualquier otra información que al arquitecto considere relevante
  • ¿Qué tenemos en cuenta para el diseño?
    1. Requisitos, contexto, experiencia del arquitecto.
  • UML: lenguaje unificado de modelado, es el lenguaje de modelado de sistemas de software, más conocido y utilizado en la actualidad.
  • Estilos arquitectónicos:
    1. Centrado en datos: el centro es una pizarra y otros componentes tienen acceso a ella.
    2. Tuberías y filtros: Dato de entrada se han de transformar en datos de salida mediante operaciones
    3. Capas: Se define capas de manera que solo se comunican entre sí las capas adyacentes.
    4. Orientada a servicios: basado en el uso de servicios web
  • Módulo: trocito del programa que soluciona un problema concreto.
  • Principios del diseño
    1. Abstracción: Para el diseño de la arquitectura se recomienda comenzar con alto grado de abstracción y refinar sucesivamente hasta llegar al nivel de componente.
    2. Descomposición: Divide y vencerás
    3. Cohesión: Grado en el que un módulo se centra en hacer una sola cosa (cohesión debe ser alta)
    4. Acoplamiento: Grado en el que un módulo está conectado con otros y el mundo exterior (debe ser bajo)
    5. Variaciones protegidas: lograr que los cambios involucren la menor cantidad de código posible.
Share Button

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.