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

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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