2. Se le conoce software el conjunto de los
componentes lógicos necesarios que hacen posible la
realización de tareas específicas, en contraposición a los
componentes fí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 el sistema 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.
3. software de sistema, denominado también software de base, consiste
en un software que sirve para controlar e interactuar con el sistema
operativo, proporcionando control sobre el hardware y dando
soporte a otros programas; en contraposición del llamado software
de aplicación. Como ejemplos cabe mencionar a las bibliotecas, como
por ejemplo Open GL, para la aceleración gráfica; PNG, para el
sistema gráfico; o demonios que controlan la temperatura, la
velocidad del disco duro, como hdparm, o la frecuencia
del procesador como cpudyn.
El software de sistema por antonomasia es Microsoft Windows, que
entre todas sus versiones acumula cerca de un 90% de la cuota de
mercado.1 Mención especial merece el proyecto GNU, cuyas
herramientas de programación permitieron combinarse con
el núcleo informático basado en Unix denominado Linux, formando
entre ambos las conocidas como distribuciones GNU/Linux. A
diferencia de la plataforma de Microsoft u otros ejemplos como Mac
OS, es software libre.
Desktop
Mobile
4. Software aplicación es un tipo de programa
informático diseñado como herramienta para permitir a
un usuario realizar uno o diversos tipos de trabajos. Esto
lo diferencia principalmente de otros tipos de programas
como los sistemas operativos (que hacen funcionar al
ordenador), las utilidades (que realizan tareas de
mantenimiento o de uso general), y los lenguajes de
programación (con el cual se crean los programas
informáticos).
Suele resultar una solución informática para
la automatización de ciertas tareas complicadas como
pueden ser la contabilidad, la redacción de documentos, o
la gestión de un almacén. Algunos ejemplos de programas
de aplicación son los procesadores de textos, hojas de
cálculo, y base de datos.
Mobile
Desktop
5. Software de programacion
Es el conjunto de herramientas que permiten
al programador escribir
programas informáticos, usando diferentes
alternativas y lenguajes de programación, de
una manera práctica.
Un lenguaje de programación es un idioma
artificial diseñado para
expresar computaciones que pueden ser
llevadas a cabo por máquinas como
las computadoras. Pueden usarse para
crear programas que controlen el
comportamiento físico y lógico de una
máquina, para expresar solución a problemas
con pasos lógicos y con precisión, o como modo
de comunicación humana. Está formado por
un conjunto de símbolos y reglas que definen
su estructura y el significado de sus elementos y
expresiones.
6. Etapas del proceso de desarrollo de software
Un proceso para el desarrollo de
software, también denominado ciclo
de vida del desarrollo de software es
una estructura aplicada al desarrollo
de un producto de software. Hay
varios modelos a seguir para el
establecimiento de un proceso para el
desarrollo de software, cada uno de
los cuales describe un enfoque
diferente para diferentes actividades
que tienen lugar durante el proceso.
Se clasifican en:
Análisis implementación
Diseño mantenimiento
Desarrollo fin del ciclo
pruebas
7. Análisis de requisitos
Extraer los requisitos de un producto de
software es la primera etapa para crearlo.
Mientras que los clientes piensan que ellos
saben lo que el software tiene que hacer, se
requiere de habilidad y experiencia en la
ingeniería de software para reconocer
requisitos incompletos, ambiguos o
contradictorios.
Diseño y arquitectura
Se refiere a determinar como
funcionará de forma general sin entrar
en detalles. Consiste en incorporar
consideraciones de la implementación
tecnológica, como el hardware, la red,
etc. Se definen los Casos de Uso para
cubrir las funciones que realizará el
sistema, y se transforman las entidades
definidas en el análisis de requisitos en
clases de diseño, obteniendo un modelo
cercano a la programación orientada a
objetos.
Programación
Reducir un diseño a código puede ser la
parte más obvia del trabajo de
ingeniería de software, pero no es
necesariamente la porción más larga. La
complejidad y la duración de esta etapa
está íntimamente ligada al o a los
lenguajes de programación utilizados.
8. Pruebas
Consiste en comprobar que el software realice
correctamente las tareas indicadas en la
especificación. Una técnica de prueba es probar
por separado cada módulo del software, y luego
probarlo de forma integral, para así llegar al
objetivo. Se considera una buena practica el que
las pruebas sean efectuadas por alguien distinto
al desarrollador que la programó, idealmente un
área de pruebas; sin perjuicio de lo anterior el
programador debe hacer sus propias pruebas.
Documentación
Todo lo concerniente a la documentación del
propio desarrollo del software y de la gestión
del proyecto, pasando por modelaciones
(UML), diagramas, pruebas, manuales de
usuario, manuales técnicos, etc; todo con el
propósito de eventuales correcciones,
usabilidad, mantenimiento futuro y
ampliaciones al sistema.
Mantenimiento
Mantener y mejorar el
software para enfrentar
errores descubiertos y
nuevos requisitos. Esto
puede llevar más tiempo
incluso que el desarrollo
inicial del software.
9. Tipos de licencia que existen
Software con copyleft
Software semi- libre
Freeware
Shareware
Software comercial
Código abierto
gnu
10. máquina virtual
una máquina virtual es un software que simula a una
computadora y puede ejecutar programas como si
fuese una computadora real. Este software en un
principio fue definido como "un duplicado eficiente y
aislado de una máquina física". La acepción del
término actualmente incluye a máquinas virtuales que
no tienen ninguna equivalencia directa con ningún
hardware real.
Una característica esencial de las máquinas virtuales
es que los procesos que ejecutan están limitados por
los recursos y abstracciones proporcionados por ellas.
Estos procesos no pueden escaparse de esta
"computadora virtual".