HISTORIA DEL COMPUTADOR

Desde la antigüedad el hombre ha tratado de usar cualquier forma de simplificar su trabajo, hacerlo más fácil y rápido, formas de hacer grandes operaciones matemáticas pues ya los dedos u otros objetos no fueron suficientes, es cuando aparece el primer invento: el ábaco, que aún hoy sirve a las personas para calcular rápidamente. Luego apareció la regla de cálculo, que con el tiempo fue siendo perfeccionada hasta ser una calculadora de bolsillo. Surge entonces la pascalina, una calculadora mecánica inventada por Pascal.

En 1700 las calculadoras digitales, que vienen del ábaco y la regla de cálculo, eran comunes en Europa.


 
Hacia el siglo XIX el matematico Charles Babbage dio los principios hacia la computadora moderna. Él y Augusta Ada Byron, son considerados los verdaderos inventores del computador como lo conocemos hoy. Gracias a su invento de la máquina analítica, que tenía muchas de las características de un ordenador moderno, corriente, memoria, procesador, impresora. Pero sus conceptos para aquella época no podían pasarse a la práctica, pues la tecnología que en ese entonces conocían no era suficiente.
 
Los primeros ordenadores analógicos surgieron hacia el siglo XX, que realizaban complejos cálculos, primero mecánica y luego eléctricamente.

Para 1944 se conoce el primero computador, como lo conocemos hoy. Esta maquina funcionaba eléctricamente, aunque tenía poca capacidad comparada con las actuales. Fue el Dr. Horward Aiken quien la presentó como Mark I.



Existen varias generaciones que clasifican la evolución que han tenido las computadoras hasta hoy asi:

Primera generación (1946-1955)

La tecnología de esta generación se basaba en grandes y pesadas tubos de vacío que es un dispositivo electrónico que se utiliza para manipular señales eléctricas mediante el control del movimiento de los electrones en un medio de muy baja presión, generalmente el vacío o un gas especialmente seleccionado; las cuales se sobre calentaban, y había que cambiarlas con frecuencias.

El ingreso y salida de los datos se realizaba mediante tarjetas perforadas, es una cartulina con unas determinaciones al estar perforadas, lo que supone un código binario por lo que el procesamiento de la información era lento y secuencial.

Segunda generación (1956-1964)

En esta generación las computadoras utilizaban transistores, el transistor es un dispositivo electrónico semiconductor que cumple funciones de amplificador, oscilador, conmutador o rectificador, que eran mucho más pequeños y confiables que los tubos de vacío. El tamaño de las computadoras se redujo considerablemente. Los datos comenzaron en cilindros y cintas magnéticas. También aparece un nuevo periférico de salida, la impresora y se desarrollan los primeros lenguajes de alto nivel: Fortran, Cobol. Se empezaron a usar con fines comerciales.

Tercera generación (1965-1970)

Esta generación se caracteriza por la utilización de chips de circuitos integrados. Un chip permite agrupar miles de transistores en una oblea de silicio apenas más grande que un transistor. De ese modo, la velocidad de procesamiento se incrementó sustancialmente, asimismo, se mejoran los sistemas de almacenamiento existentes y se desarrollaron nuevos lenguajes de programación: Pascal; Basic; logo.
Las computadoras se comenzaron a utilizar con fines múltiples

Cuarta generación (1971-1982)

El microprocesador, Memorias Electrónicas, Sistema de tratamiento de base de datos, se minimizan los circuitos, aumenta la capacidad de almacenamiento. Reducen el tiempo de respuesta. Gran expansión del uso de las Computadoras. Memorias electrónicas más rápidas.

Generación Posterior y La Inteligencia Artificial

El propósito de la Inteligencia Artificial es equipar a las Computadoras con "Inteligencia Humana" y con la capacidad de razonar para encontrar soluciones, en esencia, la Computadora aprenderá a partir de sus propias experiencias usará sus Datos originales para obtener la respuesta por medio del razonamiento y conservará esos resultados para posteriores tareas de procesamiento y toma de decisiones. El conocimiento recién adquirido le servirá como base para la próxima serie de soluciones.




                                                                                                                                                                              

HARDWARE


Corresponde a todas las partes físicas y tangibles de una computadora: sus componentes eléctricos, electrónicos, electromecánicos y mecánicos; sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado. Un sistema informático se compone de una unidad central de procesamiento (CPU), encargada de procesar los datos, uno o varios periféricos de entrada, los que permiten el ingreso de la información y uno o varios periféricos de salida, los que posibilitan dar salida a los datos procesados.

Unidad central de procesamiento


La CPU, siglas en inglés de Unidad Central de Procesamiento, es la componente fundamental del computador, encargada de interpretar y ejecutar instrucciones y de procesar datos.13 En los computadores modernos, la función de la CPU la realiza uno o más microprocesadores. Se conoce como microprocesador a un CPU que es manufacturado como un único circuito integrado.

La gran mayoría de los circuitos electrónicos e integrados que componen el hardware del computador van montados en la placa madre.

La placa madre, también conocida como placa base es un gran circuito impreso sobre el que se suelda el chipset, las ranuras de expansión, los zócalos, conectores, diversos integrados, etc. Es el soporte fundamental que aloja y comunica a todos los demás componentes por medio de: Procesador, módulos de memoria RAM, tarjetas gráficas, tarjetas de expansión, periféricos de entrada y salida. Para comunicar esos componentes, la placa base posee una serie de buses con los cuales se trasmiten los datos dentro y hacia afuera del sistema.


Memoria RAM



La RAM es la memoria utilizada en una computadora para el almacenamiento transitorio y de trabajo (no masivo). En la RAM se almacena temporalmente la información, datos y programas que la Unidad de Procesamiento (CPU) lee, procesa y ejecuta. Las memorias RAM son, comúnmente, volátiles; lo cual significa que pierden rápidamente su contenido al interrumpir su alimentación eléctrica.

La memoria RAM de un computador se provee de fábrica e instala en lo que se conoce como “módulos”. Ellos albergan varios circuitos integrados de memoria DRAM que, conjuntamente, conforman toda la memoria principal.

Periféricos

Se entiende por periférico a las unidades o dispositivos que permiten a la computadora comunicarse con el exterior, esto es, tanto ingresar como exteriorizar información y datos. Los periféricos son los que permiten realizar las operaciones conocidas como de entrada/salida (E/S).

Aunque son estrictamente considerados “accesorios” o no esenciales, muchos de ellos son fundamentales para el funcionamiento adecuado de la computadora moderna; por ejemplo, el teclado, el disco duro y el monitor son elementos actualmente imprescindibles; pero no lo son un scanner o una impresora.

Dispositivos de entrada de información

De esta categoría son aquellos que permiten el ingreso de información, en general desde alguna fuente externa o por parte del usuario. Los dispositivos de entrada proveen el medio fundamental para transferir hacia la computadora información desde alguna fuente, sea local o remota. También permiten cumplir la esencial tarea de leer y cargar en memoria el sistema operativo y las aplicaciones o programas informáticos, los que a su vez ponen operativa la computadora y hacen posible realizar las más diversas tareas.











Entre los periféricos de entrada se puede mencionar: 11 teclado, mouse o ratón, escáner, micrófono, cámara web , lectores ópticos de código de barras, lectora de CD o DVD (sólo lectoras), placas de adquisición/conversión de datos, etc.













Dispositivos de salida

Son aquellos que permiten emitir o dar salida a la información resultante de las operaciones realizadas por la CPU (procesamiento).

Los dispositivos de salida aportan el medio fundamental para exteriorizar y comunicar la información y datos procesados; ya sea al usuario o bien a otra fuente externa, local o remota.

Los dispositivos más comunes de este grupo son los monitores clásicos (no de pantalla táctil), las impresoras, y los altavoces.

Entre los periféricos de salida puede considerarse como imprescindible para el funcionamiento del sistema al monitor. Otros, aunque accesorios, son sumamente necesarios para un usuario que opere un computador moderno.

Dispositivos mixtos (E/S de información)

Son aquellos dispositivos que pueden operar de ambas formas: tanto de entrada como de salida.Típicamente, se puede mencionar como periféricos mixtos o de Entrada/Salida a: discos rígidos, disquetes, unidades de cinta magnética, lecto-grabadoras de CD/DVD, discos ZIP, etc. También entran en este rango, con sutil diferencia, otras unidades, tales como: Memoria flash, tarjetas de red, módems, placas de captura/salida de vídeo, etc.

La pantalla táctil (no el monitor clásico) es un dispositivo que se considera mixto, ya que además de mostrar información y datos (salida) puede actuar como un dispositivo de entrada, reemplazando, por ejemplo, a algunas funciones del ratón o del teclado.

SOFTWARE


Se conoce como software al equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas.

Tales componentes lógicos incluyen, entre muchos otros, aplicaciones informáticas —como el procesador de textos, que permite al usuario realizar todas las tareas concernientes a la edición de textos— o el software de sistema —tal como el sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de las aplicaciones, proporcionando también una interfaz para el usuario.


Clasificación del Software

1. Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:

Sistemas operativos

Controladores de dispositivos

Herramientas de diagnóstico

Herramientas de Corrección y Optimización

Servidores

Utilidades


2. Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros:

Editores de texto

Compiladores

Intérpretes

Enlazadores

Depuradores

Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).


3. 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 otros:

Aplicaciones para Control de sistemas y automatización industrial

Aplicaciones ofimáticas

Software educativo

Software empresarial

Bases de datos

Telecomunicaciones (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)



SISTEMAS OPERATIVOS

Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas usados por el usuario para utilizar un computador.1 Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como estación para las aplicaciones que se ejecutan en la máquina.

Uno de los propósitos de un sistema operativo como programa estación principal, consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.)

Interrupciones y excepciones

El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:

• Algún dispositivo de E/S necesita atención.

• Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación).

En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa.

Según los dos casos anteriores tenemos las interrupciones y la excepciones:

• Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado.

• Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO.

Los sistemas operativos más conocidos son los siguientes:

1) DOS: El famoso DOS, que quiere decir Disk Operating System (sistema operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el mismo SO que el PC-DOS.

La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel.

Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían.

Aún con los nuevos sistemas operativos que han salido al mercado, todavía el DOS es un sólido contendiente en la guerra de los SO.

2) Windows 3.1: Microsoft tomo una decisión, hacer un sistema operativo que tuviera una interfaz gráfica amigable para el usuario, y como resultado obtuvo Windows. Este sistema muestra íconos en la pantalla que representan diferentes archivos o programas, a los cuales se puede accesar al darles doble click con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fácil aprender a usar nuevo software una vez aprendido las bases.

3) Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versión del Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo así correr mejores aplicaciónes para mejorar la eficacia del trabajo.

4) Windows NT: Esta versión de Windows se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o más computadoras.

5) OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows.

6) Mac OS: Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.

7) UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas.

LENGUAJE DE PROGRAMACIÓN


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 algoritmos con precisión, o como modo de comunicación humana.También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:

• El desarrollo lógico del programa para resolver un problema en particular.

• Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).

• Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.

• Prueba y depuración del programa.

• Desarrollo de la documentación.

Implementación

La implementación de un lenguaje es la que provee una manera de que se ejecute un programa para una determinada combinación de software y hardware. Existen básicamente dos maneras de implementar un lenguaje: compilación e interpretación


Tipos de Lenguaje


Lenguajes de bajo nivel

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.

Dentro de este grupo se encuentran:

• El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina.
• El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. 


 

Lenguajes de alto nivel

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.

Están dirigidos a solucionar problemas mediante el uso de EDD's.

Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.


ARQUITECTURA

El concepto de arquitectura en el entorno informático proporciona una descripción de la construcción y distribución física de los componentes de la computadora.


La arquitectura de una computadora explica la situación de sus componentes y permite determinar las posibilidades de que un sistema informático, con una determinada configuración, pueda realizar las operaciones para las que se va a utilizar.

Los sistemas informáticos se dividen físicamente en la unidad central del sistema y los periféricos que permiten conectarlo al mundo exterior.

Unidad Central del Sistema

La Unidad Central del Sistema es el centro de operaciones de cualquier computadora. En la unidad central del sistema se alojan los componentes y circuitería que van a realizar las tareas fundamentales de la computadora.

Al abrir la unidad central del sistema de una computadora se pueden apreciar una serie de componentes:

- Placa principal.

- Unidad central de proceso (CPU).

- Bus.

- Memoria principal.

1. Placa Principal.

Es una placa con un circuito impreso donde se conectan los elementos básicos de la computadora: el microprocesador, el bus y toda o parte de la memoria principal.

Tambien denominada como placa base o placa madre.


2. Microprocesador Central o Unidad Central de Proceso (CPU).

Es el elemento fundamental de la computadora. El microprocesador va a ocuparse de la ejecución de las órdenes de comandos, los cálculos matemáticos solicitados por las referidas órdenes, el manejo de los datos asociados a los cálculos. Otra función importante del microprocesador va a ser el control de los componentes del sistema informático conectados a él y que le dan apoyo y le permiten realizar todas las operaciones que le son solicitadas por los diferentes programas de aplicación.


3. Bus.

El bus, quizá fuera mejor decir los buses ya que existen varios con diversas funciones, es un circuito que conecta el procesador central con todo el resto de componentes de la computadora.

El bus sirve para que le llegue al procesador la información y las solicitudes de trabajo, desde el exterior, y envíe hacia afuera los resultados del trabajo realizado.

4. Memoria Principal.

Es la zona de trabajo donde la computadora va a almacenar temporalmente las órdenes a ejecutar y los datos que deberán manipular esas órdenes.

Cuanto mayor sea la cantidad de memoria existente en el sistema informático, mayores serán las posibilidades de trabajo de la computadora, ya que ésta podrá manipular una cantidad superior de datos al mismo tiempo (siempre que el sistema operativo lo permita).

Unidad Central de Proceso

La Unidad Central de Proceso es el lugar donde se realizan las operaciones de cálculo y control de los componentes que forman la totalidad del conjunto del sistema informático.

El microprocesador central de una computadora se divide en:

• Unidad de Control (Control Unit o CU en inglés).

• Unidad Aritmético-Lógica (Aritmethic Control Unit o ALU en inglés).

• Registros.

La Unidad de Control maneja y coordina todas las operaciones del sistema informático, dando prioridades y solicitando los servicios de los diferentes componentes para dar soporte a la unidad aritmético-lógica en sus operaciones elementales.

La Unidad Aritmético-Lógica realiza los diferentes cálculos matemáticos y lógicos que van a ser necesarios para la operatividad de la computadora; debe recordarse que todo el funcionamiento del sistema de una computadora se realiza sobre la base de una serie de operaciones matemáticas en código binario.

Los Registros son una pequeña memoria interna existente en la CPU que permiten a la ALU el manejo de las instrucciones y los datos precisos para realizar las diferentes operaciones elementales.

De la misma forma que la placa principal tiene un bus para conectar la CPU con los diferentes dispositivos del sistema informático, la unidad de control tiene un bus interno para conectar sus componentes.



Memoria Principal

La Memoria Principal es la zona de la unidad central de sistema que almacena la información, en forma de programas y datos, que se va a procesar seguidamente o va a servir de apoyo a las diferentes operaciones que se van a efectuar por la computadora.

La posibilidad del proceso inmediato de la información que almacena la memoria principal es su característica fundamental.

Memoria RAM

Las Memorias de Acceso Aleatorio (RAM: Random Access Memory) son en las que se puede leer y escribir información. Permite el acceso a cualquier información que contenga con la misma velocidad. Esto significa que se puede acceder aleatoriamente a cualquier información almacenada sin que se afecte la eficiencia del acceso

Las tecnologías de memorias RAM se basan en Celdas de Memoria. La memoria RAM es volátil, esto es, cuando se corta la alimentación eléctrica se pierde toda la información que estuviera almacenada en este tipo de memoria.


Memoria ROM

La ROM (Read Only Memory) es una «Memoria Sólo de Lectura». En ella sólo se puede leer la información que contiene, no es posible modificarla. En este tipo de memoria se acostumbra a guardar las instrucciones de arranque y el funcionamiento coordinado de la computadora.

Las memorias de este tipo, al contrario que las RAM, no son volátiles, pero se pueden deteriorar a causa de campos magnéticos demasiado potentes

CICLO DE VIDA DEL SOFTWARE

El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.

Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.

Modelos de ciclo de vida

Para facilitar una metodología común entre el cliente y la compañía de software, los modelos de ciclo de vida se han actualizado para reflejar las etapas de desarrollo involucradas y la documentación requerida, de manera que cada etapa se valide antes de continuar con la siguiente etapa.

Modelo en cascada

El modelo de ciclo de vida en cascada comenzó a diseñarse en 1966 y se terminó alrededor de 1970. Se define como una secuencia de fases en la que al final de cada una de ellas se reúne la documentación para garantizar que cumple las especificaciones y los requisitos antes de pasar a la fase siguiente




Modelo V

El modelo de ciclo de vida V proviene del principio que establece que los procedimientos utilizados para probar si la aplicación cumple las especificaciones ya deben haberse creado en la fase de diseño.


 
Modelo De Desarrollo Incremental

Los riesgos asociados con el desarrollo de sistemas largos y complejos son enormes. Una forma de reducir los riesgos es construir sólo una parte del sistema, reservando otros aspectos para niveles posteriores. El desarrollo incremental es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema. Típicamente, un documento de requerimientos es escrito al capturar todos los requerimientos para el sistema completo.


Modelo De Desarrollo Evolutivo

Como el modelo de desarrollo incremental, el modelo de desarrollo evolutivo (algunas veces denominado como prototipado evolutivo) construye una serie de grandes versiones sucesivas de un producto. Sin embargo, mientras que la aproximación incremental presupone que el conjunto completo de requerimientos es conocido al comenzar, el modelo evolutivo asume que los requerimientos no son completamente conocidos al inicio del proyecto.

En el modelo evolutivo, los requerimientos son cuidadosamente examinados, y sólo esos que son bien comprendidos son seleccionados para el primer incremento. Los desarrolladores construyen una implementación parcial del sistema que recibe sólo estos requerimientos.

Modelo de Prototipado de Requerimientos.

El prototipado de requerimientos es la creación de una implementación parcial de un sistema, para el propósito explícito de aprender sobre los requerimientos del sistema. Un prototipo es construido de una manera rápida tal como sea posible. Esto es dado a los usuarios, clientes o representantes de ellos, posibilitando que ellos experimenten con el prototipo. El prototipado puede ser usado como parte de la fase de requerimientos (determinar requerimientos) o justo antes de la fase de requerimientos (como predecesor de requerimientos)


Modelo Espiral

El modelo espiral de los procesos software es un modelo del ciclo de meta-vida. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza. Además, en cada desarrollo ejecutado, puedes seguir estos cuatros pasos:

• Determinar qué quieres lograr.

• Determinar las rutas alternativas que puedes tomar para lograr estas metas. Por cada una, analizar los riesgos y resultados finales, y seleccionar la mejor.

• Seguir la alternativa seleccionada en el paso 2.

• Establecer qué tienes terminado.


Modelo Concurrente

Como el modelo espiral, el modelo concurrente provee una meta-descripción del proceso software. Mientras que la contribución primaria del modelo espiral es en realidad que esas actividades del software ocurran repetidamente, la contribución del modelo concurrente es su capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.