Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos de
Construcción de
Software
Etapa de Contextualización
|2
Tabla de contenido
Introducción ....................................................................................................................... 3
en Colombia ................................................................................................................. 10
Glosario ........................................................................................................................... 19
|3
Introducción
En 1969 IBM, decide separar el hardware del software y venderlos por separado, como dos
productos independientes pero relacionados esto a raíz de una investigación de las
autoridades antimonopolio. Los sistemas operativos y los lenguajes de programación
seguían incluidos en el precio de la máquina, pero con este movimiento los programas del
principal vendedor de ordenadores se ponían a la par que las de otros proveedores, en
aquel año la industria ingresó unos 20 millones de dólares, para 1975 la cifra se había
llegado hasta los 400. De ese dinero, 7,4 millones correspondían a Mark IV.
Pregunta orientadora
Después de leer la acción formativa podrá dar respuesta sobre los conceptos generales
asociados con la construcción de software con los siguientes interrogantes: ¿Usted cómo
podría identificar las generaciones del desarrollo de software? ¿Para usted por qué es
importancia de la industria del software en Colombia? ¿Cómo realizarías la clasificación
sobre las aplicaciones de software y como resaltarías su existencias y relevancia en el
mercado? ¿Cuándo hablamos de los diferentes paradigmas de programación, puedo
determinar las diferencias en su clasificación? ¿Cuál sería la definición de lenguaje de
programación y cuales son los más utilizados en la industria?
|6
En los primeros años de vida del software se consideraba como un añadido, los
ordenadores se programaban directamente en código de máquina (basado en sistema
binario), el software se desarrollaba con poca o ninguna planificación y sin ningún tipo de
documentación, prácticamente se programaba a prueba-error, siendo el hardware el
propósito principal No obstante, cada modelo de ordenador tenía su propia estructura
interna a la hora de programarse. A estos lenguajes se les denominaba Lenguaje de bajo
nivel, porque afectaban y controlaban directamente al hardware y estaban condicionados
por la estructura física de las computadoras. Dado que este tipo de lenguaje se acerca
mucho más a la lógica de la máquina es mucho más complicado programar, el uso de la
palabra bajo en su denominación no implica que el lenguaje sea menos potente que
un lenguaje de alto nivel se refiere al propósito principal que era el hardware, este tipo de
lenguajes se utilizan para programar ciertas tareas de los sistemas operativos, de
aplicaciones en tiempo real o controladores de dispositivos.
Esta generación nace con la incorporación del "transistor" a los ordenadores dando mayor
velocidad de procesamiento y que sustituyó a los bulbos electrónicos utilizados en los
equipos en años anteriores. Los lenguajes simbólicos, asimismo propios de la máquina,
simplifican la escritura de las instrucciones y las hacen más legibles, estos usan
abreviaciones para las instrucciones, como ADD (sumar), en lugar de números. Con esto
la programación se hizo menos engorrosa. Se utiliza el lenguaje ensamblador ensamblado
a través de un macroensamblador. Es el lenguaje de máquina combinado con una serie de
poderosas macros que permiten declarar estructuras de datos y de control complejas.
|7
También se inicia el desarrollo de los lenguajes de alto nivel, como FORTRAN (1954)
y COBOL (1959), que se acercan más a la lengua inglesa que el ensamblador facilitando la
codificación y permitiendo a los programadores dedicar más atención a la resolución de
problemas que a la codificación de programas. Se inicia así el desarrollo de los llamados
sistemas de cómputo.
Junto con la evolución del software evolucionan los equipos de cómputo, se desarrollan los
circuitos integrados que es un circuito electrónico completo sobre una pastilla (chip) de
silicio. Aumentando ampliamente la velocidad de procesamiento; también se diversifican
los medios de almacenamiento externo así como la capacidad en disco duro.
Después del desarrollo lenguajes de alto nivel que sustituyen las instrucciones simbólicas
por códigos independientes de la máquina, parecidas al lenguaje humano o al de
las Matemáticas. Se aplican y utilizan estos lenguajes para que el usuario común pueda
solucionar problema de procesamiento de datos de una manera más fácil y rápida. Son
usados en ámbitos computacionales donde se logra un alto rendimiento con respecto a
lenguajes de generaciones anteriores. Entre ellos se encuentran
Ada, C++, C#, Cobol, Delphi Smalltalk, entre otros. Algunos de estos lenguajes pueden ser
de propósito general, es decir, que el lenguaje no está enfocado a una única especialidad,
sino que puede usarse para crear todo tipo de programas, se automatizan ciertas tareas
comunes creando bibliotecas para facilitar la programación permitiendo la reutilización de
código.
|8
En esta generación, la tecnología se caracterizan por ser más portables que ninguna de las
anteriores y se encuentra supremamente avanzadas la capacidad de procesamiento
|9
De acuerdo con el Censo del Directorio de Empresas Activas de la Industria del Software y
Servicios Asociados con TI de Colombia realizado por MinTIC, en el 2014 en Colombia
había 4016 empresas activas de las cuales el 80% se encuentran en la Región Centro, el
4% en la Región Norte, 6% en la Región Occidente, 4% en la Región Oriente, y el 6%
distribuidas en el resto del país.
|10
Por el valor de sus ventas el mayor número de empresas en Colombia se ubica en el rango
de menos de 294 millones de pesos en ventas, únicamente el 3% de las empresas
presentan ventas superiores a 17.000 millones de pesos.
La figura 4 muestra los productos y servicios ofrecidos por el sector, así como también el
porcentaje de empresas que los ofrecen. De acuerdo con los resultados obtenidos en el
censo del 2014 realizado por el MinTIC1, se evidencia que el servicio más ofrecido por las
empresas encuestadas es el de data center con 21.2%, seguido por desarrollo/fábrica de
software con un 19.2%.
El software en Colombia
El Software son el conjunto de programas, aplicativos y sistemas operativos, que según las
funciones que realizan pueden ser clasificados en:
Sistema operativo
Funciones básicas
|13
✓ Administración de Recursos
✓ Administración de Archivos
✓ Administración de Tareas
✓ Servicio de Soporte
entre ellos podemos encontrar Windows desarrollado por Microsoft en 1982 y puesto en
funcionamiento en 1985, Mac OS, Unix, GNU/Linux, Solaris.
Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las
implementaciones añadidas a este, y pueden consistir en inclusión de utilidades nuevas,
actualización de versiones, mejoras de seguridad, controladores de nuevos periféricos, o
corrección de errores de software.
|14
Lenguajes de programación
Por ejemplo por evolución histórica generación a la cual pertenece el lenguaje, nivel de
abstracción, propósito, forma de ejecutarse, paradigma de programación, lugar de
ejecución, concurrencia, interactividad. La mayoría de lenguajes no pueden ser clasificados
en una categoría, pues surgen incorporando ideas de otros lenguajes y de varios
paradigmas de programación
Manera de ejecutarse.
Tipos de software
|18
Referencias
• Mazón Olivo, B. E., Cartuche Calva, J. J., Chimarro Chipantiza, V. L., & Rivas
Asanza, W. B. (2015). Fundamentos de programación orientada a objetos en JAVA.
• Null, Linda. (2012). The essentials of computer organization and architecture.
Sudbury.
Clasificación: 004.22 N855e.
• Anfinson, David. (2009). Fundamentos de tecnología de la información: Hardware y
Software para PC. Pearson.Clasificación: 004.6 A534f
• Pressman, Roger. (2006). Ingeniería del Software: un enfoque práctico. McGraw Hill
Clasificación: 005 P737i
• Synspace.(2000-2019).Visible body: Indice TIOBE .Suiza.Recuperado de
https://www.tiobe.com/tiobe-index
• Fedesoft.(1987-2019).Visible body: Indice.Fedesoft-Federación Colombiana de
Software .Colombia.Recuperado de https://fedesoft.org/
|19
Glosario
Paradigma de Programación: Un paradigma de programación es un estilo de desarrollo de
programas. Es decir, un modelo para resolver problemas computacionales. Los lenguajes
de programación, necesariamente, se encuadran en uno o varios paradigmas a la vez a
partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con
su sintaxis.
Código Binario: El código binario permite entender y diseñar sistemas electrónicos digitales.
Su sistema de numeración es de vital importancia para la electrónica. También existen
distintas configuraciones como BDC, ASCII, etc. Los códigos binarios son un arreglo de dos
caracteres, 1 y 0. Entonces, con sólo estos dos dígitos se pueden representar a todo el
conjunto de números. También se pueden realizar operaciones lógicas y aritméticas.
Incluso se pueden representar números imaginarios y reales. Dicha numeración se puede
representar o medir en bits de información. Por ejemplo, 8 bits de información permiten
representar hasta 2^8 = 256 combinaciones, desde 0 hasta 255. Cuando se crea un numero
con signo, el bit 7 se usa para representar al signo, 0 en el último bit representaría el + y 1
el menos. Por lo tanto, un numero con signo de 8 bits, puede representar valores desde -
127 hasta +127.