Se conoce como software1 al equipo lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentesfísicos que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas, tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como elsistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.
El anglicismo "software" es el más ampliamente difundido al referirse a este concepto, especialmente en la jerga técnica; en tanto que el término sinónimo «logicial», derivado del término francés logiciel, es utilizado mayormente en países y zonas de influencia francesa. Su abreviatura es Sw.
Software del sistema: es el conjunto de programas indispensables para que la máquina funcione; se denominan también programas del sistema. Procesa tareas tan esenciales, aunque a menudo invisibles, como el mantenimiento de los archivos del disco y la administración de la pantalla. Estos programas son básicamente: sistema operativo: DOS y WINDOWS, editores de texto: EDIT, PADWORD, compiladores / interpretes (lenguajes de programación) y programas de utilitarios.
El sistema operativo: dirige las operaciones globales de la computadora, instruye a la computadora para ejecutar otros programas y controla el almacenamiento y resuperación de archivos (programas y datos) de cintas y discos. Es el software que controla la ejecución de todas las aplicaciones y de los programas de software de sistema. Son una serie de programas que administran los recursos del computador. Este indica como interactuar con el usuario y como usar los dispositivos: discos duros, teclado y monitor. En cuanto a su función se puede decir que es el núcleo de toda la actividad del software, este monitorea y controla todas las entradas y salidas de sistemas de computación. Asimismo, responde a las indicaciones provenientes del usuario, o de un conjunto previamente definido de comandos. Además, controla la ejecución de varios programas, simultáneamente. Igualmente, actúa como traductor, entre las operaciones y la respuesta de la maquina; informa al usuario de cualquier error que presente la maquina. También, posee un programa llamado "manipulador de discos" opera con un circuito electrónico llamado controlador de discos, este ayuda a traducir las ordenes de los programas para encontrar la pista adecuada.
Incluso, este está generalmente diseñado por el fabricante y por ello no es posible definir uno estándar; aunque hay un conjunto de funciones básicas o componentes que todo sistema debe considerar, y son: controlar lasoperaciones de entrada y salida, cargar, inicializar y supervisar la ejecución de los trabajos, detectar errores, controlar las interrupciones causadas por los errores, asignar memoria a cada tarea, manejar el multiproceso, la multiprogramación, memoria virtual, etc. Este se clasifica en: Usuario único: es de tipo simple, ya que se dedica a un solo programa a la vez. Usuario múltiple: es de tipo general, ya que puede satisfacer las exigencias de usuarios múltiples con los recursos de programas y maquina de qué se dispone. Puede ser de varios tipos:
- Multiprogramación: es un caso en la que múltiples programas pueden almacenarse en la memoria y ejecutarse siguiendo un nivel de prioridades.
- Tiempo compartido: permite que cada programa actúe durante cierto tiempo (apropiado para programas interactivos).
- Lotes: es una colección de programas, escritos en COBOL o FOLTRAN, se incorpora al ordenador y se procesa.
- Tiempo Real: en este la respuesta al ordenador debe ser lo bastan rápida como para proporcionar una decisión en tiempo real.

- Procesadores de palabras: Estos permiten hacer cambios y correcciones con facilidad, permiten revisar la ortografía e incluso la gramática de un documento, cambiar la apariencia de la letra, agregar gráficos, fusionar listas de direcciones con cartas con envío de correo en grupo, general tablas de contenido, etc. También se puede usar para crear cualquier tipo de documento (carta de negocio,documentos legales). Ejemplos de procesadores de texto: Word, AmiPro, Wordperfect.
- Hojas de cálculo: son procesadores de números tridimensionales. Se pueden crear hojas de trabajo donde puedes colocar textos, números o formulas en las celdas, obteniendo una hoja contable computarizada. También puede crear gráficas y tablas para mostrar gráficamente relaciones entre números. Ejemplos de Hojas de Cálculo: Excel, Lotus 123, Quatro.
- Paquetes de Presentación o Graficadores: Software que permite al usuario diseñar presentaciones para desplegarlas a través de la misma computadora o imprimir diapositivas y acetatos. Contienen opciones avanzadas para integrar efectos en cada cambio de diapositiva. Ejemplos: Presentation, Power Point. Otro tipo de software para gráfico son las aplicaciones para presentaciones de gráficos con este se crean gráficas y tabla a color y de calidad profesional basados en datos numéricos de otro programa (hoja de calculo).
- Manejador de base de datos: Se utiliza para organizar los datos guardados en la computadora y permite buscar datos específicos de diferentes maneras. También archivan los datos en orden alfabético esto permite obtener la información que se desean más fácilmente.
- Software de red, que permite comunicarse a grupos de usuarios.
- Shareware: Software distribuido de forma gratuita para ser probado. Si el usuario decide quedarse con el programa y seguir usándolo, debe pagar al desarrollador. Normalmente, el shareware es desarrollado por compañías relativamente pequeñas o inclusive por programadores individuales, y generalmente es barato.
- Freeware: Programas gratuitos que los desarrolladores ponen a disposición de otros usuarios sin ningún costo. En algunos casos el desarrollador no reclama derechos de autor y el programa se convierte en software del dominio público. En otros casos, el software tiene derechos de autor pero el desarrollador ha permitido a otra gente usarlos y copiarlo gratuitamente.
- Aplicación Vertical: Las aplicaciones verticales son programas que realizan todas las fases de una función crítica del negocio. Estos programas, que muchas veces corren en una combinación de Mainframes, minis y computadoras personales, se denominan algunas veces aplicaciones de misión crítica. Generalmente son desarrollados a la medida por cada compañía que los tiene y son usados por muchos individuos dentro de una Organización.
En ingeniería de software, el diseño es una fase de ciclo de vida del software. Se basa en la especificación de requisitos producido por el análisis de los requisitos (fase de análisis), el diseño define cómo estos requisitos se cumplirán, la estructura que debe darse al sistema de software para que se haga realidad.
El diseño sigue siendo una fase separada del la programación o codificación, esta última corresponde a la traducción en un determinado lenguaje de programación de las premisas adoptadas en el diseño.
Las distinciones entre las actividades mencionadas hasta ahora no siempre son claras cómo se quisiera en las teorías clásicas de ingeniería de software. El diseño, en particular, puede describir el funcionamiento interno de un sistema en diferentes niveles de detalle, cada una de ellos se coloca en una posición intermedia entre el análisis y codificación.
Normalmente se entiende por "diseño de la arquitectura" al diseño de "muy alto nivel", que sólo define la estructura del sistema en términos de la módulos de software de que se compone y las relaciones macroscópicas entre ellos. A este nivel de diseño pertenecen fórmulas como cliente-servidor o “tres niveles”, o, más generalmente, las decisiones sobre el uso de la arquitectura de hardware especial que se utilice, el sistema operativo, DBMS, Protocolos de red, etc.
Un nivel intermedio de detalle puede definir la descomposición del sistema en módulos, pero esta vez con una referencia más o menos explícita al modo de descomposición que ofrece el particular lenguaje de programación con el que el desarrollo se va a implementar, por ejemplo, en un diseño realizado con la tecnología de objetos, el proyecto podría describir al sistema en términos de clases y sus interrelaciones.
El diseño detallado, por último, es una descripción del sistema muy cercana a la codificación (por ejemplo, describir no sólo las clases en abstracto, sino también sus atributos y los métodos con sus tipos).
Debido a la naturaleza "intangible" del software, y dependiendo de las herramientas que se utilizan en el proceso, la frontera entre el diseño y la codificación también puede ser virtualmente imposible de identificar. Por ejemplo, algunas herramientas CASE son capaces de generar código a partir de diagramas UML, los que describen gráficamente la estructura de un sistema software.
Mantenimiento:
El mantenimiento de software es el proceso de control, mejora y optimización del software ya desarrollado e instalado, que también incluye depuración de errores y defectos que puedan haberse filtrado de la fase de pruebas de control y beta test. Esta fase es la última (antes de iterar, según el modelo empleado) que se aplica al ciclo de vida del desarrollo de software. La fase de mantenimiento es la que viene después de que el software está operativo y en producción.
De un buen diseño y documentación del desarrollo dependerá cómo será la fase de mantenimiento, tanto en costo temporal como monetario. Modificaciones realizadas a un software que fue elaborado con una documentación indebida o pobre y mal diseño puede llegar a ser tanto o más costosa que desarrollar el software desde el inicio. Por ello, es de fundamental importancia respetar debidamente todas las tareas de las fases del desarrollo y mantener adecuada y completa la documentación.
El período de la fase de mantenimiento es normalmente el mayor en todo el ciclo de vida.7 Esta fase involucra también actualizaciones y evoluciones del software; no necesariamente implica que el sistema tuvo errores. Uno o más cambios en el software, por ejemplo de adaptación o evolutivos, puede llevar incluso a rever y adaptar desde parte de las primeras fases del desarrollo inicial, alterando todas las demás; dependiendo de cuán profundos sean los cambios. El modelo cascada común es particularmente costoso en mantenimiento, ya que su rigidez implica que cualquier cambio provoca regreso a fase inicial y fuertes alteraciones en las demás fases del ciclo de vida.
Durante el período de mantenimiento, es común que surjan nuevas revisiones y versiones del producto; que lo liberan más depurado, con mayor y mejor funcionalidad, mejor rendimiento, etc. Varias son las facetas que pueden ser alteradas para provocar cambios deseables, evolutivos, adaptaciones o ampliaciones y mejoras.
Básicamente se tienen los siguientes tipos de cambios:
- Perfectivos: Aquellos que llevan a una mejora de la calidad interna del software en cualquier aspecto: Reestructuración del código, definición más clara del sistema y su documentación; optimización del rendimiento y eficiencia.
- Evolutivos: Agregados, modificaciones, incluso eliminaciones, necesarias en el software para cubrir su expansión o cambio, según las necesidades del usuario.
- Adaptivos: Modificaciones que afectan a los entornos en los que el sistema opera, tales como: Cambios de configuración del hardware (por actualización o mejora de componentes electrónicos), cambios en el software de base, en gestores de base de datos, en comunicaciones, etc.
- Correctivos: Alteraciones necesarias para corregir errores de cualquier tipo en el producto software desarrollado.

es un conjuntos de comandos de distintos lenguajes de programacion,que conjuntos realizan una serie de tareas al interactuar con un usuario
ResponderEliminaro ejecutarse por programacion automatizada,
cada software tiene una base un fundamento, y su sistema logico para interpretar las
acciones que realice un usuario.
revisado
ResponderEliminar