ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algoritmos


Enviado por   •  12 de Septiembre de 2011  •  5.669 Palabras (23 Páginas)  •  663 Visitas

Página 1 de 23

ESCUELA POLITECNICA NACIONAL

FACULTAD DE INGENIERIA EN SISTEMAS

PROGRAMACION I

Nombre: MARIO DANILO ROJAS PIEDRA

Fecha: 26-08-2011

ALGORITMO

Un algoritmo es una serie de operaciones detalladas y no ambiguas. En otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas .

La receta de la ABUELA para hacer "Tucumanas" es un algoritmo.

Un algoritmo es el medio por el que se explica cómo puede resolverse un problena,mediante aproximaciones paso a paso. Se puede formular de muchas formas con el cuidado de que no exista ambiguedad

Al conjunto formado por la representación de datos utilizada y el algoritmo mismo se llama programa

CARACTERISTICAS DE LOS ALGORITMOS

Las principales caracteristicas de los algoritmos son:

i. El algoritmo debe ser sencillo e indicar el orden de realización de cada paso

ii. Un algoritmo debe estar definido.

iii. El algoritmo de ser finito.

Ciclo de vida del software

Al igual que en otros sistemas de ingeniería, los sistemas de software requieren un tiempo y esfuerzo considerable para su desarrollo y deben permanecer en uso por un periodo mucho mayor. Durante este tiempo de desarrollo y uso, desde que se detecta la necesidad de construir un sistema de software hasta que este es retirado, se identifican varias etapas que en conjunto se denominan el ciclo de vida del software y en cada caso, en función de cuales sean las características del proyecto, se configurará el ciclo de vida de forma diferente. Usualmente se consideran las etapas: especificación y análisis derequisitos, diseño del sistema, implementación del software, aplicación y pruebas, entrega y mantenimiento. Un aspecto esencial dentro de las tareas del desarrollo del software es la documentaciónde todos los elementos y especificaciones en cada fase. Dado que esta tarea siempre estará influida por la fase del desarrollo en curso, se explicará de forma distribuida a lo largo de las diferentes fases como un apartado especial para recalcar su importancia en el conjunto del desarrollo del software.

Tal como ya hemos mencionado, las etapas principales a realizar en cualquier ciclo de vida son:

1. Análisis: Construye un modelo de los requisitos

2. Diseño: A partir del modelo de análisis se deducen las estructuras de datos, la estructura en la que descompone el sistema y la interfaz de usuario.

3. Codificación: Construye el sistema. La salida de esta fase es código ejecutable.

4. Pruebas: Se comprueba que se cumplen criterios de corrección y calidad.

5. Mantenimiento: En esta fase, que tiene lugar después de la entrega se asegura que el sistema siga funcionando y adaptándose a nuevos requisitos.

Las etapas constan de tareas. La documentación es una tarea importante que se realiza en todas las etapas. Cada etapa tiene como entrada uno o varios documentos procedentes de las etapas anteriores y produce otros documentos de salida según se muestra en la figura 1.1.

Figure: Etapa genérica

Algunos autores dividen la fase del diseño en dos partes: Diseño global o arquitectónico y diseño detallado. En el primero se transforman los requisitos en una arquitectura de alto nivel, se definen las pruebas que debe satisfacer el sistema en su conjunto, se esboza la documentación y se planifica la integración. En el detallado para cada módulo se refina el diseño, se definen los requisitos del módulo y su documentación.

Las formas de organizar y estructurar la secuencia de ejecución de las tareas en las diferentes fases de cada uno de los métodos puede dar lugar a un tipo de ciclo de vida diferente. Los principales ciclos de vida que se van a presentar a continuación realizan estas tareas. Cada uno de ellos tiene sus ventajas e inconvenientes.

1.2.1 Ciclos de vida en cascada

El ciclo de vida inicialmente propuesto por Royce en 1970, fue adaptado para el software a partir de ciclos de vida de otras ramas de la ingeniería. Es el primero de los propuestos y el más ampliamente seguido por las organizaciones (se estima que el 90% de los sistemas han sido desarrollados así). La estructura se muestra en la figura 1.2.

Figure 1.2: Ciclo de vida en cascada

1.2.1.1 Descripción

Este modelo admite la posibilidad de hacer iteraciones, es decir, durante las modificaciones que se hacen en el mantenimiento se puede ver por ejemplo la necesidad de cambiar algo en el diseño, lo cual significa que se harán los cambios necesarios en la codificación y se tendrán que realizar de nuevo las pruebas, es decir, si se tiene que volver a una de las etapas anteriores al mantenimiento hay que recorrer de nuevo el resto de las etapas.

Después de cada etapa se realiza una revisión para comprobar si se puede pasar a la siguiente.

Trabaja en base a documentos, es decir, la entrada y la salida de cada fase es un tipo de documento específico. Idealmente, cada fase podría hacerla un equipo diferente gracias a la documentación generada entre las fases. Los documentos son:

• Análisis: Toma como entrada una descripción en lenguaje natural de lo que quiere el cliente. Produce el S.R.D. (Software Requirements Document).

• Diseño: Su entrada es el S.R.D. Produce el S.D.D. (Software Design Document)

• Codificación: A partir del S.D.D. produce módulos. En esta fase se hacen también pruebas de unidad.

• Pruebas: A partir de los módulos probados se realiza la integración y pruebas de todo el sistema. El resultado de las pruebas es el producto final listo para entregar.

1.2.1.2 Ventajas

• La planificación es sencilla.

• La calidad del producto resultante es alta.

• Permite trabajar con personal poco cualificado.

1.2.1.3 Inconvenientes

• Lo peor es la necesidad de tener todos los requisitos al principio. Lo normal es que el cliente no tenga perfectamente definidas las especificaciones del sistema, o puede ser que surjan necesidades imprevistas.

• Si se han cometido errores en una fase es difícil volver atrás.

• No se tiene el producto hasta el final, esto quiere decir que:

o Si se comete un error en la fase de análisis no lo descubrimos hasta la entrega, con el consiguiente gasto inútil de recursos.

o El cliente no verá resultados hasta el final, con lo que puede impacientarse .

• No se tienen indicadores fiables del progreso del trabajo (síndrome del 90%).1.1

• Es comparativamente más lento que los demás y el coste es mayor también.

1.2.1.4 Tipos de proyectos para los que es adecuado

...

Descargar como (para miembros actualizados) txt (37 Kb)
Leer 22 páginas más »
Disponible sólo en Clubensayos.com