El término software deriva de la unión de los dos términos en inglés soft, ware o component . El software, en la práctica, no indica nada más que los diversos programas que pertenecen a una plataforma específica, que a su vez no son más que una cierta secuencia de instrucciones puestas juntas para realizar una tarea determinada.
Por tanto, gracias al software, el hardware utilizado «cobra vida».De hecho, sin software, nunca sería posible usar una computadora , un teléfono inteligente, una tableta, un televisor inteligente, y, en general, cualquier otro tipo de dispositivo tecnológico.
Indice
¿Cuáles son las características del software?
- El software es la parte intangible de la computadora que no se puede tocar con las manos.
- En general, son las instrucciones que se suministran a la computadora.
- Son como los sonidos (lenguaje) que usamos para hablar con nuestros compañeros.
- Son los programas (aplicaciones) que hacen que el hardware funcione, y nos permiten traducir las instrucciones que proporcionamos a la computadora en un formato que sea comprensible.
Si observamos el grado de usabilidad y proximidad del usuario, generalmente el software se puede clasificar de acuerdo con cuatro tipos distintos:
- El primero, llamado firmware, básicamente permite que el hardware de un dispositivo se comunique con el software de ese dispositivo.
- El segundo, llamado software básico o software de sistema, representa precisamente ese tipo particular de software que le permite usar el hardware presente en cualquier PC.
- El tercero, llamado driver, permite que un sistema operativo determinado se comunique con un dispositivo de hardware bien definido.
- El cuarto, llamado software de aplicación o más simplemente programa que a través de un sistema operativo apropiado. Te permite usar una computadora tal como lo haces normalmente todos los días, a través de programas como Word, Excel, PowerPoint, Internet Explorer, etc.
En el mercado, sin embargo, hay diferentes tipos de programas, pero los que se usan con más frecuencia para una computadora son:
- Los procesadores de texto, como Word. Permiten «transformar» el ordenador en una especie de máquina de escribir por medio del cual es posible crear textos, incluso muy complejas.
- Los programas que, a través de Internet, permiten enviar y recibir correos electrónicos, ver videos o películas, escuchar la radio, música, pero también crear, editar o administrar imágenes y fotografías, todos estos denominados programas multimedia.
Arquitectura de software
La arquitectura de software
Dentro del ámbito informático existe un diseño que estructura el funcionamiento y la interacción entre las diferentes partes de un software; esto, es denominado por los expertos como la arquitectura del software.
Este término, es utilizado muchas veces de manera incorrecta; ya que es el diseño de más alto nivel de la estructura de un sistema. Su nombre deriva de su semejanza con los planos de un edifico en construcción.
Mary Shaw y David Garian determinaron que la arquitectura es un nivel de diseño que hace foco en aspectos que en el ámbito de la informática representa un diseño con dos propósitos básicos enfocados en el usuario. Primeramente, satisfacer los atributos de calidad en cuanto al desempeño, modificabilidad y seguridad, así como también servir como guía en el desarrollo del sistema operativo.
El diseño general de un sistema de software debe hacerse desde sus inicios; ya que el no crear este sistema desde el comienzo puede generar limitaciones en el producto y por ende una insatisfacción en el cliente. Este diseño informático tuvo su primera aparición en el año 1960 por parte de los círculos de investigación de Edsger Dijkstra; pero fue en el año 1990 cuando tomó mas relevancia tras la nombrada crisis del software.
Importancia de la arquitectura del software
La forma en la cual se estructure un sistema va a impedir o va a permitir que el mismo satisfaga los atributos de calidad. La arquitectura juega un papel importante para guiar el desarrollo de un sistema.
Estos diseños arquitectónicos pueden ser reutilizados para la estructuración de otros sistemas a futuro, reduciendo costos y mejorando la calidad basándose en el rendimiento de los sistemas anteriores.
El diseño arquitectónico va a permitir determinar a falla de la operatividad en un sistema pera luego trabajar en ella y mejorar la funcionabilidad de dicho sistema para satisfacer las necesidades del usuario.
Modelos de diseños
Descomposición modular
El software se estructura en grupos funcionales muy bien acoplados entre sí. Este es uno de los modelos más comunes en cuanto al diseño informático.
Cliente- servidor
Se reparte la carga de computo en dos mitades independientes sin un reparto claro de funciones. En este diseño se centralizan los diferentes recursos y aplicaciones con los que se cuenta.
Arquitectura de tres niveles
Guarda relación con el diseño anterior. La carga se divide en tres partes y existe un reparto claro de funciones, a diferencia del cliente-servidor. Una parte o capa es destinada para la interfaz del usuario, la siguiente está especializada en el cálculo y por último una capa es la encargada del almacenamiento del sistema.
Otros diseños arquitectónicos
- Pipeline
- Entre pares
- Maquinas virtuales
- Arquitecturas de microservicios
- Modelo vista controlador
- En pizarra
- Dirigida por eventos y orientada a servicios (SOA).
El rol del arquitecto de software
Sus actividades deben ser realizadas por expertos en la materia, denominados arquitectos, por el rol que les toca ejercer dentro del área informática. Dicho trabajo ha crecido en las bolsas de empleo en los últimos años.
La persona encargada debe tomar el liderazgo técnico para poder ejercer el trabajo. Además debe conocer los principios básicos de la arquitectura de software y manejar perfectamente las habilidades de comunicación escrita y oral.
Por otro lado, aunque es poco común, es necesario un conocimiento teórico acerca del tema para poder realizar el trabajo de la manera más optima y eficiente. La empresa se debería ver en la obligación de formar a su personal en el tema.
Es importante resaltar que un proyecto de desarrollo se encuentra divido en diferentes partes o etapa tales como:
- Requerimientos
- Diseño
- Documentación
- Evaluación (los cuales forman la metodología del desarrollo).