Академический Документы
Профессиональный Документы
Культура Документы
mas. Para que puedan hacerlo, es preciso describirle con detalle todos los pasos para la solucin del problema Esta descripcin de pasos se le llama programa computacional; dirige el funcionamiento de la mquina. Las etapas del desarrollo de software se agrupan en dos bloques: Etapas de anlisis y diseo Etapas de implantacin y explotacin
No requieren el uso de computadores. Desde hace un tiempo existen las herramientas CASE (Computer Aided Software Engineering) Anlisis: estudio detallado del problema con el fin de obtener una serie de documentos (especificaciones) Diseo: Consiste en la realizacin de una solucin (algoritmos) que den solucin al problema planteado, se utiliza una notacin intermedia (pseudocdigo) o notaciones grficas como diagramas de flujo. Diseo detallado: especificacin de diseo. Se estructura en un lenguaje de alto nivel los algoritmos de la etapa anterior. Edicin: se transcribe el programa al computador, grabndose a memoria secundaria a travs de un editor de textos, generando con esto el cdigo fuente. Compilacin: consiste en obtener el programa objeto, codificado en lenguaje de mquina a partir del cdigo fuente. Esto se realiza de forma automtica mediante un compilador de lenguaje. Este compilador lleva a cabo la traduccin, anlisis sintctico del programa, detecta errores, facilitando la correccin. Enlace (linkage): Se incluyen rutinas de la biblioteca del lenguaje necesarias para el programa, se enlazan mdulos y subprogramas para generar el programa ejecutable Prueba de Ejecucin: el programa es probado con datos de prueba para detectar los posibles errores en su funcionamiento Explotacin y mantenimiento: una vez instalado el programa y estando en uso, se le llamar a este perodo explotacin. Estando en uso a la aplicacin se le da mantenimiento para mantenerla actualizada. Compilacin: errores sintcticos. Fciles de encontrar y corregir. Ejecucin: Parada anormal del programa, usualmente pasado debido a una prueba inadecuada del programa. Lgica: produce resultados inadecuados Especificacin: inconsistencia respecto al anlisis.
Anlisis y Diseo
Tipos de Errores
El programa
Lenguaje de mquina
El nico que entienden las mquinas. Utiliza el alfabeto binario. Primer lenguaje utilizado, menos usado por complejidad y propensin a errores. Instrucciones dependen del hardware del computador; difieren de un computador a otro
Lenguaje ensamblador
Assembler language. Primer intento por sustituir el lenguaje de mquina. Instrucciones son conocidas como mnemotcnicos. Cada instruccin equivale a una instruccin de lenguaje de mquina. Por ejemplo, mnemotcnicos tpicos: en ingles, ADD, SUB, DIV, etc. en espaol, SUM,RES,DIV, etc. ADD M, N, P sumar el nmero contenido en la posicin de memoria M al nmero almacenado en la posicin de memoria N y situar el resultado en la posicin de memoria P Es mucho ms sencillo recordar la instruccin anterior con un mnemotcnico que su equivalente en 0s y 1s. 0110 1001 1010 1011 Un programa en assembler no puede ser ejecutado directamente por el computador; requiere una fase de traduccin al lenguaje mquina. El traductor de programas fuente a objeto es un programa llamado ensamblador (assembler). Ventaja sobre lenguaje maquina? Mayor facilidad de codificacin y, en general, su velocidad de clculo. Inconvenientes? Dependencia total de la maquina lo que impide la transportabilidad de los programas. Tanto el lenguaje de mquina como el ensamblador presenta los siguientes problemas: Cada procesador tiene su propio lenguaje de mquina El programador debe conocer los registros, la memoria y cada elemento fsico. Ventajas: Independencia del hardware; portables. Aproximarse al lenguaje natural.
Lenguaje ensamblador
Inconvenientes
Traductores de lenguaje
Programas que traducen programas fuente escritos en lenguajes de alto nivel a cdigo mquina. Interprete. Analiza el programa fuente y lo ejecuta directamente, sin generar ningn cdigo equivalente. Su accin equivale a la de un intrprete humano, que traduce las frases que oye sobre la marcha, sin producir ningn escrito permanente.
Un lenguaje que soporte un traductor de tipo intrprete se denomina lenguaje interpretado: BASIC.
Traductores de lenguaje
Compiladores. Traduce los programas fuente escritos en lenguajes de alto nivel a lenguaje mquina. Analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la mquina). Su accin equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua. Lenguajes compiladores tpicos son: PASCAL, COBOL, C..
Administracin de Archivos
Sistema de Archivos Archivo. Es una coleccin de informacin relacionada, con un nombre asignado, que se graba en almacenamiento secundario. Es una secuencia de bits, bytes, lneas cuyo significado es definido por el creador y el usuario del mismo. Sistema de Archivos. Estructura la informacin guardada en una unidad de almacenamiento (normalmente un disco duro). Esta informacion ser representada ya sea textual o grficamente utilizando un gestor de archivos. La mayora de los sistemas operativos manejan su propio sistema de archivos.
Modelo jerrquico de FS
Los datos son organizados en una estructura parecida a un rbol. Relaciones padre/Hijo: cada padre puede tener muchos hijos pero cada hijo slo tiene un padre. Modelo jerrquico de FS Interfaz abstracta de usuario Presentar una vista conveniente (favorable al usuario) Sistema de archivos bsico. Abrir y cerrar archivos
Administracin de directorios Directorio contiene un conjunto de datos por cada archivo referenciado: el nombre, sus atributos, las direcciones en disco donde se almacenan los datos. El nombre del archivo y un apuntador a otra estructura de datos donde se encuentran los atributos y las direcciones en disco. Mtodos de organizacin fsica. Mapear datos de archivo con bloques de disco (asociar los archivos con un espacio de direcciones)
Atributos de Archivos
Nombre: para ser identificado por el ser humano Tipo: Necesitado por sistemas que soportan diferentes tipos de archivos. Location: puntero a la posicin del archivo en un dispositivo. Tamao: tamao actual del archivo. Proteccin: quien puede leer, escribir o ejecutar el archivo Tiempo, fecha y User Id: informacin para proteccin, seguridad y monitoreo de uso.
Mtodos de Acceso
Acceso secuencial: Mtodo ms lento. Consiste en recorrer los componentes de un archivo uno en uno hasta llegar al registro deseado. Este tipo de acceso se usa comunmente en cintas y cartuchos. Acceso directo: Permite accesar cualquier sector o registro inmediatamente. Rpido y se usa comnmente en discos duros y discos. Acceso directo indexado: til para grandes volmenes de informacin o datos. Acceso directo; utiliza un archivo indice que contiene punteros a varios bloques. Consume recursos en las tablas de ndices pero es muy rpido. Acceso Secuencial reset comenzar ciclo read next Si es el dato detenerse sino Repetir Fin.
Objetivos Directorios
Eficiencia: Localizar archivos rpidamente. Nombramiento: Conveniente a usuarios: Dos usuarios pueden tener el mismo nombre para distintos archivos El mismo archivo puede tener varios nombres Agrupamiento: Agrupar archivos por propiedades: programas en C, juegos, etc. Directorio de un nivel Un nivel para todos los usuarios. Estructura: todos los archivos se guardan en el mismo directorio.
Problemas Conflictos de nombres (al aumentar el numero de archivos) Mala organizacin en sistemas multiusuario El tiempo de bsqueda tiende a aumentar
Mejoras las bsquedas Problema: compartir informacin (algunos sistemas impiden el acceso a los directorios de otros
Se pueden producir ciclos: cual es el problema? Cmo evitarlos? Ej: utilizar un algoritmo de verificacin de ciclos. Nombres de archivos: nombres de rutas (Paths) Path absoluto: C:\USER\DOCS\LETTER.TXT Path relativo: comienza con el directorio. DOCS\LETTER.TXT Para subir uno en el arbol (..)
Directorios