Vous êtes sur la page 1sur 10

DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S.

ALFREDO COVIELLO - Tucumn

1. Conceptos bsicos de programacin.


Datos e Informacin. Estructura de la Informacin.
Datos: Conjunto de smbolos que describen hechos o entidades

Los smbolos que representan datos pueden ser de distinta naturaleza,


por Ej.:

Las letras del alfabeto


Los dgitos decimales
Grficos
Movimientos de los labios
Movimientos de las manos
Rayas y puntos
Impulsos elctricos
Etc.

Un hecho es un acontecimiento o suceso que ocurre en un momento


determinado por Ej.:

La compra de un libro para un estudiante


La reparacin de un computador descompuesto para una empresa de
servicios
la reposicin de mercaderas para un comerciante
el debate de una ley para un legislador
Etc.

Una entidad es un ser viviente, lugar o cosa, por Ej.:

Un alumno
Un perro
Una planta
Una calculadora
Un paisaje
Etc.

La informacin no es un conjunto de datos cualquiera.

Informacin: conjunto de datos significativos

Para que un conjunto de datos sea significativo, se requiere que sea:

-1-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

1) Reconocible
2) ntegramente disponible
3) Inequvoco
4) Relevante

1) Los smbolos que representan datos son reconocibles cuando pueden ser
correctamente interpretados. La interpretacin que efecte el destinatario que
haga uso de esos datos, va a depender de:

a) Factores internos: Por ejemplo, cuando encontramos escrito 9 de Abril de


2011 interpretamos lo que ello significa. Lo mismo ocurre si vemos 09-04-
11. Pero que lo ve escrito es un nio pequeo lo ms seguro es que no le
encuentre significado a ese conjunto de smbolos, aunque conozca los dgitos del
0 al 9. En nuestro pas sabemos como interpretar 09-04-11; pues significa
da/mes/ao. Pero si estuviramos en un pas de habla inglesa o bien trabajando
con recursos tecnolgicos de esa procedencia, tendra otro significado; 09-04-
11 significara 4 de setiembre de 2011.

b) Factores externos: Por ejemplo un conjunto de smbolos que respondan a las


normas de interpretacin en un cdigo como el Morse, se vern afectadas de
acuerdo a las condiciones del canal de transmisin; la caligrafa cuando se trata
de un texto escrito a mano; o la impresin cuando es escritura hecha con
mquina de escribir u otras formas de impresin tipogrfica. Otros factores
externos podran ser la luz suficiente para visualizar, volumen correcto para su
audicin, controles tcnicos adecuados para su captacin, etc.

2) Para que el conjunto de datos est ntegramente disponible, los datos


requeridos deben estar disponibles en su totalidad. De tal manera que respondan
a una pregunta concreta. Por ejemplo, el nombre completo de una persona
cuando llena una formulario para solicitar empleo; el domicilio completo de los
socios de un club; los goles hechos por ambos equipos de ftbol; el detalle del
documento originado en una venta y su respectivo importe en un registro
contable de ventas; etc.

3) Para que los datos resulten inequvocos, es decir que no dejen lugar a dudas
de lo que representan, es necesario conocer el contexto al cual pertenecen.
Consideremos los siguientes ejemplos:

Conjuntos de nmeros: dado el conjunto de dgitos decimales 125674, escrito en


papel sin ningn otro elemento para poder determinar contexto alguno,
podramos asegurar que se trata de un nmero telefnico escrito de corrido?, o
de la patente de un auto?, o del cdigo de un artculo en un comercio? o

-2-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

simplemente de la cantidad numrica ciento veinticinco mil seiscientos setenta y


cuatro?

Trminos especficos: en diferentes campos especializados, tales como el


jurdico, contable, mdico, edilicio, informtico, etc., se utilizan trminos con
acepciones diferentes a las de uso comn, de tal manera que es necesario
conocer el contexto para interpretar correctamente los mismos. Una parte
importante del aprendizaje de una disciplina es aprender la terminologa
respectiva.

Fotografas: en general, la informacin visual obtenida de una fotografa no


necesita de un contexto o cdigo especial para su interpretacin. Se trata de una
imagen analgica. Entre la realidad y la fotografa hay una analoga. La foto
transmite tal cual la escena o persona captada por el objetivo de la cmara
fotogrfica, aunque en tamao reducido y en forma esttica. Constituye una
informacin denotada o no codificada. Pero no siempre es as. En ocasiones es
necesario identificar la informacin o mensaje de la imagen por medio de un
ttulo o epgrafe. Esto le otorga el contexto necesario que le da significado. En
este caso se trata de una informacin connotada. Otras veces la imagen dada por
la foto puede tener significado solamente al conocerse, por ejemplo, la seccin
del peridico en que se encuentra reproducida.

4) La ltima caracterstica que debe tener un conjunto de datos para ser


significativo y constituir una informacin, es que sea relevante o pertinente. Es
decir que sirva para responder un determinado requerimiento o bien cuando es
necesario para tomar una decisin.
Cuando una persona u organizacin debe tomar una decisin necesita
informacin para hacerlo acertadamente. Si esta informacin requerida no es la
adecuada la decisin tampoco lo ser.
Por ejemplo:

Para trasladarse a un determinado lugar, aunque conozca la calle y el


nmero donde quiero ir, necesito conocer las lneas de colectivo que
pasan por all o cerca de all. No me servir de nada conocer el tamao o
color del vehculo, ni el nombre del conductor, ni si hay sol. Pero s
necesitara conocer el itinerario, ste si es un dato pertinente o relevante
y los otros no.
El seor Fernndez va a salir de viaje de negocios al exterior. Para
preparar el equipaje qu datos son relevantes? lo es la fecha de viaje?
interesa el lugar adonde va? los nombres de las personas que viajarn
con l y la hora de partida?

EN CONCLUSIN: DATOS SIGNIFICATIVOS INFORMACIN

-3-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

Podemos decir que toda informacin es un dato, pero no todo dato es una
informacin.

En cuanto, a la representacin de los datos que conforman una


informacin, es necesario especificar los siguientes conceptos:

ENTIDAD O HECHO: Concepto que define la naturaleza de una informacin


particular.
ATRIBUTO: Concepto que define una propiedad o caracterstica de una
entidad o hecho concreto.
VALOR: Concepto que define el contenido de un atributo especfico.

Estos tres conceptos forman una estructura jerrquica mediante la cual se


puede representar una informacin. Luego veremos otros dos elementos que es
necesario especificar cuando se desea almacenar o procesar una informacin, se
trata del FORMATO o tipo de dato (numrico, carcter, lgico) y la
LONGITUD o tamao del dato (cantidad de smbolos).

Para aclarar estos conceptos veamos el siguiente ejemplo:

En este caso se trata de la entidad automvil que se puede identificar


por los atributos modelo, marca, patente, color, precio, de tal manera que para
cada automvil en particular se tendrn distintos valores para cada caracterstica,
como se aprecia en el cuadro:

ENTIDAD O HECHO ATRIBUTOS VALORES


1960
MODELO 1980
1990
FIAT
MARCA RENAULT
FOD
A078652
AUTOMVIL PATENTE F032678
T003456
ROJO
COLOR AZUL
VERDE
14.045
PRECIO 12.300
16.430

-4-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

2. Metodologa de la Programacin.
Como vimos en el captulo anterior, datos e informacin no son
sinnimos. Datos se refiere a la representacin de algn hecho, concepto o
entidad real, en cambio, informacin implica datos procesados y organizados.
Un sistema en general se define como un conjunto de componentes
conectados e interactivos, que tiene un propsito y una unidad total. En
consecuencia, sistema de procesamiento de informacin es un sistema que
transforma datos brutos en informacin organizada, significativa y til.

El computador es una mquina que por s sola no puede hacer nada,


necesita ser programada, es decir, introducirle instrucciones u ordenes que le
digan lo que tiene que hacer. Un programa es la solucin a un problema
inicial, as que todo comienza all: en el Problema. El proceso de
programacin es el siguiente: Dado un determinado problema el programador
debe idear una solucin y expresarla usando un algoritmo, que vendra a ser como
una frmula para la resolucin del mismo (aqu es donde entra a jugar); luego de
esto, debe codificarlo en un determinado lenguaje de programacin y por ltimo
ejecutar el programa en el computador el cual refleja una solucin al
problema inicial. Esto es a grandes rasgos lo que hace el programador de
computadores.
La parte que corresponde a este escrito es la de: Dado un determinado
problema debemos idear una solucin y expresarla usando un ALGORITMO.

Pasos del desarrollo de software


La elaboracin de programas no es un proceso emprico, existe un
mtodo para su creacin. A travs del tiempo la forma en que se han construido
ha ido evolucionando. El primer mtodo que se ide para elaborarlos es el
llamado Mtodo de Cascada.
El Mtodo de Cascada est formado por siete etapas, en donde una vez
completada cada etapa, se va pasando a la siguiente no existiendo la posibilidad
del regresar, de ah el nombre del mtodo.
Las etapas del Mtodo de Cascada son las siguientes:

1) Especificacin del problema (comprensin del mismo)


2) Anlisis del problema
3) Diseo del algoritmo (Programacin del modelo de la solucin propuesta
en pseudocdigo)
4) Codificacin en un lenguaje formal
5) Carga en la computadora para su ejecucin, prueba y ajuste
6) Documentacin
7) Mantenimiento durante su tiempo de vida til

-5-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

Definicin del problema


Esta fase est dada por el enunciado del problema, el cual requiere una
definicin clara, completa y precisa. Es importante que se conozca lo que se
desea que realice la computadora; mientras esto no se conozca del todo no
tiene mucho caso continuar con la siguiente etapa.
En programacin es sumamente importante comprender el problema
antes de comenzar a elaborar su solucin. Por lo tanto primero hay que
familiarizarse con el problema e inclusive hacer algunos ejemplos para
corroborar que ya se ha comprendido bien el problema que se requiere
solucionar. La razn de este punto es que en ocasiones los programadores
comenzaban a trabajar en la solucin sin tener la certeza de haber
comprendido bien el problema y cuando entregaban la solucin al cliente, ste
encontraba que los Ingenieros de Software no haban comprendido bien sus
requerimientos y por lo tanto la solucin presentada no satisfaca sus
expectativas generando fuertes conflictos mercantiles. Por lo tanto, antes de
comenzar a trabajar en la solucin de un problema se debe tener la certeza de
que se ha comprendido perfectamente el problema, inclusive haciendo
manualmente algunos ejemplos.

En este paso se hace la descripcin del problema en lenguaje natural. El


lenguaje natural puede ser cualquier lenguaje humano, en nuestro caso ser
el Espaol. sta descripcin puede servir como el encabezado del problema
cuando se comience a cargar el programa. A esta descripcin se le llama
tambin especificacin del problema en Ingeniera de Software y es la
descripcin del qu?, el qu vamos a resolver?

Anlisis del problema

El propsito del anlisis del problema es ayudar al programador para


llegar a una cierta comprensin de la naturaleza del problema. El problema debe
estar bien definido si se quiere llegar a una solucin satisfactoria.
Para poder definir con precisin el problema se requiere que las
especificaciones de entrada y salida sean descritas en detalle.
stos son los requisitos ms importantes para llegar a una solucin eficaz.

Por lo tanto, Una vez que se ha comprendido lo que se desea de la


computadora, es necesario definir:

Los datos de entrada.


Cual es la informacin que se desea producir (salida)
Los mtodos y frmulas que se necesitan para procesar los datos.

-6-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

Una recomendacin muy prctica es el de colocarse en el lugar de la


computadora y analizar qu es lo que se necesita que se ordene y en qu
secuencia para producir los resultados esperados.

Diseo del algoritmo

En este paso se genera una solucin con tcnicas de programacin como


diseo descendente de programas, pseudocdigos, flujogramas y estructuras
lgicas.

Existen dos principales tcnicas de diseo de algoritmos de


programacin, el Top Down y el Bottom Up.

Top Down

Tambin conocida como diseo descendente (top-down design), se trata


de la descomposicin del problema original en subproblemas ms simples y a
continuacin dividir estos subproblemas en otros ms simples, que pueden ser
implementados para su solucin en la computadora. Este mtodo se suele
denominar tambin divide y vencers. Para problemas complejos se necesitan
con frecuencia diferentes niveles de refinamiento antes de que se pueda obtener
un algoritmo claro, preciso y completo.

De esta manera se establecen una serie de niveles de mayor a menor


complejidad (arriba-abajo) de forma que una etapa jerrquica y su inmediato
inferior se relacionan mediante entradas y salidas de informacin. La
utilizacin de la tcnica de diseo Top-Down tiene los siguientes objetivos
bsicos:

Simplificacin del problema y de los subprogramas de cada


descomposicin.
Las diferentes partes del problema pueden ser programadas de modo
independiente e incluso por diferentes personas.
El programa final queda estructurado en forma de bloque o mdulos lo
que hace ms sencilla su lectura y mantenimiento.

Bottom Up

El diseo ascendente se refiere a la identificacin de aquellos


procesos que necesitan computarizarse conforme vayan apareciendo, su anlisis
como sistema y su codificacin, o bien, la adquisicin de paquetes de software
para satisfacer el problema inmediato.

-7-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

Cuando la programacin se realiza internamente y haciendo un enfoque


ascendente, es difcil llegar a integrar los subsistemas al grado tal de que el
desempeo global, sea fluido. Los problemas de integracin entre los
subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta
que la programacin alcanza la fecha lmite para la integracin total del sistema.
En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de
los usuarios, como para corregir aquellas delicadas interfaces, que en un
principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se
requiere, cuando se contempla al sistema como una entidad global, adolece de
ciertas limitaciones por haber tomado un enfoque ascendente.
Uno de ellos es la duplicacin de esfuerzos para acceder el software y ms
an al introducir los datos. Otro es, que se introducen al sistema muchos datos
carentes de valor. Un tercero y tal vez el mas serio inconveniente del enfoque
ascendente, es que los objetivos globales de la organizacin no fueron
considerados y en consecuencia no se satisfacen.

Entonces

La diferencia entre estas dos tcnicas de programacin se fundamenta en


el resultado que presentan frente a un problema dado.
Imagine una empresa, la cual se compone de varios departamentos
(contabilidad, mercadeo, ), en cada uno de ellos se fueron presentando
problemas a los cuales se le dieron una solucin basados en un enfoque
ascendente (Bottom Up): creando programas que satisfacan slo el
problema que se presentaba. Cuando la empresa decidi integrar un sistema
global para suplir todas las necesidades de todos los departamentos se dio
cuenta que cada una de las soluciones presentadas no era compatible la una
con la otra, no representaba una globalidad, caracterstica principal de los
sistemas.
Como no hubo un previo anlisis, diseo de una solucin a nivel
global en todos sus departamentos, centralizacin de informacin, que son
caractersticas propias de un diseo Descendente (Top Down) y caractersticas
fundamentales de los sistemas; la empresa no pudo satisfacer su necesidad a
nivel global.
La creacin de algoritmos es basado sobre la tcnica descendente, la cual
brinda el diseo ideal para la solucin de un problema.

Codificacin del programa

Es la generacin real del programa con un lenguaje de programacin. En


esta etapa se hace uso de la lgica que desarroll en el paso del diseo del
algoritmo para efectivamente generar un programa. Se debe seleccionar el
lenguaje apropiado para resolver el problema.

-8-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

Prueba y depuracin del programa

Depurar es correr el programa en una computadora y corregir las partes


que no funcionan. En esta fase se comprueba el funcionamiento de cada
programa y esto se hace con datos reales o ficticios. Cuando los programas estn
depurados, se prueban. Cuando los programas se depuran, se pueden encontrar
los siguientes errores:

a) Errores de sintaxis o de compilacin


b) Errores de ejecucin
c) Errores de lgica
d) Errores de especificacin.

a) Errores de sintaxis o de compilacin


Es una violacin de las reglas del lenguaje de programacin. Son ms fciles de
corregir, ya que son detectados por el compilador (posible error de escritura), el
cual dar informacin sobre el lugar donde est y la naturaleza de cada uno de
ellos mediante un mensaje de error.

b) Errores de Ejecucin
Se deben generalmente a operaciones no permitidas como dividir por cero, leer
un dato no numrico en una variable numrica, exceder un rango de valores
permitidos, etc. Se detectan porque se produce una parada anormal del programa
durante su ejecucin.

c) Errores de Lgica
Corresponden a la obtencin de resultados que no son correctos y la nica
manera de detectarlos es realizando suficientes pruebas del programa. Son
difciles de corregir, no slo por la dificultad de detectarlos, sino porque se
deben a la propia concepcin y diseo del programa.

d) Errores de Especificacin
Es el peor tipo de error y el ms difcil de corregir. Se deben a mal diseo del
programa posiblemente por mala comunicacin usuario programador y se
detectan cuando ya se ha concluido el diseo e instalacin del programa, lo cual
puede implicar repetir gran parte del trabajo realizado.

Documentacin del programa

Consiste en describir por escrito a nivel tcnico los procedimientos


relacionados con el programa y su modo de uso. Tambin se debe documentar el
programa para que sea ms entendible.

-9-
DESARROLLO DE SOFTWARE PROGRAMACIN I I. E. S. ALFREDO COVIELLO - Tucumn

Para quines son la documentacin?

- Usuarios (Digitadores)
- Operadores
- Programadores
- Analistas de sistemas

Documentos que se elaboran:


Manual de Usuario y Manual del Analista.

A los usuarios se les elabora un manual de referencia para que aprendan a


utilizar el programa. Esto se hace a travs de capacitaciones y revisin de la
documentacin del manual de usuario. El manual del usuario no est escrito a
nivel tcnico sino al de los distintos usuarios previstos y explica en detalle cmo
usar el programa: descripcin de las tareas que realiza el programa,
instrucciones necesarias para su instalacin puesta en marcha y funcionamiento,
recomendaciones de uso, mens de opciones, mtodo de entrada y salida de
datos, mensajes de error, recuperacin de errores, etc.
A los operadores por si se presentan mensajes de error, sepan cmo
responder a ellos. Adems que se encargan de darle soporte tcnico al programa.
A los programadores a travs del manual del analista para que recuerden
aspectos de la elaboracin del programa o en caso que otras personas puedan
actualizarlo o modificarlo (darle mantenimiento) y no son necesariamente las
personas que lo disearon. Es por ello, que la documentacin debe contener
algoritmos y flujogramas de los diferentes mdulos que lo constituyen y las
relaciones que se establecen entre ellos; listados del programa, corridas,
descripcin de variables que se emplean en cada mdulo, cules son comunes a
diferentes mdulos y cules locales; descripcin de los ficheros de cada mdulo
y todo lo que sea de importancia para un programador.
A los analistas de sistemas que son las personas que debern
proporcionar toda la informacin al programador. Estos se encargan de hacer
una investigacin previa de cmo realizar el programa y documentar con las
herramientas necesarias para que el programador pueda desarrollar el sistema en
algn lenguaje de programacin adecuado.

Mantenimiento del programa

Es el paso final del desarrollo del software. Alrededor del 75% del costo
total del ciclo de vida de un programa se destina al mantenimiento. El propsito
del mantenimiento es garantizar que los programas en uso estn libres de errores
de operacin y sean eficientes y efectivos.

- 10 -

Vous aimerez peut-être aussi