Elementos De Un Proyecto Informatico
Enviado por gabypia3 • 6 de Agosto de 2012 • 2.027 Palabras (9 Páginas) • 4.339 Visitas
CICLO DE VIDA DE JAMES SENN
El ciclo de vida de desarrollo de un sistema según James Senn consta de seis (6) funciones o fases que se explican de la siguiente manera:
1) Investigación preliminar: se inicia a través de la solicitud del sistema (ya sea por medio verbal, fax, e-mail, entre otros); se aclarara la solicitud del horario, es decir se especificaran los pasos a tomar; se realizara un estudio de factibilidad, es decir con que recursos cuento, se tomaran en cuenta 3 factores en este caso:
a) económico: el valor económico en función al personal, equipos.
b) técnica: que será la verificación del software y hardware así como el personal técnico y
c) operacional: ver si están en la capacidad de operar con el nuevo sistema; finalmente se aprobara la solicitud, es decir saber si cumple con las características estipuladas.
2) Determinación de los requerimientos del sistema: es decir que tan grande es, examinar los procesos; se hace un estudio del sistema actual, y se determinan los nuevos requerimientos del sistema (a través de formularios, encuestas, entre otros), así como las entradas y salidas del sistema actual.
3) Diseño del sistema: va a ser como se va a desarrollar el sistema, la forma en como esos requerimientos los voy a automatizar, se definen las formas de calculo, y se describe como se transformaran los datos en información; este diseño se realizara en dos bases, una lógica: donde se harán modelos e-r, bases de datos, diagramas de flujo de datos, y una física: es decir todo lo tangible (papeles, gráficos)
4) Desarrollo del software: se dará la construcción y programación de este sistema, se recomienda en algunos casos usar diseñadores y analistas de la compañía y programadores de otra compañía, o viceversa, aunque esto puede tener sus ventajas: los costos pueden ser menores, es rentable usar un terreno por los costos, y también sus desventajas: no existiría comunicación fiel entre programadores y diseñadores.
5) Prueba del sistema: aquí se pretende detectar las posibles fallas de aplicación del sistema (fallas de programación, de análisis, de diseño (este es el mas critico)), en este proceso se simulan entradas de datos, se ponen a usuarios externos a interactuar con el sistema, se hace la aprobación escrita de todos los aspectos del sistema, cabe destacar que esto debe hacerse de forma gradual.
6) Implantación y evaluación: la implantación es el proceso de verificar e instalar nuevo equipo, entrenar a los usuarios, instalar la aplicación y construir todos los archivos de datos necesarios para utilizarla, esta implantación se puede hacer por 3 enfoques,
a) piloto: se elegirá solo un sector de la empresa para usar el sistema,
b) paralelo: se utilizara el sistema viejo y el nuevo al mismo tiempo, para comparar,
c) por sustitución: sencillamente se sustituye todo el sistema (es el mas riesgoso); la evaluación se lleva a cabo para identificar puntos débiles y fuertes, como la operacionalidad (como funciona el sistema), la administración, el desempeño de desarrollo (seria una relación de tiempo versus beneficio), el desempeño como tal y el desempeño organizacional (relación costo versus beneficio).
ALGORITMO VORACES
Un algoritmo voraz (también conocido como ávido, devorador o goloso) es aquel que, para resolver un determinado problema, sigue una heurística consistente en elegir la opción óptima en cada paso local con la esperanza de llegar a una solución general óptima. Este esquema algorítmico es el que menos dificultades plantea a la hora de diseñar y comprobar su funcionamiento. Normalmente se aplica a los problemas de optimización.
Esquema
Dado un conjunto finito de entradas , un algoritmo voraz devuelve un conjunto (seleccionados) tal que y que además cumple con las restricciones del problema inicial. Cada conjunto que satisfaga las restricciones se le suele denominar prometedor, y si este además logra que la función objetivo se minimice o maximice (según corresponda) diremos que es una solución óptima.
Elementos de los que consta la técnica
El conjunto de candidatos, entradas del problema.
Función solución. Comprueba, en cada paso, si el subconjunto actual de candidatos elegidos forma una solución (no importa si es óptima o no lo es).
Función de selección. Informa de cuál es el elemento más prometedor para completar la solución. Éste no puede haber sido escogido con anterioridad. Cada elemento es considerado una sola vez. Luego, puede ser rechazado o aceptado y pertenecerá a .
Función de factibilidad. Informa si a partir de un conjunto se puede llegar a una solución. Lo aplicaremos al conjunto de seleccionados unido con el elemento más prometedor.
Función objetivo. Es aquella que queremos maximizar o minimizar, el núcleo del problema.
Funcionamiento
El algoritmo escoge en cada paso al mejor elemento posible, conocido como el elemento más prometedor. Se elimina ese elemento del conjunto de candidatos ( ) y, acto seguido, comprueba si la inclusión de este elemento en el conjunto de elementos seleccionados ( ) produce una solución factible.
En caso de que así sea, se incluye ese elemento en . Si la inclusión no fuera factible, se descarta el elemento. Iteramos el bucle, comprobando si el conjunto de seleccionados es una solución y, si no es así, pasando al siguiente elemento del conjunto de candidatos.
ALGORITMO DE PROGRAMACION DINAMICA
La programación dinámica es un método para reducir el tiempo de ejecución de un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas, como se describe a continuación.
El matemático Richard Bellman inventó la programación dinámica en 1953 que se utiliza para optimizar problemas complejos que pueden ser discretizados y secuencializados.
Técnica de programación dinámica
• Se emplea típicamente para resolver problemas de optimización.
• Permite resolver problemas mediante una secuencia de decisiones.
• Como el esquema voraz
• A diferencia del esquema voraz, se producen varias secuencias de decisiones y sólamente al final se sabe cuál es la mejor de ellas.
Está basada en el principio de optimalidad de Bellman:
“Cualquier subsecuencia de decisiones
de una secuencia óptima de decisiones
que resuelve un problema
también debe ser óptima respecto al subproblema que resuelve.”
La técnica de programación dinámica evita explorar todas las secuencias posibles por medio de la resolución de subproblemas de tamaño
...