Вы находитесь на странице: 1из 9

Ciclo de vida del software Los computadores por si solos no pueden resolver problemas.

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

Etapas de la Implantacin y explotacin


Tipos de Errores

El programa

Clasificacin de Lenguajes de Programacin


Dependiendo de la cercana del lenguaje de programacin al lenguaje natural estos se dividen en: Lenguajes de bajo nivel (mquina) Lenguajes intermedios (ensambladores) Lenguaje de alto nivel (evolucionados) Dependiendo del desarrollo de los lenguajes de programacin, las clasificacin se asemeja a las de generaciones de computadoras: Primera Generacin: lenguajes de mquina y ensambladores Segunda Generacin: primeros lenguajes de alto nivel COBOL, FORTRAN Tercera Generacin: Lenguajes de alto nivel imperativos, que se usan hasta el da de hoy (ALGOL 68, PL/1, PASCAL, MODULA) Cuarta Generacin: Orientados a aplicaciones de gestin y base de datos (SQL) Quinta Generacin: Orientado a Inteligencia Artificial y procesamiento de lenguaje natural (LISP, PROLOG)

Evolucin de Lenguajes de Programacin

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

Lenguaje de Alto Nivel

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.

Funciones Bsicas del Sistema de Archivos (FS)


Presentar abstracciones lgicas de archivos y directorios. Esconder la complejidad del hardware de dispositivos. Facilitar el uso eficiente de medios de almacenamiento. Optimizar acceso a disco Permitir compartir datos. Proveer proteccin de datos

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)

Vista de usuarios de archives


Nombre de archivos y tipo Nombre vlido Nmeros de caracteres Case sensitive Extensiones Usado para tipos de archivo Usados por aplicaciones Tipo de archivo registrado en cabecera No pueden ser cambiados aunque cambie la extensin Tipos bsicos: texto, archivos, directorios Especficos para aplicaciones, .doc, .ps, .html Tipos de archivos, nombre y extensiones

Operaciones sobre archives


Creacin / Destruccin Lectura / Escritura Situarse dentro del archivo Cambiar atributos

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.

Acceso Directo position n (donde est el registro) read n Fin.

Acceso Secuencial a Archivos

Ejemplo con acceso indexado

Estructura de Directorio Es una coleccin de nodos conteniendo informacin de archivos

El directorio y los archivos residen en el disco

Operaciones en directorios de archives


Buscar un archivo por nombre Crear archivos Borrar Archivos Renombrar archivos Listar el directorio Recorrer el sistema de archivos

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

Directorio de dos niveles Solucin natural: un directorio por usuario

Aparecen los nombres de rutas. Se resuelve el problema de los conflictos de nombres.

Mejoras las bsquedas Problema: compartir informacin (algunos sistemas impiden el acceso a los directorios de otros

Directorio con estructura de arbol

Caractersticas del directorio de arbol


Directorio de dos niveles-rbol de dos niveles Generalizacin- rbol de altura arbitraria (subdirectorios) Bsqueda eficiente. Capacidades de agrupamiento Permite uso de rutas absolutas y relativas Creacin de archivos en el directorio actual Borrador de archivos: rm nombre-archivo Creacin de nuevos subdirectorios en la posicin actual mkdir nombre-dir Ejemplo estando en /mail crear el directorio count. mkdir count:

Directorio de grafo acclico


Una estructura en rbol prohibe compartir archivos o directorios. Un grafo acclico permite que los directorios compartan subdirectorios de archivos. El grafo acclico es una generalizacin natural del esquema de directorio con estructura de rbol.

Directorio de grafo general

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

Вам также может понравиться