Está en la página 1de 6

1, DESARROLLO DE SOFTWARE

El ordenador se compone de dos partes bien diferenciadas: hardware y software.


El software es el conjunto de programas informticos que actan sobre el hardware para ejecutar lo
que el usuario desee.
Se distinguen 3 tipos de software: el sistema operativo, software de programacin y aplicaciones.
El sistema operativo es el software base que ha de estar instalado y configurado en nuestro
ordenador para que las aplicaciones puedan ejecutarse y funcionar. Ejemplo: Windows, Linux,Mac
OS X
El software de programacin es el conjunto de herramientas que nos permiten desarrollar programas
informticos.
Las aplicaciones son un conjunto de programas que tienen una finalidad mas o menos concreta.
Ejemplo: procesador de textos, hoja de calculo, videojuegos
Un programa es un conjunto de instrucciones escritas en un lenguaje de programacin.
Este tema se centra en las aplicaciones informticas: como se desarrollan y cuales son as fases por
las que necesariamente han de pasar.

Ejemplo de tipos de software:

El software de aplicacin: donde de incluyen aplicaciones de usuario (procesador de textos, hojas


de clculo o juegos).
Middleware: controla y coordina los sistemas distribuidos.
Lenguajes de programacin: aplicaciones bancarias o de adultos, escritos en el lenguaje COBOL,
inventado en 1959.
El software del sistema: incluyen los S.O.
Testware: software para pruebas de hardware o un paquete de software.
Los controladores de dispositivos: discos duros, impresoras, unidades de CD o monitores.
Las herramientas de programacin: son tipos de software que ayudan a realizar tareas de
computacin en cualquier categora mencionada anteriormente.

2. RELACIN HARDWARE-SOFTWARE.

Hardware: conjuntos de dispositivos fsicos que conforman un ordenador.


El software se ejecutar sobre los dispositivos fsicos.
La 1 arquitectura hardware se estableci en 1946 por Jon Von Neuman.

Esta relacin la ponemos de manifiesto desde dos puntos de vista:

a) Desde el punto de vista del Sistema Operativo: es el encargado de coordinar al hardware


durante el funcionamiento del ordenador, actuando como intermediario entre este y las
aplicaciones. Todas las aplicaciones necesitan recursos hardware durante su ejecucin
( tiempo CPU, espacio en memoria RAM). El Sistema Operativo se encarga de controlar
todos estos aspectos de manera oculta.

b) Desde el punto de vista de las aplicaciones: hay multitud de lenguajes de programacin


diferentes. Sin embargo todos tienen algo en comn: estar escritos en sentencias de un
idioma. Por otra parte, el hardware de un ordenador solo es capaz de interpretar seales
elctricas que en informtica se traducen en secuencias de 0 y 1 (cdigo binario).
3. DESARROLLO DE SOFTWARE

Es todo proceso que ocurre desde que se concibe una idea hasta que un programa esta
implementado en el ordenador y funcionando.
El proceso de desarrollo consta de una serie de pasos de obligado cumplimiento pues solo as
podremos garantizar que los programas creados son eficientes, fiables, seguros y responden a las
necesidades de los usuarios finales.
La construccin de software: es un proceso que puede llegar a ser muy complejo y que exige gran
coordinacin y disciplina del grupo de trabajo que lo desarrolle.

3.1. CICLOS DE VIDA DEL SOFTWARE

Modelo en Cascada: es el modelo de vida clsico del software. Es prcticamente imposible


que se pueda utilizar, ya que requiere conocer de antemano todos los requisitos del sistema.
Solo es aplicable a pequeos desarrollos. Ya que las etapas pasan de una a otra sin retorno
posible.
Modelo en Cascada con Realimentacin: es uno de los modelos mas utilizados. Proviene
del modelo anterior, pero se introduce una realimentacin entre etapas de forma que
podamos volver atrs en cualquier momento para corregir, modificar o depurar algn
aspecto, si se prevn muchos cambios durante el desarrollo no es el modelo mas idneo.
Es el modelo perfecto si el proyecto es rgido (pocos cambios, poco evolutivo) y los
requisitos estn claros.
Modelos evolutivos: son mas modernos que los anteriores. Tienen e cuenta la naturaleza
cambiante y evolutiva del software.

Distinguimos dos variantes:

Modelo Iterativo Incremental: esta basado en el modelo en cascada con realimentacion,


donde las fases se repiten y refinan, y van propagando su mejora a las fases siguientes.
Modelo en Espiral: es una combinacin del modelo anterior con el modelo en cascada. El
software se va construyendo repetidamente en forma de versiones que son cada vez mejores,
debido a que incrementan las funcionalidad en cada versin. Es un modelo bastante
complejo.

3.2. HERRAMIENTAS DE APOYO AL DESARROLLO DEL SOFTWARE

Para llevar a cabo varias de las etapas vistas en el punto anterior contamos con herramientas
informticas, cuya finalidad principal es automatizar las tareas y ganar fiabilidad y tiempo.

Esto nos va a permitir centrarnos en los requerimientos del sistema y el anlisis del mismo, que son
las causas principales de los fallos del software.

Las herramientas CASE son un conjunto de aplicaciones que se utilizan en el desarrollo de


software con el objetivo de reducir costes y tiempo del proceso, mejorando por tanto la
productividad del proceso.

En que fases del proceso nos pueden ayudar?

En el diseo del proyecto, en la codificacin de nuestro diseo a partir de su apariencia visual,


deteccin de errores.

El desarrollo rpido de aplicaciones o RAD es un proceso de desarrollo de software que comprende


el desarrollo iterativo, la construccin de prototipos y el uso de utilidades CASE. Se usa para
referirnos al desarrollo rpido de interfaces grficas de usuario o entornos de desarrollo integrado
completos.

La tecnologa CASE trata de automatizar las fases de desarrollo de software para que mejore la
calidad del proceso y del resultado final.

Estas herramientas permiten:

Mejorar la planificacin del proyecto.


Darle agilidad al proceso.
Poder reutilizar partes del software en proyectos futuros.
Hacer que las aplicaciones respondan a estndares.
Mejorar la tarea del mantenimiento de los programas.
Mejorar el proceso de desarrollo, al permitir visualizar las fases de forma grfica.

CLASIFICACIN

Las herramientas CASE se clasifican en funcin de las fases del ciclo de vida del software en la que
ofrecen ayuda.

U-CASE: ofrece ayuda en las fases de planificacin y anlisis de requisitos.


M-CASE: ofrece ayuda en anlisis y diseo.
L-CASE: ayuda en la programacin del software, deteccin de errores del cdigo,
depuracin de programas y pruebas y en la generacin de la documentacin del proyecto.

4. LENGUAJES DE PROGRAMACIN

Es un idioma creado de forma artificial, formado por un conjunto de smbolos y normas que se
aplican sobre un alfabeto para obtener un cdigo, que el hardware de la computadora pueda
entender y ejecutar.
Son los que nos permiten comunicarnos con el hardware del ordenador.
Son los instrumentos que tenemos para que el ordenador realice las tareas que necesitamos.

Caractersticas de los Lenguajes de Programacin


Lenguaje mquina:
Sus instrucciones son combinaciones de unos y ceros.

Es el nico lenguaje que entiende directamente el ordenador. (No necesita traduccin).

Fue el primer lenguaje utilizado.

Es nico para cada procesador (no es portable de un equipo a otro).

Hoy da nadie programa en este lenguaje.

Lenguaje ensamblador:
Sustituy al lenguaje mquina para facilitar la labor de programacin.

En lugar de unos y ceros se programa usando mnemotcnicos (instrucciones complejas).


Necesita traduccin al lenguaje mquina para poder ejecutarse.

Sus instrucciones son sentencias que hacen referencia ala ubicacin fsica de los archivos en
el equipo.
Es difcil de utilizar.

Lenguaje de alto nivel basados en cdigo:


Sustituyeron al lenguaje ensamblador para facilitar ms la labor de programacin.

En lugar de mnemotcnicos, se utilizan sentencias y rdenes derivadas del idioma ingls.


(Necesita traduccin al lenguaje mquina).
Son ms cercanos al razonamiento humano.

Son utilizados hoy da, aunque la tendencia es que cada vez menos.

Lenguajes visuales:
Estn sustituyendo a los lenguajes de alto nivel basados en cdigo.

En lugar de sentencias escritas, se programa grficamente usando el ratn y diseando


directamente la apariencia del software.
Su correspondiente cdigo se genera automticamente.

Necesitan traduccin al lenguaje mquina.

Son completamente portables de un equipo a otro.

4.1. CONCEPTO Y CARACTERSTICAS.


La eleccin del lenguaje de programacin para codificar un programa depender de las
caractersticas del problema a resolver.
CONCEPTO
Un lenguaje de programacin es el conjunto de:
Alfabeto: conjunto de smbolos permitidos.

Sintaxis: normas de construccin permitidas de los smbolos del lenguaje.

Semntica: significado de las construcciones para hacer acciones vlidas.

CARACTERISTICAS
Segn lo cerca que est del lenguaje humano:
Lenguajes de Programacin De alto nivel: por su esencia, estn ms prximos al
razonamiento humano.
Lenguajes de Programacin De bajo nivel: estn ms prximos al funcionamiento interno
de la computadora: Lenguaje Ensamblador Lenguaje Mquina
Segn la tcnica de programacin utilizada:

Lenguajes de Programacin Estructurados: Usan la tcnica de programacin


estructurada. Ejemplos: Pascal, C, etc
Lenguajes de Programacin Orientados a Objetos: Usan la tcnica de programacin
orientada a objetos. Ejemplos: C++, Java, Ada, Delphi, etc.
Lenguajes de Programacin Visuales: Basados en las tcnicas anteriores, permiten
programas grficamente, siendo el cdigo correspondiente generado de forma automtica.
Ejemplos: Visual Basic. Net, Borland Delphi...

A pesar de la inmensa cantidad de lenguajes de programacin existentes, Java, C, C++, PHP


y Visual Basic concentran alrededor del 60% del inters de la comunidad informtica
mundial.
4.2. LENGUAJES DE PROGRAMACIN ESTRUCTURADOS
La programacin estructurada se define como una tcnica para escribir lenguajes de programacin
que permite slo el uso de tres tipos de sentencias o estructuras de control:
Sentencias secuenciales.

Sentencias selectivas (condicionales).

Sentencias repetitivas (iteraciones o bucles).

Los Lenguajes de programacin que se basan en la programacin estructurada reciben el nombre de


lenguajes de programacin estructurados.
VENTAJAS DE LA PROGRAMACIN ESTRUCTURADA
Los programas son fciles de leer, sencillos y rpidos.

El mantenimiento de los programas es sencillo.

La estructura del programa es sencilla y clara.

INCONVENIENTES
Todo el programa se concentra en un nico bloque (si se hace demasiado grande es difcil
manejarlo).
No permite reutilizacin eficaz de cdigo, ya que todo va "en uno". Es por esto que a la
programacin estructurada le sustituy la programacin modular, donde los programas se
codifican por mdulos y bloques, permitiendo mayor funcionalidad
Ejemplos de lenguajes estructurados: Pascal, C, Fortran.
La Programacin estructurada evolucion hacia la Programacin modular, que divide el programa
en trozos de cdigo llamados mdulos con una funcionalidad concreta, que podrn ser reutilizables.

4.3. LENGUAJE DE PROGRAMACIN ORIENTADOS A OBJETOS


Los lenguajes de programacin orientados a objetos tratan a los programas no como un conjunto
ordenado de instrucciones (tal como suceda en la programacin estructurada) sino como un
conjunto de objetos que colaboran entre ellos para realizar acciones.
En la P.O.O. los programas se componen de objetos independientes entre s que colaboran para
realizar acciones.
Los objetos son reutilizables para proyectos futuros.
Su primera desventaja es clara: no es una programacin tan intuitiva como la estructurada.
A pesar de eso, alrededor del 55% del software que producen las empresas se hace usando esta
tcnica.
Razones:
El cdigo es reutilizable.

Si hay algn error, es ms fcil de localizar y depurar en un objeto que en un programa


entero