2. CONCEPTO
El software es la parte lógica e
intangible de una
computadora. Es decir es el
conjunto de los programas de
cómputo, procedimientos,
reglas, documentación y datos
asociados que forman parte de
las operaciones de un sistema
de computación
3. TIPOS DE SOFTWARE Y SU CLASIFICACIÓN
Podemos encontrar distintos tipos
de software, hay desde una
clasificación básica hasta una
avanzada, por el momento
veremos la básica.
4. • Es el software que nos permite tener una interacción con
nuestro hardware, es decir, es el sistema operativo. Es el
software esencial para una computadora, sin él no podría
funcionar, como ejemplo tenemos a Windows, Linux, Mac
OS X. Se clasifica en:
• Sistemas operativos, Controladores de dispositivo,
Herramientas de diagnóstico, Herramientas de Corrección
y Optimización, Servidores, Utilidades
Software de
sistema:
• Es un conjunto de aplicaciones que permiten a un
programador desarrollar sus propios programas informáticos
haciendo uso de sus conocimientos lógicos y lenguajes de
programación. Algunos ejemplos:
• Editores de texto, Compiladores, Intérpretes, Enlazadores,
Depuradores, Entornos de Desarrollo Integrados (IDE)
Software de
Programación:
•Software de aplicación: Es aquel que permite a los usuarios llevar a
cabo una o varias tareas específicas, en cualquier campo de actividad
susceptible de ser automatizado o asistido, con especial énfasis en los
negocios. Incluye entre muchos otros:
•Aplicaciones para Control de sistemas y automatización industrial,
Aplicaciones ofimáticas, Software educativo, Software empresarial,
Bases de datos, Telecomunicaciones (por ejemplo Internet y toda su
estructura lógica), Videojuegos, Software médico, Software de cálculo
numérico y simbólico., Software de diseño asistido (CAD), Software de
control numérico (CAM)
Software de
aplicación:
CLASIFICACIÓN
5. INTERFACES DEL USUARIO:
Es la parte del sistema operativo que permite
comunicarse con él de tal manera que se
puedan cargar programas, acceder archivos y
realizar otras tareas. Existen tres tipos básicos
de interfaces: las que se basan en comandos,
las que utilizan menús y las interfaces gráficas
de usuario.
ADMINISTRACIÓN DE RECURSOS:
Sirven para administrar los recursos de hardware
y de redes de un sistema informativo, como el
CPU, memoria, dispositivos de almacenamiento
secundario y periféricos de entrada y de salida.
ADMINISTRACIÓN DE ARCHIVOS:
Un sistema de información contiene programas de
administración de archivos que controlan la
creación, borrado y acceso de archivos de datos y
de programas. También implica mantener el
registro de la ubicación física de los archivos en
los discos magnéticos y en otros dispositivos de
almacenamiento secundarios.
6. • Los programas de administración de tareas de un
sistema operativo administran la realización de las
tareas informáticas de los usuarios finales. Los
programas controlan que áreas tiene acceso al CPU
y por cuánto tiempo
Administración
de tareas
• Los servicios de soporte de cada sistema
operativo dependerán de
la implementación (programas orientados a
diferentes tareas, como editores de texto,
administradores de archivos, navegadores,
etc.) particular de éste con la que estemos
trabajando
• Estos servicios de soporte suelen consistir en:
• Actualización de versiones.
• Mejoras de seguridad.
• Inclusión de alguna nueva utilidad (un nuevo
entorno gráfico, un asistente para administrar
alguna determinada función, Controladores
para manejar nuevos periféricos.
• Corrección de errores de software.
• Otros.
Servicio de
soporte
7. Sistemas Operativos de
multiprogramación (o Sistemas
Operativos de multitarea).
Es el modo de funcionamiento
disponible en algunos sistemas
operativos, mediante el cual una
computadora procesa varias tareas
al mismo tiempo.
Sistema Operativo Mono tareas.
Los sistemas operativos mono
tareas son más primitivos y es todo
lo contrario al visto anteriormente,
es decir, solo pueden manejar un
proceso en cada momento o que
solo puede ejecutar las tareas de
una en una.
Sistema Operativo Monousuario.
Los sistemas monousuarios son
aquellos que nada más puede
atender a un solo usuario, gracias
a las limitaciones creadas por el
hardware, los programas o el tipo
de aplicación que se este
ejecutando.
Sistema Operativo Multiusuario.
En esta categoría se encuentran
todos los sistemas que cumplen
simultáneamente las necesidades
de dos o más usuarios, que
comparten mismos recursos. Este
tipo de sistemas se emplean
especialmente en redes.
Clasificación de los Sistemas Operativos
8. Sistemas Operativos paralelos.
En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitan
por algún recurso se puedan realizar o ejecutar al mismo tiempo.
• Sistemas Operativos de tiempo real.
Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino
los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los
procesos en el momento que lo requieran.
Sistemas Operativos de red.
Son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún medio de
comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la
información del sistema.
• Sistemas Operativos por lotes.
• Procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los
programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo,
evitando la espera de dos o más trabajos como sucede en el procesamiento en serie.
9. Proceso de
creación del
software
• El proceso de creación de software puede llegar a ser muy complejo,
dependiendo de su porte, características y criticidad del mismo. Por
ejemplo la creación de un sistema operativo es una tarea que requiere
proyecto, gestión, numerosos recursos y todo un equipo disciplinado de
trabajo. En el otro extremo, si se trata de un sencillo programa (por
ejemplo, la resolución de una ecuación de segundo orden), éste puede
ser realizado por un solo programador (incluso aficionado) fácilmente. Es
así que normalmente se dividen en tres categorías según su tamaño.
Proceso de
desarrollo de
software
• Los «procesos de desarrollo de software» poseen reglas
preestablecidas, y deben ser aplicados en la creación del software de
mediano y gran porte, ya que en caso contrario lo más seguro es que el
proyecto no logre concluir o termine sin cumplir los objetivos previstos, y
con variedad de fallos inaceptables (fracasan, en pocas palabras).
10. El proceso de desarrollo puede involucrar numerosas y variadas
tareas, desde lo administrativo, pasando por lo técnico y hasta la gestión
y el gerenciamiento. Pero, casi rigurosamente, siempre se cumplen
ciertas etapas mínimas; las que se pueden resumir como sigue:
Captura, e licitación, especificación y análisis de requisitos (ERS)
Diseño
Codificación
Pruebas (unitarias y de integración)
Instalación y paso a producción
Mantenimiento
11. Modelos de proceso o ciclo de vida
Para cada una de las fases o etapas listadas en el ítem anterior, existen sub-etapas (o tareas). El modelo de proceso o
modelo de ciclo de vida utilizado para el desarrollo, define el orden de las tareas o actividades involucradas, también
define la coordinación entre ellas, y su enlace y realimentación.
Modelo cascada
El modelo en cascada puro difícilmente se utiliza tal cual, pues esto implicaría un previo y absoluto conocimiento de los
requisitos, la no volatilidad de los mismos (o rigidez) y etapas subsiguientes libres de errores; ello sólo podría ser
aplicable a escasos y pequeños sistemas a desarrollar.
Modelos evolutivos
El software evoluciona con el tiempo. Los requisitos del usuario y del producto suelen cambiar conforme se desarrolla el
mismo. Las fechas de mercado y la competencia hacen que no sea posible esperar a poner en el mercado un producto
absolutamente completo, por lo que se aconsejable introducir una versión funcional limitada de alguna forma para aliviar
las presiones competitivas.
Modelo iterativo incremental
Los pasos generales que sigue el proceso de desarrollo de un producto software. En el modelo de ciclo de vida
seleccionado, se identifican claramente dichos pasos. La descripción del sistema es esencial para especificar y
confeccionar los distintos incrementos hasta llegar al producto global y final. Las actividades concurrentes
(especificación, desarrollo y validación) sintetizan el desarrollo pormenorizado de los incrementos, que se hará
posteriormente.
12. Modelo espiral Win & Win
Una variante interesante del Modelo Espiral previamente visto (Figura 6) es el «Modelo espiral Win-Win» (Barry
Boehm). El Modelo Espiral previo (clásico) sugiere la comunicación con el cliente para fijar los requisitos, en que
simplemente se pregunta al cliente qué necesita y él proporciona la información para continuar; pero esto es en un
contexto ideal que rara vez ocurre. Normalmente cliente y desarrollador entran en una negociación, se negocia coste
frente a funcionalidad, rendimiento, calidad, etc.
Modelo espiral
El modelo espiral fue propuesto inicialmente por Barry Boehm. Es un modelo evolutivo que conjuga la naturaleza
iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada. Proporciona potencial
para desarrollo rápido de versiones incrementales. En el modelo Espiral el software se construye en una serie de
versiones incrementales.