documentt3

38
Tema 3. Software operativo y de desarrollo Ing. Dulce Mónica Castillo Corona

Upload: monica-castillo

Post on 13-Jun-2015

914 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: DocumentT3

Tema 3. Software operativo y de

desarrollo

Ing. Dulce Mónica Castillo Corona

Page 2: DocumentT3

3.1 Evolución del sw y su situación

actual

Con los primeros equipos de computo, evolucionan también un conjunto de programas para el control de la computadora misma, los cuales van a permitir a la computadora realizar diversas labores a esto le conocemos como sw.

En 1946 VonNeuman pensó que las instrucciones podían almacenarse en la computadora junto con los datos a ello le llamo programa almacenado o concepto Von Neumann.

Page 3: DocumentT3

De la mitad de los 60’s a finales de

los 70’s la multiprogramación y los

sistemas multiusuario introdujeron

nuevos conceptos de interacción

hombre-máquina.

También se caracterizó por el

establecimiento del software como

producto y la llegada de las "casas

de software".

3.1 Evolución del sw y su situación

actual

Page 4: DocumentT3

A mediados de los años 70’s continuando más allá de una década.

En esta etapa comienzan los sistemas distribuidos múltiples de computadoras, cada una ejecutando funciones concurrentes y comunicándose con el resto, de esta manera se incrementó notablemente la complejidad de los sistemas informáticos.

Las redes, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso "instantáneo" a los datos, supusieron una fuerte presión sobre los desarrolladores del software.

3.1 Evolución del sw y su situación

actual

Page 5: DocumentT3

Las redes inalámbricas,

dispositivos móviles y celulares

irrumpen con fuerza en los

campos del entretenimiento, la

música y los videos en Internet.

La crisis del sw se refiere a la

dificultad en escribir programas

libres de defectos, fácilmente

comprensibles, y que sean

verificables. Las causas son,

entre otras, la complejidad que

supone la tarea de programar, y

los cambios a los que se tiene

que ver sometido un programa

para ser continuamente

adaptado a las necesidades de

los usuarios.

3.1 Evolución del sw y su situación

actual

Page 6: DocumentT3

SOFTWARE

Conjunto de programas de cómputo, procedimientos, reglas,

documentación y datos asociados que forman parte de las

operaciones de un sistema de computo.

Extraído del estándar 729 del IEEE3

3.1 Evolución del sw y su situación

actual

Page 7: DocumentT3

1ª. Gen. El S.O. se encargaba de resolver parte de los problemas del proceso de la información y de los dispositivos conectados a la computadora, así mismo el uso eficiente de la memoria en forma rudimentaria.

2ª. Gen. Surgen procedimientos para el arranque en frío y su operación en tiempo real y compartido.

3ª. Gen menor tiempo para el arranque en frío , uso de memoria intermedia para almacenamiento de información, mejor uso de la memoria principal, multiprogramación y simplificación de los operadores.

4ª. Gen. Siguen evolucionando para facilitar casi todo tipo de usos y diagnóstico de problemas en las grandes computadoras.

3.2 Software de base

Page 8: DocumentT3

SISTEMAS OPERATIVOS…..

Son los encargados de ejercer

el control y coordinar el uso

del hardware entre diferentes

programas de aplicación y los

diferentes usuarios. Así mismo

es un administrador de los

recursos de hardware del

sistema.

3.2 Software de base

Page 9: DocumentT3

El S.O. esta constituido básicamente por tres partes:

Un administrador de entrada/salida que coordina todas

las comunicaciones de la computadora con los

periféricos y por consiguiente el flujo de información.

Un procesador de comando que interprete todo lo que

tecleamos permitiendo con ello su ejecución.

Una serie de programas denominados utilerías que

permiten la administración de nuestros archivos y tareas

diversas.

3.2 Software de base

Page 10: DocumentT3
Page 11: DocumentT3

PRINCIPALES FUNCIONES DEL S.O.

Coordinar y manipular el hardware, así como memoria, discos, teclado, etc.

Organizar los archivos en los diversos dispositivos

Gestión de errores

Interpretar comandos para la comunicación entre el usuario y la máquina

El sistema operativo es generalmente diseñado por el fabricante y por ello no es posible definir uno estándar; aunque hay un conjunto de funciones básicas o componentes que todo sistema debe considerar

3.2 Software de base

Page 12: DocumentT3

S.O. por

servicios

Por No. de

usuarios

Monousuario

Multiusuario

Por No. de

tareas

Monotareas

Multitareas

3.2 Software de base

Page 13: DocumentT3

Monousuario: Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este

ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario. Y están orientados principalmente para los microcomputadores.

Multiusuario: En esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el

fraccionamiento del tiempo. Un claro ejemplo de este tipo es el S.O. UNIX.

3.2 Software de base

Page 14: DocumentT3

Multitareas: Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho más lento que la

velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas. En este caso se utilizan comandos para intercambiarse o moverse entre los programas en uso. En esta categoría podríamos mencionar UNIX, OS/2, Apple’s Multifinder OS, Windows NT, Linux. Lo anterior no debe

confundirse con un proceso alternado, es decir que la aplicación que no esta en pantalla no sigue corriendo y por consiguiente no es multiproceso.

Monotareas : Es el caso cuando solo se podía correr un solo programa a

la vez como lo son CP/M y DOS.

3.2 Software de base

Page 15: DocumentT3

Gary Kildall desarrollo el primer S.O. para microcomputadoras llamado

CP/M, su finalidad era controlar la entrada/salida de información del

recién diseñado microprocesador, así como el almacenamiento de

datos y proceso en general. Tiempo después (‘80) aparece Bill Gates y

Paul Allen escribiendo también este tipo de sw para

microcomputadoras y escriben el S.O. más conocido de todos: el DOS

de IBM y su equivalente el MS-DOS para las computadoras

compatibles.

3.2 Software de base

Page 16: DocumentT3

El sistema operativo MS-DOS (MicroSoft Disk Operating System) fué

un sistema operativo de Microsoft destinado a computadoras con

arquitectura x86 y se convirtió en el sistema operativo más

popular entre los computadores IBM PC y compatibles durante los

años 80 y mediados de los 90, momento en el que comenzaron a

popularizarse los sistemas operativos con interfaces gráficas de

usuario (como Windows 95).

MS-DOS no es ni multiusuario ni multitarea. No puede trabajar con

más de un usuario ni en más de un proceso a la vez.

MS-DOS carece por completo de interfaz gráfica.

3.2 Software de base

Page 17: DocumentT3

Esta primera versión de MS-DOS soportaba 16 Kb de

memoria RAM, disquetes de 5,25 pulgadas de una sola cara

de 160 Kb e incluía ya 22 órdenes además de incluir ya el

intérprete de comandos COMMAND.COM. y manejar

archivos con extensión .com y .exe.

MS-DOS nos acompañó desde 1981 con la versión 1.0 hasta

el año 2000 con la versión 8.0

3.2 Software de base

Page 18: DocumentT3

Windows comprende una

familia de sistemas

operativos desarrollados y

comercializados por

Microsoft. Existen versiones

para hogares, empresas,

servidores y dispositivos

móviles, como

computadores de bolsillo y

teléfonos inteligentes.

Es multitarea y multiusuario

a partir de la versión 95.

3.2 Software de base

Page 19: DocumentT3
Page 20: DocumentT3

UNIX fué desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy.

El antecesor a este proyecto es un

programa llamado Multics (Multiplexed Information and Computing System) Está escrito en lenguaje C.

El objetivo principal de este proyecto

fue desarrollar un sistema operativo interactivo que contará con muchas innovaciones, entre las principales mejorar las políticas de seguridad.

3.2 Software de base

Page 21: DocumentT3

Características UNIX es un sistema operativo multitarea y multiusuario.

Escrito en lenguaje de alto nivel

Aplicación que interpreta los comandos tecleados por parte del usuario llamado shell

Emplea manejo dinámico de memoria por intercambio o paginación

Permite comunicación entre procesos

Emplea un sistema jerárquico de archivos por seguridad

3.2 Software de base

Page 22: DocumentT3

La historia de Linux empieza en Finlandia, en 1991, cuando en Linus B. Torvalds, estudiante de la Universidad de Helsinki, se le ocurrió comprarse un PC con procesador 386. Después de observar que el MS/DOS no aprovechaba los recursos de la máquina, decidió usar otro sistema operativo de entonces: Minix (Minix era un pequeño sistema Unix).

Ha sido diseñado y programado por multitud de programadores alrededor del mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds.

3.2 Software de base

Page 23: DocumentT3

Linux es un sistema operativo multiusuario que incorpora multitarea.

Dos características principales es que es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de sw por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente.

Linux se distribuye bajo la GNU General Public License por lo tanto, el código fuente tiene que estar siempre accesible y cualquier modificación ó trabajo derivado tiene que tener esta licencia.

El 9 de Mayo 1996, Tux fue propuesto como mascota oficial de Linux.

3.2 Software de base

Page 24: DocumentT3

El 24 de enero de 1984, Apple Computer Inc. (ahora Apple Inc.) introdujo la computadora personal Macintosh, con el modelo Macintosh 128K, el cual incluía el sistema operativo Mac OS, conocido en esa época como System Software. Está basado en Unix.

En enero de 1981, Steve Jobs se hizo cargo del

proyecto Macintosh completo

El Sistema 1 tenía escritorio, ventanas, iconos, mouse, menús y scrollbars

Mac OS X, hoy en día este sistema operativo esta virtualmente en todas las Mac’s, y fué trabajado por una década para poder obtener el éxito que tiene ahora. Las versiones actuales ya cuentan con sistema multitareas y multiusuarios.

3.2 Software de base

Page 25: DocumentT3

Son herramientas que nos permiten crear programas y sw.

Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido.

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leídos por una persona.

3.2 Software de base

Page 26: DocumentT3

Los lenguajes de programación son independientes de las computadoras a utilizar.

El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos.

Los lenguajes más próximos a la arquitectura hw se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.

3.2 Software de base

Page 27: DocumentT3

Lenguajes de bajo nivel

El lenguaje de máquina es el

sistema de códigos

directamente interpretable por

un microprocesador. Este

lenguaje está compuesto por un

conjunto de instrucciones que

determinan acciones a ser

tomadas por la máquina.

El lenguaje ensamblador

implementa una representación

simbólica de los códigos de

máquina binarios y otras

constantes necesarias para

programar un microprocesador.

3.2 Software de base

Page 28: DocumentT3

Lenguajes de alto nivel

Al aproximarse al lenguaje

natural, el programa se puede

escribir y leer de una forma

más sencilla, eliminando

muchas de las posibilidades de cometer errores que se

daban en el lenguaje

máquina, ya que se utilizan

palabras (generalmente en

inglés)

en lugar de cadenas de

símbolos sin ningún significado

aparente.

3.2 Software de base

Page 29: DocumentT3

Compilador

Un compilador es un programa que permite traducir el código fuente

de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina).

De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una

computadora.

3.2 Software de base

Page 30: DocumentT3

Intérprete

Es un programa capaz de analizar y ejecutar programas escritos en un

lenguaje de alto nivel.

Los intérpretes se diferencian de los compiladores en que los primeros

sólo realizan la traducción a medida que sea necesaria, típicamente,

instrucción por instrucción, y normalmente no guardan el resultado

de dicha traducción.

3.2 Software de base

Page 31: DocumentT3

Ciclo de Vida del Software

El software primero se desarrolla por un

grupo de programadores. Por

lo general, está en uso durante algún tiempo

antes de que se requiera hacerle

modificaciones. Las modificaciones a menudo

son necesarias debido a errores encontrados

en el software, a cambios en las normas o

leyes, o a cambios en la compañía misma. El

software debe modificarse antes para su uso

posterior. Estos dos pasos, usar y modificar,

continúan hasta que el software se vuelve

obsoleto.

3.2 Software de base

Page 32: DocumentT3

Fase de Análisis

El proceso de desarrollo comienza con la fase de análisis, la cual muestra

qué debe hacer el paquete. En esta fase, el analista de sistemas define los

requisitos que especifican lo que el sistema propuesto va a lograr. Los

requisitos por lo general se establecen en los términos que el usuario

comprende.

Para poder identificar y definir bien un problema es conveniente responder

a las siguientes preguntas:

¿Qué entradas se requieren? Tipo de datos con los cuales se trabaja y cantidad

¿Cuál es la salida deseada? Tipo de datos de los resultados y cantidad

¿Qué método produce la salida deseada? Requisitos o requerimientos adicionales y restricciones a la solución.

3.2 Software de base

Page 33: DocumentT3

Fase de Diseño

La fase de diseño define cómo logrará el sistema lo que se

definió en la fase de análisis. En la fase de diseño, se

determinan los sistemas y el diseño de archivos y/o bases de

datos se completa.

Se ayuda de dos características en esta etapa

Modularidad

Herramientas

3.2 Software de base

Page 34: DocumentT3

Fase de Implementación

En la fase de implementación se crean los problemas

reales.

Fase de Prueba

Una vez que los programas se han escrito, deben

probarse. La fase de prueba puede ser muy tediosa y

consumir parte del tiempo de desarrollo del programa.

Los programadores son completamente responsables

de probar sus programas. En los proyectos de desarrollo

grandes, con frecuencia hay especialistas llamados

Ingenieros de Pruebas quienes son responsables de

probar el sistema como un todo.

3.2 Software de base

Page 35: DocumentT3

Calidad de Software

“La calidad del software es el grado con el que un sistema,

componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o

usuario”. (IEEE, std. 610- 1990).

Software que satisface los requerimientos explícitos e implícitos del usuario, está bien documentado, cumple con las normas operativas de la organización y se ejecuta de manera eficiente en el hardware para el cual se desarrolló.

3.2 Software aplicativo

Page 36: DocumentT3

Programa informático diseñado para facilitar al usuario la realización

de un determinado tipo de trabajo. Posee ciertas características

que le diferencia de un S.O., como por ejemplo, suele resultar una solución informática para la automatización de ciertas tareas complicadas como puede ser la contabilidad o la gestión de un almacé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.

Se clasifica en dos grandes áreas:

A la medida.

De propósito general.

3.2 Software aplicativo

Page 37: DocumentT3

A la medida…

Son aplicaciones desarrolladas “a la medida de las necesidades‟ que ofrecen una gran potencia, ya que, están exclusivamente diseñadas para resolver problemas con requerimientos específicos.

3.2 Software de base

Page 38: DocumentT3

De propósito general

Son paquetes integrados de sw que incluyen varias aplicaciones, por ejemplo:

Procesadores de Texto.

Hoja de Cálculo.

Base de datos.

3.2 Software de base