Sie sind auf Seite 1von 20

Tipos de Software

Sin duda muchos opinarán que el software lo podemos clasificar de mil maneras, hasta
cierto punto es verdad, sin embargo si buscamos hacer una clasificación
desoftware entendible para el usuario normal, hablo de personas poco estudiadas o que
no precisamente saben de software, entonces debemos clasificarlos de la siguiente manera.

Software de Sistema

El software de sistema, digamos que es la parte esencial, en ella no solamente podemos


clasificar los sistemas operativos como Linux, Windows o Mac, también debemos
agregar aquel software que permite la comunicación entre el Hardware y el sistema
operativo, los controladores de sistema para la ejecución de diversos sectores de la
computadora e incluso programas que son capaces de administrar los recursos y de
proporcionarle al usuario una bella interfaz para que pueda controlar la computadora de una
forma muy sencilla.

La clasificación del Software de sistema queda de la siguiente manera:

 Sistemas operativos
 Controladores de dispositivo
 Herramientas de diagnóstico
 Herramientas de Corrección y Optimización
 Servidores
 Utilidades
Software de Programación

Está claro que para que puedan existir diversos programas, primero debe haber personas
encargadas del desarrollo de sistemas, en este caso haciendo uso de software de
programación, por eso la clasificación continua en este punto, después de que el sistema
operativo es la base de todo, la programación le sigue muy detrás, un software que ayuda
en la creación y desarrollo de aplicaciones, haciendo uso de conocimientos lógicos y de
programación.

Algunos ejemplos de esto, son los compiladores y los editores de texto, un conjunto de
software que trabaja de la mano uno con el otro, el programador desarrolla en un editor de
texto y posteriormente compila el programa para verificar que está correcto, esto en
cualquier lenguaje de programación, aunque actualmente existen Entornos de
Desarrollo Integrados (IDE) que no son más que un programa informático que consta
de una serie de herramientas de programación, los que actualmente utilizan los lenguajes
de programación para su desarrollo.

La Clasificación del software de programación es la siguiente:

 Editores de texto
 Compiladores
 Intérpretes
 Enlazadores
 Depuradores
 Entornos de Desarrollo Integrados (IDE)

Software de Aplicación

El software de aplicación, es aquel que utilizamos día a día, cada uno de


los programas, aplicaciones o utilidades que manejamos dentro de nuestra computadora,
entran dentro de esta clasificación de software, es el resultado de la programación de
software, enfocado hacia alguno de los sistemas operativos, como puedes ver es el tercer y
último paso, hablando de forma técnica es el software diseñado para el usuario final.
Dentro de los ejemplos que podría darte, se encuentran todos los programas que usas día a
día, la paquetería de Office, los programas para comunicarte por medio de chat,
los programas para ver fotos, utilidades para escuchar música en la computadora, los
antivirus, etc.

La clasificación del software de aplicación queda de al siguiente manera:

 Aplicaciones de Sistema de control y automatización industrial


 Aplicaciones ofimáticas
 Software educativo
 Software médico
 Software de Cálculo Numérico
 Software de Diseño Asistido (CAD)
 Software de Control Numérico (CAM)

Así que ahora ya sabes como se clasifica el tipo de software, aunque esta clasificación
podría variar, es una buena forma para que cualquier persona lo pueda entender y
comprender fácilmente.
TIPOS DE SISTEMAS OPERATIVOS PARA PC
1 – MS-DOS
Sus siglas vienen de la frase en inglés MicroSoft Disk Operating System o en español
Sistema Operativo de Disco MicroSoft, tuvo 9 versiones oficiales antes de ser reemplazado
definitivamente.
Este sistema operativo fue lanzado por Microsoft a principio de los 80 y era considerado el
más popular de la época, aproximadamente hasta los 90 hasta que la misma empresa
empezó a implementar sistemas operativos más desarrollados.

El sistema MS-DOS apareció por primera vez en el año 1,981 y se desarrolló a partir del
Quick and Dirty Operating System (QDOS).

Aunque parezca algo obsoleto en la actualidad, en los 80 era considerado el más avanzado
de la época entre los tipos de sistemas operativos que existían en esa fecha, ya que
trabajaba con comandos simples para realizar tareas, muchos de estos comandos pueden ser
utilizados hoy en Windows.

2 – Windows
Lanzado por primera vez al mercado en el año 1,987, adquirió fama gracias a su Interfaz
Gráfica de Usuario (GUI) con la que se podían abrir ventanas para realizar las tareas en el
ordenador.

Sin embargo no fue sino hasta el año 1,990 cuando el sistema Microsoft Windows logró
vender aproximadamente 2 millones de copias en 5 meses con su versión Windows 3.0.

En el año 2,015 fue lanzado el sistema operativo más reciente de la empresa, Windows 10.
Una versión que permite ser utilizado tanto en ordenadores como en equipos móviles.

Una de las grandes ventajas que nos ha ofrecido esta última versión es la posibilidad de
obtener actualizaciones constantes a todos sus usuarios.
Hoy en día hablar es uno de los sistemas operativos con mayor fama a nivel mundial, uno
de los más sencillos de utilizar y el preferido de muchos. Recordemos que ha estado
presente en nuestros hogares desde hace muchos años.

3 – MacOS
Un sistema operativo de la compañía Apple, se puede encontrar preinstalada en cualquier
computadora Mac.

Su primera aparición fue en el año 1,984 cuando se lanzó al mercado la computadora


Macintosh, en la época marcaba la diferencia ya que no era como otros tipos de sistemas
operativos comunes con una interface de línea de comandos.

Anteriormente el nombre de este sistema operativo era simplemente “System”, sin embargo
el nombre en el año 1,997 al que conocemos hoy en día.

Entre algunas de sus mejores versiones recientes tenemos OS x, Snow Leopard, Lion,
Sierra y High Sierra anunciada el 5 de junio de 2,017.

Aunque es también muy famoso entre los diferentes tipos de sistemas operativos, solo un
9.5% del mercado hace uso de MacOs, una de las razones más relevantes es el elevado
costo de los ordenadores Apple. Sin embargo no por esto deja de ser un buena muy buena
opción.

4 – Linux
Es un sistema operativo que cualquiera puede modificar y distribuir a cualquier lugar, esto
también se conoce como sistema operativo de códigos abiertos.
A parte de ser totalmente gratis, este posee diferentes versiones y cada una de ellas con una
apariencia totalmente distinta a las demás, una gran ventaja para las personas que desean
utilizar algo diferente.
Linus Torvalds es el creador del sistema Linux, esta idea le surgió en el año 1,991 mientras
hacia sus estudios en el área de informática. El 5 de octubre de 1,991, fue lanzada la
primera versión oficial de este sistema llamado Linux 0.002.

A pesar de ser un sistema operativo fácil de personalizar, hasta el 2,014 se estimaba que
solo un 2% de usuarios tenían instalado Linux en sus ordenadores, sin embargo es el
favorito dentro de muchos servidores.

5 – Haiku
Apareció en la década de los 90 como uno de los sistemas operativos más ligeros del
mercado. Principalmente sus inicios fueron en BeOS, el sistema operativo de Be
Incorporated.

En 1.998 la marca trató de competir contra Microsoft en el mercado, sin embargo no fue
tarea fácil y no le fue tan bien como se esperaba.

Luego de una demanda que realizó Be Inc. en contra de Microsoft acusando a la empresa
de no permitir lanzamientos de productos creados a partir de BeOS, la empresa terminó
siendo manejada por Palm.

Hoy en día este sistema no ha logrado avanzar mucho en el mercado, sin embargo puede
ser instalado en áreas de trabajo muy concretas.

6 – eComStation
Cuando esta idea inició era llamada OS/2, un proyecto en común que tenían las empresas
Microsoft e IBM, sin embargo la primera decidió abandonar dicho proyecto.

Este sistema compitió con la primera versión de Windows hace algunos años, sin embargo
no logró el éxito. Aunque no lo creas aún existen cajeros automáticos, ordenadores y
diferentes equipos con este sistema operativo.
Hace relativamente poco la empresa IBM decidió hacer la venta de los derechos de
desarrollo del sistema OS/2 a la empresa Serenity Systems, quien realizó el cambio de
nombre al actualmente conocido eComStation.

Cabe destacar que actualmente se enfoca a las empresas, para poder hacer uso completo de
el debes comprarlo, sin embargo puedes solicitar un disco de prueba en su página oficial.

7 – Unix
Este sistema operativo fue lanzado al mercado en el año 1.969 por la compañía AT&T,
desarrollado por Dennis Ritchie, Ken Thompson y Douglas McLroy. Podemos considerar a
Unix como un sistema portable y multitareas

La empresa Novell adquirió todos los derechos de desarrollo de este tipo de sistema
operativo, sin embargo luego fue vendido a la empresa Santa cruz Operation y por ultimo a
Caldera Software en el año 2,002.

Hoy en día y después de una larga lucha legal, la empresa Novell posee nuevamente todos
los derechos sobre el sistema operativo Unix.

Cabe destacar que no todos los sistemas que dicen Unix se encuentran certificados por la
marca, para ser un sistema original debe ser llamado Single Unix Specification, otros se
pueden llamar “Sistema similar a Unix”

8 – Chrome OS
El 7 de julio de 2,009 Google anunció en su blog oficial el lanzamiento de su propio
sistema operativo llamada Google OS y enfocado principalmente en mini portátiles.

La diferencia más resaltante es que la principal herramienta del sistema es el propio


navegador Google Chrome, además de ser de código abierto.
Cabe destacar que este sistema incorpora un gestor de archivos, reproductor de medios y
admite aplicaciones de Chrome Apps, además ciertas aplicaciones del sistema operativo
Android han estado disponibles para Chrome OS.

El 7 de diciembre del 2,010, la compañía implemento un programa conocido como Chrome


Notebook en Estado Unidos donde enviaban computadoras portátiles a las personas que
desearan experimentar la primera versión del sistema operativo.

9 – ReactOS
Este sistema operativo de código abierto posee lo mejor de los diseños de algunas versiones
de Windows y enfocado en ser totalmente compatible con Microsoft Windows Server
2,003.

El desarrollo del sistema ReactOS se inició en el año 1,995, nombrado como el clon de
Windows 95 y renombrado en 1,998, incorporando cada vez más programas y
características de todas las versiones de Windows.

Actualmente este sistema operativo se encuentra en su fase alpha, esto quiere decir que
aunque muchas características no estén completas, algunas aplicaciones desarrolladas por
Windows ya funcionan en su totalidad.

10 – Syllable
Podemos decir que se trata de un sistema operativo para aquellas personas que no poseen
un alto conocimiento en el área informática.

Permite realizar instalaciones de aplicaciones solo con extraer algún paquete Zip y para
desinstalarlas simplemente se eliminan como si de un documento se tratara.

La primera versión de Syllable apareció el 4 de Julio del 2,002, mientras que la última
versión apareció en el mercado en el año 2,012.
Actualmente el desarrollo de este sistema se detuvo, sin embargo se habla de un proyecto
llamado WaveOS que está utilizando lo mejor de Syllable para poder convertirlo en una
opción más liviana para los usuarios.

Extra – Solaris
Es un sistema operativo basado en Unix que se empezó a desarrollar en el año 1,983 bajo el
nombre de SunOS. Originalmente pertenecía a la empresa Sun Microsystems, sin embargo,
hoy en día los derechos son de Oracle Corporation.

En su primera versión del año 1,992 incluía funciones del System V y fue la primera vez
que se le conoció como Solaris.

En 1,993 Solaris fue considerado un excelente sistema operativo, incluso mejor que Linux,
debido a esto empezaron a desarrollar la posibilidad de personalizarlo haciendo uso de
códigos fuente.

Podemos decir que este sistema operativo es una excelente opción cuando se trata de
multiprocesamiento simétrico, esto quiere decir que soporta más de dos CPU’s conectadas
a la misma memoria centra.

Actualmente se han lanzado al mercado 11 versiones de Solaris, la más reciente apareció


en el año 2,015 con una mejora en la rapidez del procesamiento.

Recuerda que los tipos de sistemas operativos poseen características y apariencia diferentes,
sin embargo la mayoría poseen algo en común, han sido diseñados para que sea mucho más
sencillo de usarlos.

Aunque al principio nos cueste acostumbrarnos y parezca un poco extraño probar estos
tipos de sistemas operativos diferentes, valdrá la pena probarlos y escoger el que mejor se
adapte a nuestros gustos o necesidades.
Tipos de Microsoft Windows.

Comenzaremos explicando que es Windows,


la cual viene de una palabra inglesa que significa “ventana”, de hecho este nombre proviene
de la forma en que el sistema presenta al usuario los recursos de su computadora, ya que le
facilitan las tareas cotidianas.Su utilización en español, está vinculada a un sistema
informático desarrollado por la empresa Microsoft y comercializado desde 1985.
Como muchos sabréos, la empresa Microsoft fue fundada en 1975 por Bill Gates, y
comenzó distribuyendo el sistema operativo MS-DOS. Hoy en día no sólo se dedican a la
distribución del sistema operativo Windows, sino que incluso también han llegado hasta las
consolas de video juegos con su XBOX 360, y venden otros tipos de Softwares, como el
Office.

Microsoft Windows es un sistema operativo, lo podríamos definir como un conjunto de


programas que posibilita la administración de los recursos de una computadora. Este tipo de
sistemas empieza a trabajar cuando se enciende el equipo para gestionar
el hardware (Conjunto de elementos físicos o materiales que constituyen una computadora
o un sistema informático.) a partir desde los niveles más básicos.
Microsoft domina el mercado de los sistemas operativos con comodidad, ya que si hacemos
una encuesta, nos damos cuenta que Windows está instalado en mas del 90% de los
ordenadores con acceso a Internet.Entre sus principales aplicaciones se encuentran el
navegador Internet Explorer, el reproductor múltimedia Windows Media, el editor de
imágenes Paint y el procesador de texto WordPad.
Hay muchos tipos de Windows, que explicaremos a continuación:

Windows 1 y Windows 2:

Las primeras versiones de Windows existentes en el mercado surgieron como


complementos gráficos del sistema operativo DOS. La novedad que tuvieron, en
comparacíon con los demás sistemas del mercado, fue la incorporación del Panel de
control.
Aún así estos dos tipos de Windows no tuvieron mucho éxito de ventas en el mercado.

Windows 3 y Windows NT 3:

Windows 3, tuvo ciertos cambios comparado con las anteriores versiones, pero el gran
éxito fue el surgimiento de Windows 3.1, el cual comenzó a utilizar fuentes TrueType, y
otras grandes incorporaciones gráficas. Esta versión de Windows superó en ventas al
sistema operativo de IBM.Más tarde salió al mercado Windows 3.11, el cual tuvo una gran
cantidad de ventas y por último la primer versión en incluir la API de 32-bits fue la versión
de Windows NT 3.
Windows 95:

Se incorporó el sistema de archivos FAT32, y se incluyó el menú de Inicio y la barra de


tareas, además del soporte incluido de Internet.

Windows 98:

Se realizaron varias mejoras gráficas en comparación con los anteriores, y los


requerimientos de Hardware y Software eran cada vez más exigentes. Se incluyó la entrada
de DVDs, y la incorporación del puerto USB.

Windows 2000:

Estaba basado en la tecnología NT que nombrábamos antes, como el Windows 3.11 y sus
versiones posteriores

Windows ME:

En él se incluyeron novedosas aplicaciones multimedia, como el Windows Media Player, o


el Windows Movie Maker.

Windows XP:

Fue el gran cambio que tuvo Microsoft con Windows, con increíbles mejoras gráficas, un
gran incremento de velocidad y agilidad.También incorporó su versión de 64 bits, logró
hacer una explosión en el mercado de sistemas operativos y también incorporo funciones
como la encriptación de archivos del sistema, el soporte para redes wifi, y la asistencia
remota.

Windows Vista:

Podríamos decir que este tipo de Windows, fue otro de los fracasos de Microsoft. Windows
Vista tenía grandes expectativas en la empresa, pero resultó tener muchos errores, ser muy
lento y sufría de sobrecargas.Se incluyeron en él mejoras gráficas como el Aero, los
gadgets de escritorio, y el sistema de actualización hacia versiones superiores con el
Windows Anytime Upgrade

Windows 7:

Con Windows 7 se intentó corregir todo lo malo del Windows Vista. Se impulsó también
una mejora de la ayuda al consumidor para solucionar ciertos problemas comunes, además
de la creación del Grupo de Hogar y el nuevo diseño de la barra de tareas, dejándola más
ancha y con un sistema de íconos más elegantes.

Windows 8:

Añade soporte para microprocesadores ARM, además de los microprocesadores


tradicionales x86 de Intel y AMD. Su interfaz de usuario ha sido modificada para hacerla
más adecuada para su uso con pantallas táctiles, además de los tradicionales ratón yteclado.
El efecto Aero Glass de su predecesor Windows 7 no está presente en este sistema
operativo, siendo reemplazado por nuevos efectos planos para ventanas y botones con un
color simple.
¿Qué es la arquitectura de software?

El proceso de arquitectura de software toma los requisitos de los clientes, los analiza y
produce un diseño para obtener un software que satisfará sus necesidades. Los diseños
exitosos de software deben sopesar las disyuntivas inevitables que surgen debido a
requisitos conflictivos; cumplir con los principios de diseño y las buenas técnicas de
procedimiento que han evolucionado con el tiempo; y complementar el hardware moderno,
las redes y los sistemas de administración. Una arquitectura contundente de software
implica tener mucha experiencia en temas teóricos y prácticos, así como la visión necesaria
para convertir lo que al parecer son escenarios y requisitos comerciales imprecisos en
diseños de trabajo sólidos y prácticos.

La arquitectura de software implica definir una solución estructurada que satisfaga todos
los requisitos técnicos y operacionales y, a la vez, optimizar los atributos comunes de
calidad como rendimiento, seguridad y capacidad de administración. Además, implica una
serie de decisiones basadas en una amplia gama de factores, y cada una de esas decisiones
puede tener un considerable impacto sobre la calidad, rendimiento, mantenimiento y éxito
general de ese software.

El software moderno rara vez es independiente. Por lo menos, en la mayoría de los casos,
interactuará con un origen de datos como una base de datos corporativa que expone la
información con la que trabajan los usuarios del software. Habitualmente, el software
moderno debe también interactuar con otros servicios y funciones de red para realizar
autenticación, obtener y publicar información, y ofrecer una experiencia de usuario
integrada. Si no se cuenta con una arquitectura adecuada, puede que sea difícil o incluso
imposible implementar, operar, mantener e integrar el software correctamente con otros
sistemas, y no podrá cumplir los requisitos del usuario.

La arquitectura de software se puede considerar como un mapeo entre lo que un software


debe lograr y los detalles de la implementación como código. Al obtener la arquitectura
correcta se garantizará la coincidencia óptima entre requisitos y resultados. El software con
buena arquitectura llevará a cabo las tareas especificadas dentro de los parámetros de los
requisitos originales y lo hará de una forma que maximice el rendimiento, la seguridad,
confiabilidad y muchos otros factores.

En su máximo nivel, el diseño arquitectónico debe exponer la estructura del sistema pero
ocultar los detalles de implementación; percatarse de todos los casos y escenarios de uso;
intentar abordar los requisitos de todas las partes interesadas; y satisfacer lo más posible
todos los requisitos funcionales y de calidad.

¿Por qué es importante la arquitectura de software?

Los requerimientos del software moderno son cada vez más complejos puesto que los
usuarios esperan más de sus aplicaciones. Las aplicaciones de escritorio independientes y
sencillas ya no son lo suficientemente buenas en la mayoría de los escenarios comerciales y
empresariales. En nuestro mundo conectado, la aplicación debe interactuar con otras
aplicaciones y servicios y ejecutarse en una serie de entornos, como la nube, y en
dispositivos portátiles. Los diseños monolíticos comunes en el pasado se han reemplazado
por software componentizado orientado al servicio, que utiliza marcos, sistemas operativos,
hosts en tiempo de ejecución y redes para implementar características que eran insólitas
hasta hace unos pocos años.

Esta complejidad afecta no sólo al diseño, sino también a la implementación,


mantenimiento y administración del software. El costo total de propiedad (TCO) del
software ahora se compone predominantemente de costos posteriores a la implementación.
Una aplicación con buena arquitectura minimizará el TCO al reducir el costo y tiempo
requeridos para implementar la aplicación, mantenerla en ejecución, actualizarla para
cumplir con los requisitos cambiantes y solucionar problemas. Además simplificará el
soporte técnico y la administración por parte del usuario.

El software también debe cumplir varios criterios fundamentales para tener éxito. Debe
proporcionar seguridad de manera que la aplicación y sus datos estén protegidos contra
ataques malintencionados y errores accidentales. Debe ser robusto y confiable para
minimizar los errores y los costos asociados. Debe ejecutarse dentro de los parámetros
requeridos para satisfacer las necesidades del cliente, como un tiempo de respuesta máximo
o una capacidad de carga de trabajo específica. Debe ser sostenible para poder minimizar
los costos de administración y soporte técnico y suficientemente extensible para permitir
los cambios y actualizaciones inevitables que se requerirán con el tiempo.

Todos estos factores implican algunas desventajas. Por ejemplo, la implementación de los
mecanismos más seguros mediante un cifrado complejo afectará el rendimiento. La
implementación de opciones de configuración y actualización de amplio rango puede hacer
que la implementación y administración sean más complicadas. Además, cuanto más
complejo sea el diseño, más costará implementarlo. Una buena arquitectura tendrá como
objetivo equilibrar estos factores para producir el resultado óptimo en el escenario
específico.

¿Qué hace un arquitecto de software?

La arquitectura de software comienza con un conjunto de requisitos. Estos puede


expresarse en forma de diagramas, diagramas de flujo de proceso, modelos o listas
documentadas de tareas operacionales que el software debe realizar. Es habitual que el
cliente o el socio también expresen requisitos menos precisos, como la apariencia o la
manera en que ciertas interfaces de usuario deben funcionar en tareas comunes. Los
requisitos también deben incluir información sobre el software, sistemas, hardware y redes
existentes con que va a interactuar el nuevo software; y otros factores como el plan de
implementación y mantenimiento y, desde luego, el presupuesto disponible para el
proyecto.

El arquitecto de software debe considerar las necesidades del cliente. Sin embargo, el
término general “cliente” habitualmente comprende tres áreas de responsabilidad en
conflicto: los requisitos empresariales, los requisitos del usuario y los requisitos del
sistema. Los requisitos empresariales por lo general definen una serie de factores, como los
procesos de negocios, los factores de rendimiento (como seguridad, confiabilidad y
capacidad de proceso) y las restricciones de presupuesto y costos. Los requisitos del usuario
incluyen el diseño de interfaz, capacidades operativas y facilidad de uso del software. Los
requisitos del sistema incluyen el hardware, las redes y las capacidades y restricciones del
entorno en tiempo de ejecución. En la figura 1 se muestra cómo pueden variar estos
distintos requisitos, de modo que el arquitecto debe trabajar hasta lograr un diseño que se
ajuste al área de superposición.

Figura 1: los requisitos conflictivos de un cliente típico

Cada arquitecto de software tiene su propio enfoque para recopilar y analizar requisitos y
para definir la arquitectura. No obstante, algunas preguntas que generalmente deben
responder son: “¿cómo trabajarán los usuarios con la aplicación?”; “¿cómo se
implementará la aplicación en producción y cómo se administrará?”; “¿cuáles son los
requisitos de atributos de calidad para la aplicación, como seguridad, rendimiento,
concurrencia, internacionalización y configuración?”; “¿cómo se puede diseñar la
aplicación para que sea flexible y sostenible a través del tiempo?”; “¿cuáles son las
tendencias arquitectónicas que podrían tener impacto en la aplicación ahora o después de su
implementación?”

Esta última pregunta es interesante e importante. Un buen diseño de software no sólo


satisface los requisitos del cliente ahora, sino que continúa haciéndolo en el futuro
inmediato. Esto influye en las decisiones que debe tomar el arquitecto acerca del hardware,
los componentes, marcos, plataformas de tiempo de ejecución, sistemas de software de
administración y muchos otros factores incorporados en el software o con los que éste debe
integrarse.

Al igual que la mayoría de las tareas en el mundo del diseño y desarrollo de software,
diseñar la arquitectura es un proceso inicial y a la vez iterativo. Muchas tareas iniciales
como el análisis de requisitos, la investigación técnica y la identificación de objetivos
habitualmente se producen al comienzo del proceso. El siguiente paso consiste en
identificar los escenarios clave para el diseño. Estos son los requisitos primarios que debe
cumplir el software y las restricciones dentro de las que debe operar. A partir de esta
información, el arquitecto puede generar una descripción general de la aplicación. Esta
descripción general abarca detalles de alto nivel, como el tipo de aplicación (web, teléfono,
escritorio o nube), la arquitectura de implementación (habitualmente un diseño por niveles
con componentes que se comunican sobre límites de hardware y de red), los estilos
adecuados de arquitectura que se seguirán (como de n niveles, cliente-servidor u orientada
al servicio) y las tecnologías de implementación que se adaptan mejor al escenario.

Desde allí, el arquitecto puede comenzar a generar diseños candidatos que satisfagan los
requisitos de alto nivel y los más importantes que se identificaron anteriormente. El diseño
después se revisa y se pone a prueba frente a los escenarios clave, a menudo en conjunto
con las observaciones del cliente y versiones de ensayo o prueba, para garantizar que
ofrezca la solución óptima. Esto es poco probable durante la primera iteración, pero a
medida que el ciclo se repite el diseño finalmente convergirá en los requisitos y escenarios
clave. En la figura 2 se muestra este enfoque iterativo.

Figura 2: un proceso de diseño arquitectónico iterativo


A medida que el diseño se vuelve más pormenorizado y se identifican las tareas y
componentes individuales, el arquitecto puede seguir refinando y agregando detalles a cada
etapa. Por ejemplo, luego de identificar el estilo arquitectónico y el enfoque de
implementación, el arquitecto puede tomar decisiones respecto a la comunicación entre
niveles y componentes. Es posible que esto incluya la elección de un protocolo según los
requisitos actuales y futuros y la consideración de presentaciones preliminares de la nueva
tecnología y las capacidades definidas en próximos estándares.

El producto final del trabajo de un arquitecto generalmente es un conjunto de esquemáticas,


modelos y documentos que definen la aplicación desde varias perspectivas de manera que,
al combinarse, proporcionen a los desarrolladores, equipos de prueba, administradores y a
la administración general toda la información necesaria para implementar el diseño. Esta
información describirá la estructura y el diseño de las partes componentes y los niveles de
aplicación; la forma en que se manejan asuntos de alcance general como registro y
validación; el plan de pruebas e implementaciones; y la documentación para asistir a
desarrolladores, administradores y personal de soporte técnico.

El diseño final también debe especificar los atributos de calidad que debe cumplir la
aplicación. Estos constituyen el resultado de las decisiones y compensaciones realizadas
por el arquitecto con el asesoramiento del cliente. Estos atributos incluyen definiciones de
los requisitos de seguridad y su plan de implementación, la escalabilidad y el rendimiento
requeridos al implementarse en la plataforma de destino, las formas en que se implementan
el mantenimiento y la extensibilidad, y las características que permiten la interoperabilidad
con otros sistemas.

¿Qué habilidades necesita un arquitecto de software?

Es evidente que un arquitecto de software requiere una amplia gama de habilidades tanto
generales como técnicas. Durante el análisis de requisitos y las etapas de revisión, el
arquitecto debe trabajar con el cliente, consultar a socios y otros miembros del equipo y
actuar como un intermediario para gerentes, usuarios y administradores de sistemas. Al
sobresalir en estas habilidades generales se puede producir un mejor plan inicial y un
conjunto más preciso de requisitos, lo que ahorra tiempo y esfuerzo más adelante.
El arquitecto de software también debe poseer las habilidades técnicas que se requieren
para comprender cómo los modernos sistemas de software, los marcos y el hardware
admiten los requisitos; cómo los factores de red y sistema operativo pueden afectar las
decisiones de diseño; y cómo las tendencias y los cambios en estas áreas tendrán un
impacto sobre el diseño. Después del análisis inicial de requisitos, el arquitecto de software
también debe aplicar sus habilidades técnicas en torno a patrones de diseño, estándares de
comunicación y mensajería, capacidades de código, problemas de seguridad y restricciones
de rendimiento. Todos estos requieren un conocimiento profundo de las tecnologías que se
usarán para implementar el software final.

Por supuesto, la arquitectura de software también requiere visión. El ser capaz de ver cómo
los sistemas se integrarán y pueden interoperar, cómo serán particionados e implementados
y cómo interactúan con los usuarios a menudo sólo se puede determinar una vez que el
arquitecto ve en su mente la solución en general. Esto requiere un enfoque organizado y
mucha atención a los detalles para intercalar y comprender todos los requisitos y
restricciones, y para transformarlos gradualmente en un diseño técnico fluido e integral. Sin
embargo, también se requiere talento e imaginación para poder visualizar el resultado final
y luego trabajar metódicamente hacia la solución ideal.

Das könnte Ihnen auch gefallen