1
Universidad de oriente
Núcleo de Anzoátegui
Unidad de Estudios Básicos
Departamento de Ciencias
Introducción a la ingeniería en sistemas
Sección: 01
CIENCIAS DE LA COMPUTACIÓN
Prof: Aurelia Torcasio
Alumnos: Katherin Martinez C.I: 31.646.067
Sebastián Moreno C.I: 32.356.028
Elis López C.I: 31.718.171
Barcelona, diciembre 2024
2
INTRODUCCIÓN
La informática es un campo vasto y en constante evolución que se fundamenta en una
serie de conceptos interrelacionados. La arquitectura de las máquinas nos brinda una visión de
cómo están construidas las computadoras, desde el nivel más básico de sus componentes. Es
como el esqueleto de un ordenador, donde cada pieza, desde el procesador central hasta los
dispositivos de entrada y salida, juega un papel crucial en su funcionamiento.
Los sistemas de numeración son el lenguaje que las computadoras entienden. Si bien
nosotros utilizamos el sistema decimal, las máquinas operan principalmente con el sistema
binario, basado en ceros y unos. Este sistema binario es la base para representar cualquier tipo de
información dentro de una computadora.
Sobre esta base hardware se construye el software, que son las instrucciones que le
decimos a la máquina para que realice tareas específicas. Desde el sistema operativo que
gestiona los recursos de la computadora hasta las aplicaciones que utilizamos a diario, el
software es el alma de cualquier sistema informático.
Para que el software pueda trabajar de manera eficiente, es fundamental una buena
organización de los datos. Las estructuras de datos, como las listas, los árboles o las bases de
datos, nos permiten almacenar y recuperar la información de manera ordenada y eficiente.
Por último, la ingeniería de software es la disciplina que se encarga de aplicar principios
de ingeniería al desarrollo de software. Su objetivo es crear software de alta calidad, confiable y
que satisfaga las necesidades de los usuarios.
En resumen, estos conceptos se entrelazan de forma íntima. La arquitectura proporciona
el hardware, el software le da vida, los datos son la materia prima y la ingeniería de software es
el proceso que lo une todo. Comprender estos fundamentos es esencial para cualquier persona
interesada en adentrarse en el mundo de la informática.
3
ARQUITECTURA DE LAS MAQUINAS
La arquitectura de las máquinas, también conocida como arquitectura de computadoras,
se refiere al diseño conceptual y a la estructura operacional fundamental de un sistema
informático. Es como el plano de una casa, define cómo están organizadas todas las partes y
cómo interactúan entre sí para lograr un objetivo común: procesar información.
Elementos Clave de la Arquitectura de las Máquinas
Unidad Central de Procesamiento (CPU): El "cerebro" de la computadora, encargado de
ejecutar las instrucciones de los programas.
Memoria: Almacena los datos y las instrucciones que necesita la CPU para trabajar.
Entradas/Salidas (E/S): Permiten la comunicación entre la computadora y el mundo
exterior (teclado, mouse, monitor, etc.).
Buses: Son los canales de comunicación que conectan los diferentes componentes de la
computadora.
Conjunto de Instrucciones: Es el vocabulario que entiende la CPU, un conjunto de
comandos básicos que puede ejecutar.
Tipos de Arquitectura
Existen diferentes tipos de arquitectura de computadoras, cada una con sus características
y aplicaciones:
Arquitectura de Von Neumann: Es el modelo más común, donde los datos y las
instrucciones se almacenan en la misma memoria.
Arquitectura Harvard: Separa la memoria de datos de la memoria de instrucciones, lo
que puede mejorar el rendimiento en algunas aplicaciones.
Arquitectura RISC (Reduced Instruction Set Computer): Utiliza un conjunto de
instrucciones reducido y optimizado, lo que la hace más eficiente en algunas tareas.
Arquitectura CISC (Complex Instruction Set Computer): Tiene un conjunto de
instrucciones más amplio y complejo, lo que la hace más versátil pero menos eficiente en
algunas tareas.
¿Por qué es importante la arquitectura de las máquinas?
Rendimiento: La arquitectura determina la velocidad y la eficiencia de una computadora.
Capacidad: Define la cantidad de datos que puede procesar una computadora.
Costo: Influye en el precio de fabricación de una computadora.
Compatibilidad: Determina qué software puede ejecutarse en una computadora.
Aplicaciones de la Arquitectura de las Máquinas
4
Diseño de computadoras: Desde supercomputadoras hasta microcontroladores.
Desarrollo de sistemas operativos: Para aprovechar al máximo las capacidades de
hardware.
Compilación de software: Para traducir el código fuente a código máquina que la CPU
pueda entender.
SISTEMAS DE NUMERACION
Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar
cantidades numéricas. Es la forma en que expresamos los números, desde los más sencillos hasta
los más complejos.
Tipos de Sistemas de Numeración
Existen diversos sistemas de numeración, pero los más utilizados en informática son:
Decimal: Es el sistema que utilizamos en nuestra vida cotidiana. Tiene base 10, lo que
significa que utiliza 10 dígitos (del 0 al 9) para representar cualquier número.
Binario: Es el sistema fundamental para las computadoras. Tiene base 2, utilizando solo
dos dígitos (0 y 1). Cada dígito se denomina bit y es la unidad básica de información en
informática.
Octal: Tiene base 8, utilizando los dígitos del 0 al 7. Se utiliza como una forma más
compacta de representar números binarios.
Hexadecimal: Tiene base 16, utilizando los dígitos del 0 al 9 y las letras de la A a la F.
Es muy utilizado en programación y representación de colores.
¿Por qué son importantes los sistemas de numeración en informática?
Representación de datos: Las computadoras trabajan internamente con números binarios.
Toda la información, desde texto hasta imágenes, se representa mediante secuencias de
bits.
Comunicación con hardware: Los microprocesadores y otros componentes electrónicos
entienden solo el lenguaje binario.
Programación: Los programadores utilizan diferentes sistemas de numeración para
escribir código y representar datos de manera eficiente.
Conversión entre sistemas de numeración
Es común tener que convertir números de un sistema a otro. Existen algoritmos específicos para
realizar estas conversiones.
5
Ejemplo:
Decimal a binario: Se divide el número decimal entre 2 repetidamente hasta obtener un
cociente 0. Los restos de cada división, leídos de abajo hacia arriba, forman el número
binario equivalente.
Binario a decimal: Se multiplica cada dígito binario por 2 elevado a su posición
(comenzando desde la derecha con la posición 0) y se suman los resultados.
Aplicaciones en la vida real
Codificación de caracteres: El código ASCII utiliza números para representar caracteres
alfanuméricos.
Representación de colores: Los colores en las pantallas se representan mediante códigos
hexadecimales.
Direcciones IP: Las direcciones IP de las computadoras son números binarios que se
suelen expresar en formato decimal punteado.
SOFTWARE
El software es la parte intangible de un ordenador o dispositivo electrónico. Son las
instrucciones, datos y algoritmos que le dicen a la máquina qué hacer. Imagina el software como
el cerebro de un ordenador: sin él, el hardware (las partes físicas) sería inútil.
Tipos de software
Software de sistema: Es la base de todo, como el sistema operativo (Windows, macOS,
Linux) que controla el hardware y permite que otros programas funcionen. También
incluye controladores de dispositivos y utilidades para mantener el sistema en buen
estado.
Software de aplicación: Son las herramientas que utilizamos a diario, como
procesadores de texto, hojas de cálculo, navegadores web, juegos y programas
especializados para diferentes industrias.
¿Cómo funciona el software?
1. Entrada: Tú interactúas con el software a través de un teclado, ratón, pantalla táctil u
otros dispositivos.
2. Procesamiento: El software toma esa información, la procesa de acuerdo a las
instrucciones que tiene y realiza cálculos o toma decisiones.
3. Salida: El resultado se muestra en la pantalla, se imprime en papel o se envía a otro
dispositivo.
6
La importancia del software
El software ha transformado el mundo. Desde los teléfonos inteligentes hasta los sistemas de
control industrial, todo depende del software. Gracias a él podemos:
Comunicarnos a nivel mundial.
Acceder a una cantidad inmensa de información.
Automatizar tareas y procesos.
Crear y disfrutar de entretenimiento.
Conceptos clave en el desarrollo de software
Lenguajes de programación: Son los idiomas que utilizan los programadores para
escribir software (Python, Java, C++, JavaScript).
Algoritmos: Son como recetas, una serie de pasos para resolver un problema.
Estructuras de datos: Son formas de organizar la información dentro de un programa.
Ciclo de vida del desarrollo de software: Es el proceso completo de creación de un
software, desde la idea inicial hasta su lanzamiento y mantenimiento.
ORGANIZACIÓN DE DATOS
La organización de datos es el proceso de estructurar y ordenar información de manera
lógica y sistemática para facilitar su almacenamiento, búsqueda, análisis y uso. Es como ordenar
los libros en una biblioteca: cada libro tiene su lugar y puedes encontrar fácilmente el que
necesitas.
¿Por qué es importante la organización de datos?
Facilita la búsqueda: Al tener los datos ordenados, puedes encontrar la información que
necesitas de forma rápida y eficiente.
Mejora la toma de decisiones: Datos bien organizados permiten realizar análisis más
precisos y tomar mejores decisiones basadas en la información.
Previene errores: Un sistema de organización de datos bien diseñado reduce la
posibilidad de errores humanos al minimizar la duplicación y la inconsistencia de los
datos.
Aumenta la eficiencia: Al automatizar procesos de búsqueda y análisis, se ahorra tiempo
y recursos.
Formas de organizar datos
7
Existen diversas formas de organizar datos, cada una adecuada para diferentes tipos de
información y necesidades. Algunas de las más comunes son:
Tablas: Organizan datos en filas y columnas, como una hoja de cálculo.
Bases de datos: Almacenan grandes cantidades de datos estructurados y permiten
realizar consultas complejas.
Listas: Ordenan elementos de manera secuencial, como una lista de tareas.
Jerarquías: Organizan datos en niveles, como un árbol genealógico.
Etiquetas: Asignan palabras clave o etiquetas a los datos para facilitar la búsqueda.
Herramientas para organizar datos
Existen numerosas herramientas que facilitan la organización de datos, desde simples
hojas de cálculo hasta sofisticados softwares de gestión de bases de datos. Algunas de las más
populares son:
Hojas de cálculo: Excel, Google Sheets
Bases de datos: MySQL, PostgreSQL, MongoDB
Software de gestión de información personal: Evernote, OneNote
Herramientas de visualización de datos: Tableau, Power BI
Ejemplos de organización de datos en la vida cotidiana
Contactos en el teléfono: Organizados por nombre, apellido, número de teléfono, etc.
Fotos en un ordenador: Organizadas por fecha, evento o persona.
Libros en una biblioteca: Organizados por autor, tema o número de clasificación.
Productos en una tienda en línea: Organizados por categoría, marca, precio, etc.
INGENIERÍA DE SOFTWARE
La ingeniería de software es la disciplina que se encarga de aplicar un enfoque
sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software.
En otras palabras, es la aplicación de la ingeniería al desarrollo de software.
¿Por qué es importante la ingeniería de software?
Calidad: Garantiza que el software sea confiable, eficiente y seguro.
Productividad: Permite desarrollar software de manera más rápida y con menos errores.
Mantenibilidad: Facilita la actualización y modificación del software a lo largo del
tiempo.
8
Reusabilidad: Promueve la creación de componentes de software reutilizables en
diferentes proyectos.
Ciclo de vida del desarrollo de software
El proceso de desarrollo de software sigue un ciclo de vida que puede variar según la
metodología utilizada, pero generalmente incluye las siguientes fases:
1. Análisis de requisitos: Se identifican las necesidades del usuario y se definen las
funcionalidades del software.
2. Diseño: Se crea una estructura general del software, incluyendo la arquitectura, los
componentes y las interfaces.
3. Implementación: Se escribe el código fuente del software utilizando un lenguaje de
programación.
4. Pruebas: Se verifica que el software funcione correctamente y cumpla con los requisitos.
5. Implementación: Se despliega el software en un entorno de producción.
6. Mantenimiento: Se realizan actualizaciones, correcciones de errores y mejoras al
software.
Metodologías de desarrollo de software
Existen diferentes metodologías para desarrollar software, cada una con sus propias
ventajas y desventajas. Las más populares son:
Modelo en cascada: Un enfoque lineal y secuencial, donde cada fase se completa antes
de pasar a la siguiente.
Desarrollo ágil: Un enfoque iterativo e incremental, que enfatiza la flexibilidad y la
colaboración con el cliente.
DevOps: Una cultura y prácticas que combinan el desarrollo de software y las
operaciones, con el objetivo de entregar software de manera más rápida y confiable.
Conceptos clave en ingeniería de software
Arquitectura de software: La estructura general de un sistema de software.
Patrones de diseño: Soluciones reutilizables a problemas comunes de diseño.
Pruebas unitarias, de integración y de sistema: Diferentes niveles de pruebas para
asegurar la calidad del software.
Control de versiones: Herramientas para gestionar los cambios en el código fuente.
Gestión de proyectos: Herramientas y técnicas para planificar, organizar y controlar
proyectos de desarrollo de software.
9
CONCLUSION
La ingeniería de software es la columna vertebral del mundo digital moderno. A través de un
enfoque disciplinado y sistemático, los ingenieros de software diseñan, construyen y mantienen
las aplicaciones que utilizamos a diario, desde las redes sociales y los motores de búsqueda hasta
los sistemas de control industrial y los dispositivos inteligentes.
Esta disciplina no solo se limita a escribir código; implica una profunda comprensión de los
principios de la ingeniería, las matemáticas, y la ciencia de la computación. Los ingenieros de
software son los arquitectos del software, diseñando sistemas complejos y escalables que
satisfacen las necesidades de los usuarios.
La ingeniería de software es un campo en constante evolución. Con el surgimiento de nuevas
tecnologías como la inteligencia artificial, el aprendizaje automático, la realidad virtual y la
computación en la nube, los ingenieros de software están a la vanguardia de la innovación. Estas
tecnologías están transformando la forma en que interactuamos con el mundo y abriendo nuevas
posibilidades para el desarrollo de software.
Además de las habilidades técnicas, los ingenieros de software necesitan habilidades blandas
como la comunicación, el trabajo en equipo y la resolución de problemas. La capacidad de
trabajar en entornos colaborativos y de adaptarse a los cambios constantes son fundamentales
para el éxito en esta profesión.