software

18

Click here to load reader

Upload: mariana-elizabeth

Post on 08-Jul-2015

175 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

Software Tales componentes

lógicos incluyen,

entre otros,

aplicaciones

informáticas tales

como procesador de

textos, que permite al

usuario realizar

todas las tareas

concernientes a

edición de textos;

software de sistemas

tal como un sistema

operativo el que,

básicamente, permite

al resto de los

programas funcionar

adecuadamente,

facilitando la

interacción con los

componentes físicos

y el resto de las

aplicaciones, también

provee una interfaz

para el usuario.

En la figura 1 se

muestra uno o más

software en

ejecución, en este

caso con ventanas,

iconos y menús que

componen las

interfaces gráficas,

que comunican la

computadora con el

usuario, y le

permiten interactuar.

Clasificación del software

Si bien esta distinción es, en cierto modo,

arbitraria, y a veces confusa, a los fines

prácticos se puede clasificar al software en

tres grandes tipos:

Software de sistema: Su objetivo es

desvincular adecuadamente al usuario y al

programador de los detalles de la

Page 2: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

computadora en particular que se use,

aislándolo especialmente del

procesamiento referido a las

características internas de: memoria,

discos, puertos y dispositivos de

comunicaciones, impresoras, pantallas,

teclados, etc. El software de sistema le

procura al usuario y programador

adecuadas interfaces de alto nivel,

herramientas y utilidades de apoyo que

permiten su mantenimiento. Incluye entre

otros:

o Sistemas operativos

o Herramientas de diagnostico

o Herramientas de Corrección y

Optimización

o servidores

utilidades

software de programación: Es el conjunto

de herramientas que permiten al

programador desarrollar programas

informáticos, usando diferentes

alternativas lenguajes de programación, de

una manera práctica. Incluye entre otros:

o editores del texto

o compiladores

o interpretes

o enlazadores

o depuradores

Entornos de Desarrollo Integrados (IDE):

Agrupan las anteriores herramientas,

Page 3: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

usualmente en un entorno visual, de forma

tal que el programador no necesite

introducir múltiples comandos para

compilar, interpretar, depurar, etc.

Habitualmente cuentan con una avanzada

interfaz grafica de usuario

Software de aplicacion: 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. Incluye entre

otros:

o Aplicaciones para control de sistemas y

automatización industrial aplicaciones

ofimaticas

o Software educativo

o Software empresarial

o Bases de datos

o telecomunicaciones

o (p.ej. internet y toda su estructura

lógica)

o videojuegos

o software medico

o Software de calculo numérico

simbólico.

o Software de diseño asistido(CAD)

o Software de Control Numérico

Proceso de creación del software

Page 4: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

Se define como Proceso al conjunto ordenado

de pasos a seguir para llegar a la solución de

un problema u obtención de un producto, en

este caso particular, para lograr la obtención

de un producto software que resuelva un

problema.

El proceso de creación de software puede

llegar a ser muy complejo, dependiendo de su

porte, características y criticidad del mismo.

Por ejemplo la creación de un sistema

operativo es una tarea que requiere proyecto,

gestión, numerosos recursos y todo un equipo

disciplinado de trabajo. En el otro extremo, si

se trata de un sencillo programa (por ejemplo,

la resolución de una ecuación de segundo

orden), éste puede ser realizado por un solo

programador (incluso aficionado) fácilmente.

Es así que normalmente se dividen en tres

categorías según su tamaño y/o costo: de

Pequeño, Mediano y Gran porte. Existen varias

metodologías para estimarlo, una de las más

populares es el sistema COCOMO que provee

métodos y un software (programa) que calcula

y provee una estimación de todos los costos de

producción en un "proyecto software" (relación

horas/hombre, costo monetario, cantidad de

líneas fuente de acuerdo a lenguaje usado,

etc.).

Considerando los de gran porte, es necesario

realizar tantas y tan complejas tareas, tanto

Page 5: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

técnicas, de gerenciamiento, fuerte gestión y

análisis diversos (entre otras) que toda una

ingeniería hace falta para su estudio y

realización: es la ingeniería de software

En tanto que en los de mediano porte,

pequeños equipos de trabajo (incluso un

avezado analista programador solitario)

pueden realizar la tarea. Aunque, siempre en

casos de mediano y gran porte (y a veces

también en algunos de pequeño porte, según

su complejidad), se deben seguir ciertas etapas

que son necesarias para la construcción del

software. Tales etapas, si bien deben existir,

son flexibles en su forma de aplicación, de

acuerdo a la metodología o proceso de

desarrollo escogido y utilizado por el equipo de

desarrollo o por el analista-programador

solitario (si fuere el caso).

Los "procesos de desarrollo de software"

poseen reglas preestablecidas, y deben ser

aplicados en la creación del software de

mediano y gran porte, ya que en caso contrario

lo más seguro es que el proyecto o no logre

concluir o termine sin cumplir los objetivos

previstos, y con variedad de fallos inaceptables

(fracasan, en pocas palabras). Entre tales

"procesos" los hay ágiles o livianos (ejemplo

XP), pesados y lentos (ejemplo RUP) y variantes

intermedias; y normalmente se aplican de

acuerdo al tipo, porte y tipología del software a

Page 6: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

desarrollar, a criterio del líder (si lo hay) del

equipo de desarrollo. Algunos de esos procesos

son Extreme Programming Rational Unified

Process), Feature Driven Development etc.

Cualquiera sea el "proceso" utilizado y aplicado

al desarrollo del software (RUP, FDD, etc), y

casi independientemente de él, siempre se debe

aplicar un "Modelo de Ciclo de Vida".

Se estima que, del total de proyectos software

grandes emprendidos, un 28% fracasan, un

46% caen en severas modificaciones que lo

retrasan y un 26% son totalmente exitosos.

Cuando un proyecto fracasa, rara vez es debido

a fallas técnicas, la principal causa de fallos y

fracasos es la falta de aplicación de una buena

metodología o proceso de desarrollo. Entre

otras, una fuerte tendencia, desde hace pocas

décadas, es mejorar las metodologías o

procesos de desarrollo, o crear nuevas y

concientizar a los profesionales en su

utilización adecuada. Normalmente los

especialistas en el estudio y desarrollo de estas

áreas (metodologías) y afines (tales como

modelos y hasta la gestión misma de los

proyectos) son los Ingenieros en Software, es

su orientación. Los especialistas en cualquier

otra área de desarrollo informático (analista,

programador, Lic. en Informática, Ingeniero en

Informática, Ingeniero de Sistemas, etc.)

Page 7: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

normalmente aplican sus conocimientos

especializados pero utilizando modelos,

paradigmas y procesos ya elaborados.

Es común para el desarrollo de software de

mediano porte que los equipos humanos

involucrados apliquen sus propias

metodologías, normalmente un híbrido de los

procesos anteriores y a veces con criterios

propios.

El proceso de desarrollo puede involucrar

numerosas y variadas tareas, desde lo

administrativo, pasando por lo técnico y hasta

la gestión y el gerenciamiento. Pero casi

rigurosamente siempre se cumplen ciertas

etapas mínimas; las que se pueden resumir

como sigue:

Captura, Elicitación, Especificación y

Análisis de requisitos (ERS)

Diseño

Codificación

Pruebas (unitarias y de integración)

Instalación y paso a Producción

Mantenimiento

En las anteriores etapas pueden variar

ligeramente sus nombres, o ser más globales,

o contrariamente, ser más refinadas; por

ejemplo indicar como una única fase (a los

fines documentales e interpretativos) de

"Análisis y Diseño"; o indicar como

Page 8: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

"Implementación" lo que está dicho como

"Codificación"; pero en rigor, todas existen e

incluyen, básicamente,las mismas tareas

específicas.

En el apartado 4 del presente artículo se

brindan mayores detalles de cada una de las

listadas etapas.

Modelos de proceso o ciclo de vida

Para cada

una las fases

o etapas

listadas en el

ítem

anterior,

existen sub-

etapas (o

tareas). El

modelo de

proceso o

modelo de

ciclo de vida

utilizado

para el

desarrollo

define el orden para las

tareas o actividades

involucradas] también definen

la coordinación entre ellas,

enlace y realimentación entre

las mencionadas etapas. Entre

los más conocidos se puede

mencionar: modelo en

cascada o secuencial, modelo

espiral modelo iterativo. De

los antedichos hay a su vez

algunas variantes o

alternativas, más o menos

atractivas según sea la

aplicación requerida y sus

requisitos

.

Modelo cascada

Este, aunque es más comúnmente conocido

como modelo en cascada es también llamado

Page 9: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

"modelo clásico", "modelo tradicional" o

"modelo lineal secuencial".

El modelo en cascada puro difícilmente se utilice tal cual, pues esto implicaría un previo y

absoluto conocimiento de los requisitos, la no

volatilidad de los mismos (o rigidez) y etapas

subsiguientes libres de errores; ello sólo

podría ser aplicable a escasos y pequeños

desarrollos de sistemas. En estas

circunstancias, el paso de una etapa a otra de

las mencionadas sería sin retorno, por ejemplo

pasar del Diseño a la Codificación implicaría

un diseño exacto y sin errores ni probable

modificación o evolución: "codifique lo

diseñado que no habrán en absoluto variantes

ni errores". Esto es utópico; ya que

intrínsecamente el software es de carácter

evolutivo, cambiante y difícilmente libre de

errores, tanto durante su desarrollo como

durante su vida operativa.

Algún cambio durante la ejecución de una

cualquiera de las etapas en este modelo

secuencial implicaría reiniciar desde el

principio todo el ciclo completo, lo cual

redundaría en altos costos de tiempo y

desarrollo. La figura 2 muestra un posible

esquema de el modelo en cuestión. Sin

embargo, el modelo cascada en algunas de sus

variantes es uno de los actualmente más

utilizados por su eficacia y simplicidad, más

Page 10: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

que nada en software de pequeño y algunos de

mediano porte; pero nunca (o muy rara vez) se

lo usa en su forma pura, como se dijo

anteriormente. En lugar de ello, siempre se

produce alguna realimentación entre etapas,

que no es completamente predecible ni rígida;

esto da oportunidad al desarrollo de productos

software en los cuales hay ciertas incertezas,

cambios o evoluciones durante el ciclo de vida.

Así por ejemplo, una vez capturados

(elicitados) y especificados los requisitos

(primera etapa) se puede pasar al diseño del

sistema, pero durante esta última fase lo más

probable es que se deban realizar ajustes en

los requisitos (aunque sean mínimos), ya sea

por fallas detectadas, ambigüedades o bien por

que los propios requisitos han cambiado o

evolucionado; con lo cual se debe retornar a la

primera o previa etapa, hacer los pertinentes

reajustes y luego continuar nuevamente con el

diseño; esto último se conoce como

realimentación. Lo normal en el modelo

cascada será entonces la aplicación del mismo

con sus etapas realimentadas de alguna forma,

permitiendo retroceder de una a la anterior (e

incluso poder saltar a varias anteriores) si es

requerido.

Page 11: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

Hardware

Hardware (pronunciación AFI /ˈhɑːdˌwɛə/ ó

/ˈhɑɹdˌwɛɚ/) corresponde a todas las partes físicas y

tangibles de una computadoras sus componentes

eléctricos, electrónicos, electromecánicos y

mecánicos; sus cables, gabinetes o cajas, periféricos

de todo tipo y cualquier otro elemento físico

involucrado; contrariamente al soporte lógico e

intangible que es llamado software El término

proviene del ingles y es definido por la RAE como el

Page 12: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

"Conjunto de los componentes que integran la parte

material de una computadora. Sin embargo, el

término, aunque es lo más común, no

necesariamente se aplica a una computadora tal

como se la conoce, así por ejemplo, un robot

también posee hardware (y software). La historia del

hardware del computador se puede clasificar en tres

generaciones, cada una caracterizada por un cambio

tegnologico de importancia. Este hardware se puede

clasificar en: básico, el estrictamente necesario para

el funcionamiento normal del equipo, y el

complementario, el que realiza funciones

específicas.

Un sistema informático se compone de una CPU,

encargada de procesar los datos, uno o varios

periféricos de entrada, los que permiten el ingreso

de la información y uno o varios periféricos de

salida, los que posibilitan dar salida (normalmente

en forma visual oauditiva a los datos

Tipos de hardware

micro controlador Motorola 68HC11 y chips de

soporte que podrían constituir el hardware de un

equipo electrónico industrial.

Una de las formas de clasificar el Hardware es en

dos categorías: por un lado, el "básico", que abarca

el conjunto de componentes indispensables

necesarios para otorgar la funcionalidad mínima a

una computadora, y por otro lado, el "Hardware

Page 13: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

complementario", que, como su nombre indica, es el

utilizado para realizar funciones específicas (más

allá de las básicas), no estrictamente necesarias

para el funcionamiento de la computadora.

Así es que: Un medio de entrada de datos, la unidad

de procesamiento y memoria y un medio de salida de

datos constituye el "hardware básico".

Los medios de entrada y salida de datos

estrictamente indispensables dependen de la

aplicación: desde un punto de vista de un usuario

común, se debería disponer, al menos, de un teclado

y un monitor para entrada y salida de información,

respectivamente; pero ello no implica que no pueda

haber una computadora (por ejemplo controlando

un proceso) en la que no sea necesario teclado ni

monitor, bien puede ingresar información y sacar

sus datos procesados, por ejemplo, a través de una

placa de adquisición/salida de datos.

Las computadoras son aparatos electrónicos

capaces de interpretar y ejecutar instrucciones

programadas y almacenadas en su memoria, ellas

consisten básicamente en operaciones aritmético-

logicas y entrada y salida. Se reciben las entradas

(datos), se las procesa y almacena (procesamiento),

y finalmente se producen las salidas (resultados del

procesamiento). Por ende todo sistema informático

tiene, al menos, componentes y dispositivos

hardware dedicados a alguna de las funciones

antedichas a saber:

1. Procesamiento: Unidad Central de Proceso o

CPU

2. Almacenamiento: memorias

Page 14: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

3. Entrada: periféricos de Entrada (E)

4. Salida: Periféricos de salida (S)

5. Entrada/Salida: Periféricos mixtos)

Desde un punto de vista básico y general, un

dispositivo de entrada es el que provee el medio

para permitir el ingreso de información datos y

programas (lectura); un dispositivo de salida brinda

el medio para registrar la información y datos de

salida (escritura); la memoria otorga la capacidad

de almacenamiento, temporal o permanente

(almacenamiento); y la CPUprovee la capacidad de

cálculo y procesamiento de la información ingresada

(transformación). Un periférico mixto es aquél que

puede cumplir funciones tanto de entrada como de

salida, el ejemplo más típico es el disco rigido (ya

que en él se lee y se graba información y datos).

Unidad Central de Procesamiento

Artículo principal CPU

MICROPROCESADOR de 64 bits doble núcleo,

La CPU, siglas en inglés de Unidad Central de

Procesamiento, es la componente fundamental del

computador, encargada de interpretar y ejecutar

instrucciones y de procesar datos. En los

computadores modernos, la función de la CPU la

realiza uno o más microprocesadores. Se conoce

como microprocesador a un CPU que es

manufacturado como un único circuito integrado.

Un servidor de red o una máquina de cálculo de alto

rendimiento), puede tener varios, incluso miles de

Page 15: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

microprocesadores trabajando simultáneamente o

en paralelo en este caso, todo ese conjunto

conforma la CPU de la máquina.

Las unidades centrales de proceso (CPU) en la forma

de un único microprocesador no sólo están

presentes en las computadoras personales PC sino

también en otros tipos de dispositivos que

incorporan una cierta capacidad de proceso o

"inteligencia electrónica"; como pueden ser:

controladores de procesos industriales , televisores,

automóviles, calculadores, aviones, teléfonos

móviles, electrodomésticos, juguetes y muchos más.

El microprocesador se monta en la llamada placa

madre sobre el un zócalo conocido como soket de

cpu que permite además las conexiones eléctricas

entre los circuitos de la placa y el procesador. Sobre

el procesador y ajustado a la tarjeta madre se fija un

discipador de calor, que por lo general es de

aluminio en algunos casos de cobre éste es

indispensable en los microprocesadores que

consumen bastante energia , la cual, en gran parte,

es emitida en formade calor : En algunos casos

pueden consumir tanta energía como una lámpara

incandescente (de 40 a 130vatios).

Adicionalmente, sobre el disipador se acopla un

ventilador, que está destinado a forzar la circulación

de aire para extraer más rápidamente el calor

emitido por el disipador. Complementariamente,

para evitar daños por efectos térmicos, también se

Page 16: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

suelen instalar sensores de temperatura del

microprocesador y sensores de revoluciones del

ventilador.

La gran mayoría de los circuitos lectronicos e

integrados que componen el hardware del

computador van montados en la placa madre.

La placa madre, también conocida como placa base

o con el anglicismo "board",es un gran circuito

impreso sobre el que se suelda el chispet las

ranuras de expansión (slots), los zócalos,

conectores, diversos integrados, etc. Es el soporte

fundamental que aloja y comunica a todos los demás

componentes por medio de:procesador, modulo de

memoria ram, tarjetas graficas , tarjetas de

expancion, periféricos de entrada y salida. Para

comunicar esos componentes, la placa base posee

una serie de buses con los cuales se trasmiten los

datos dentro y hacia afuera del sistema.

La tendencia de integración ha hecho que la placa

base se convierta en un elemento que incluye

también la mayoría de las funciones básicas (vídeo,

audio, red puertos de varios tipos), funciones que

antes se realizaban con tarjetas de expansión.

Aunque ello no excluye la capacidad de instalar

otras tarjetas adicionales específicas, tales como

capturadoras de vídeo, tarjetas deadquisicion de

datos, etc.

Memoria RAM

Page 17: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

Del inglés Random Access Memory, literalmente

significa "memoria de acceso aleatorio ". El término

tiene relación con la característica de presentar

iguales tiempos de acceso a cualquiera de sus

posiciones (ya sea para lectura o para escritura).

Esta particularidad también se conoce como "acceso

directo".

La RAM es la memoria utilizada en una computadora

para el almacenamiento transitorio y de trabajo (no

masivo). En la RAM se almacena temporalmente la

información, datos y programas que la Unidad de

Procesamiento (CPU) lee, procesa y ejecuta. La

memoria RAM es conocida como memoria principal

de la computadora, también como "Central o de

Trabajo"; a diferencia de las llamadas memorias

auxiliares y de almacenamiento masivo (como discos

duros, cintas magnéticas u otras memorias).

Las memorias RAM son, comúnmente, volátiles; lo

cual significa que pierden rápidamente su contenido

al interrumpir su alimentación eléctrica.

Las más comunes y utilizadas como memoria central

son "dinámicas" (DRAM), lo cual significa que

tienden a perder sus datos almacenados en breve

tiempo (por descarga, aún estando con alimentación

eléctrica), por ello necesitan un circuito electrónico

específico que se encarga de proveerle el llamado

"refresco" (de energía) para mantener su

información.

La memoria RAM de un computador se provee de

fábrica e instala en lo que se conoce como

“módulos”. Ellos albergan varios circuitos

Page 18: Software

Mariana Elizabeth Davalos Camacho

Mat: tecnologías de la información 1-a t/m

integrados de memoria DRAMque, conjuntamente,

conforman toda la memoria principal.