Anda di halaman 1dari 13

qwertyuiopasdfghjklzxcvbn

mqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjkl
Diseo de un programa
zxcvbnmqwertyuiopasdfghj
Equipo #6
klzxcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiopasd
fghjklzxcvbnmqwertyuiopa
sdfghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwertyu
iopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwe
rtyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjkl

DISEO DE UN PROGRAMA
Un programa es un conjunto de lneas de cdigo escritas en un lenguaje de
programacin determinado. Pero el cdigo escrito en un lenguaje de alto nivel no
puede ser entendido por el ordenador, por lo que es necesaria la traduccin a
cdigo mquina. En este proceso tienen lugar dos fases. En la primera fase
(compilacin) el compilador traduce cada uno de las partes del programa y crea
mdulos objeto, que posteriormente sern unidos por el linker (enlazado), creando
el mdulo ejecutable .exe. Como la compilacin y el enlazado son dos procesos
dependientes, a menudo se suele denominar a todo el proceso compilacin.

En el diseo de un programa tenemos diferentes pasos:

Anlisis del problema. Este paso es fundamental. La correcta resolucin de un


problema viene determinada en gran medida por el planteamiento inicial. Un
planteamiento correcto nos evitar perder tiempo en la implementacin de
algoritmos que posteriormente nos demos cuenta que son incorrectos. En este
paso nos debemos hacer tres preguntas: Qu entradas se nos ofrece?, Qu
salida debemos generar? y Cul es el mtodo que debemos usar para llegar
hacia la solucin deseada?
Diseo del algoritmo. Si en el anlisis determinamos qu hace el programa aqu
determinamos cmo lo hace. Para ello se divide el problema en varios
subproblemas que se solucionan de forma independiente (divide y vencers), lo
que se denomina diseo modular. En este paso puede ser conveniente la
utilizacin de diagramas de flujo o pseudocdigo.
Codificacin. Es la escritura del cdigo segn el algoritmo decidido en las etapas
anteriores.
Compilacin y ejecucin. Una vez escrito el cdigo, se compila. Si el cdigo
contiene errores el compilador nos los mostrar: son los llamados errores de
compilacin, que suelen estar relacionados con incoherencias en la sintaxis,
conversin incorrecta de tipos, etc. Una vez solucionados estos errores, se crear
el programa ejecutable.
Verificacin. Al ejecutar el programa puede ocurrir que realice lo que queramos o
que, por el contrario, produzca un resultado indeseado. Nos encontramos aqu con
dos tipos de errores:

- Errores de ejecucin: Se producen cuando el programa llega a un punto en el


que el ordenador no puede realizar la operacin que se le solicita: divisin por
cero, desbordamiento, etc.
- Errores del algoritmo: Son los ms difciles de detectar, se producen cuando el
algoritmo est mal implementado. Nos conduce al siguiente paso.
Depuracin. Esta es una parte importante. Se utilizan las herramientas de
depuracin del compilador que usamos, lo que en gran medida determina si el
compilador es mejor o peor. En general, todos los compiladores incluyen entre sus
herramientas de depuracin las siguientes:
- Ejecucin paso a paso: En lugar de ejecutar todo el programa hasta su
finalizacin, se ejecuta lnea a lnea, lo que permite observar el comportamiento
del programa en cada momento.
- Watches (inspecciones): permiten seguir el valor de una variable y comprobar
que cambia su valor en su momento y modo deseado.
- Debug Inspector: similar a las watches pero especialmente til para la
visualizacin de arrays, listas, etc.
- Breakpoints: si la ejecucin es demasiado larga, podemos definir un breakpoint
(punto de ruptura) en una o varias lneas. El programa se ejecutar normalmente
hasta que llegue a una de esas lneas. En ese momento la ejecucin se detendr
y podremos consultar valores de variables o ejecutar paso a paso desde ese
punto.
- Evaluar/modificar: permite obtener el valor de una variable en un punto en el que
la ejecucin del programa se ha pausado. Se puede modificar el valor de dicha
variable para comprobar, por ejemplo, que si tuviera otro valor el comportamiento
tambin sera el esperado.
Diseo del programa:

El diseo del programa consiste en la definicin de las operaciones a realizar y su


secuencia. Es decir, se crea la solucin o algoritmo que pueda resolver el
problema. En general, se utilizan herramientas o tcnicas para la programacin.

Diseo Modular:
Cuando se habla de diseo modular se hace referencia a un enfoque que se
subdivide el sistema en partes ms pequeas (mdulos) que pueden ser creados
de forma independiente y luego se utilizan en los diferentes sistemas para
conducir
mltiples
funcionalidades; el
cual
se
descompone

ensubprogramas (submdulos), los cuales, a su vez, tambin se pueden


fraccionar, y as sucesivamente, es decir, el problema se resuelve de arriba hacia
abajo. A este mtodo se le denomina diseo modular o descendente(top-down).
Descomposicin Modular
El diseo modular propone dividir el sistema en partes diferenciadas y definir sus
interfaces. sus ventajas: claridad, reduccin de costos y reutilizacion
Los pasos a seguir son:
1. Identificar los mdulos
2. Describir cada mdulo
3. Describir las relaciones entre mdulos
Una descomposicin modular debe poseer ciertas cualidades mnimas para que
se pueda considerar suficiente validad.
1. Independencia funcional
2. Acoplamiento
3. Cohesin
4. Comprensibilidad
5. Adaptabilidad
a) Independencia funcional
Cada mdulo debe realizar una funcin concreta o un conjunto de funciones
afines. Es recomendable reducir las relaciones entre mdulos al mnimo.
Para medir la independencia funcional hay dos criterios:acoplamiento y cohesin
b) Acoplamiento
El acoplamiento es un medida de la interconexin entre mdulos en la estructura
del programa. El grado de acoplamiento mide la interrelacin entre dos mdulos,
segn el tipo de conexin y la complejidad de la interface:
. Fuerte
- Por contenido, cuando desde un mdulo se puede cambiar datos locales de otro.
. Moderado
- De control, la zona comn es un dispositivo externo al que estn ligados los
mdulos, esto implica que un cambio en el formato de datos los afecta a todos.
. Dbil

- De datos, viene dado por los datos que intercambian los mdulos. Es el mejor.
- Sin acoplamiento directo , es el acoplamiento que no existe
c) Cohesin
Un mdulo coherente ejecuta una tarea sencilla en un procedimiento de poca
interaccin con procedimientos que se ejecutan en otras partes de un programa.
podemos decir que un mdulo coherente es aquel que intenta realizar solamente
una cosa..
d) Comprensibilidad
Para facilitar los cambios, el mantenimiento y la reutilizacin de mdulos es
necesario que cada uno sea comprensible de forma aislada.
e) Adaptabilidad
La adaptacin de un sistema resulta ms difcil cuando no hay independencia
funcional, es decir, con alto acoplamiento y baja cohesin, y cuando el diseo es
poco comprensible.

Prueba y depuracin
Los errores humanos dentro de la programacin de computadoras son muchos y
aumentan considerablemente con la complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a una solucin sin errores se le llama
Depuracin.

La Depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo
de la solucin, por ello se debe considerar con el mismo inters y entusiasmo.

Resulta conveniente observar los siguientes principios al realizar una depuracin,


ya que de este trabajo depende el xito de nuestra solucin.

a)
Trate de iniciar la prueba de un programa con una mentalidad saboteadora,
casi disfrutando la tarea de encontrar algn error.

b)
Sospeche de todos los resultados que le arroje la solucin, con lo cual
deber verificar todos.

c)
Considerar todas las situaciones posibles normales y an algunas de las
anormales.

Codificacin.

La codificacin es la operacin de escribir la solucin del problema (de acuerdo a


la lgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones
detalladas en un cdigo reconocible por la computadora, la serie de instrucciones
detalladas se le conoce como programa fuente, el cual se escribe en un lenguaje
de programacin o lenguaje alto nivel.

Existen diversos tipos de lenguaje de alto nivel, de acuerdo al tipo de problema


que se desea resolver, clasificndose en problemas: matemticos, cientficos,
administrativos o comerciales.

Documentacin.

Es la gua o comunicacin escrita en sus variadas formas, ya sean en enunciados,


procedimientos, dibujos o diagramas. A menudo un programa escrito por una
persona, es usado por muchas otras. Por ello la documentacin sirve para ayudar
a comprender o usar un programa o para facilitar futuras modificaciones
(mantenimiento).

La documentacin debe presentarse en tres formas, externa, interna y al usuario


final. La primera debe estar integrada por los siguientes elementos:

a)

Descripcin del problema.

b)

Nombre del autor.

c)

Diagrama de flujo y/o pseudocdigo.

d)

Lista de variables y constantes.

e)

Codificacin del programa.

En lo referente a la documentacin interna, sta lo constituyen los comentarios o


mensajes que agregan al cdigo, para hacer ms claro el entendimiento del
proceso. A la documentacin para el usuario se le conoce como manual del
usuario. En este manual no existe informacin de tipo tcnico, sino la descripcin
del funcionamiento del programa.

Documentacin de un programa
DOCUMENTACIN PARA EL USUARIO
La documentacin para el usuario constituye un elemento de consulta para toda
aquella persona que va a usar el programa por primera vez o que trata de saber si
el programa servir a sus objetivos. Igualmente es til para usuarios que ya
realizan un manejo bsico y quieren profundizar hacia un conocimiento avanzado.
Qu es la documentacin de un programa?

Para que el mantenimiento de una aplicacin informtica sea lo ms fcil posible,


es conveniente disponer de toda su documentacin, esto es, de todos los
documentos que se han ido generando en todas las etapas anteriores: ERS,
algoritmos, cdigos fuentes, manuales de usuario, etc. A todo este tipo de
documentacin se le considera externa. Adems, existe otro tipo de
documentacin llamada interna.
La documentacin interna de un programa son los comentarios que el
programador puede escribir en el cdigo fuente de un programa y que el
compilador no tendr en cuenta, ya que, no son instrucciones. Los comentarios de
un programa son explicaciones o aclaraciones que ayudarn al programador en un
futuro, cuando quiera revisar o modificar el cdigo fuente de dicho programa, y
todava sern de ms ayuda si la modificacin la tiene que realizar un
programador distinto al que escribi el cdigo fuente en un primer momento.

Referencia
http://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=390:documentacion-deprogramas-informaticos-documentacion-para-el-usuario-y-paramantenimiento-cu00250a&catid=36:curso-qbases-de-la-programacionnivel-iiq&Itemid=60
http://www.carlospes.com/curso_de_ingenieria_del_software/06_02_docu
mentacion_de_un_programa.php

La documentacin para el usuario constituye un elemento de consulta para toda


aquella persona que va a usar el programa por primera vez o que trata de saber si
el programa servir a sus objetivos. Igualmente es til para usuarios que ya
realizan un manejo bsico y quieren profundizar hacia un conocimiento avanzado.
Una documentacin completa contendra:

Portada con el nombre del programa, versin y autor o autores.


ndice.
Descripcin muy breve de las funciones y posibilidades del programa.
Descripcin breve del mtodo de clculo principal.
Explicacin breve de cmo debe usarse el programa y de los datos de entrada,
opciones y resultados.
Ejemplos paso a paso de uso del programa en nmero suficiente para
comprender las posibilidades que se brindan.
Diagrama de flujo del programa de carcter sinttico y descriptivo.
Especificacin detallada de todas las opciones contenidas en mens.
Especificacin detallada de todos los clculos, principales y secundarios.

La extensin de la documentacin para el usuario ser variable en funcin de la


complejidad y caractersticas del programa: puede ir desde un prrafo para
programas muy sencillos y de fcil uso hasta centenares de pginas para
programas comerciales complejos. Los puntos contenidos en la documentacin
tambin son variables, siendo los enumerados anteriormente una orientacin.
Para programas sencillos puede reducirse a un ttulo, una explicacin breve del
funcionamiento, entradas y salidas y un ejemplo de uso.

MANTENIMIENTO. DOCUMENTACIN PARA MANTENIMIENTO.


La documentacin para mantenimiento constituye el elemento de referencia para
el programador que haya de realizar cambios o ampliaciones del programa en el
futuro. La necesidad de mantenimiento deriva de:
Defectos del programa no detectados y que es necesario corregir.
Cambios externos de ndole poltica, tcnica, social, etc. que afectan al
programa: normativa, moneda, novedades de un sistema operativo, etc.
Solicitudes de los clientes o usuarios.

El mantenimiento de un programa puede afectar a su esqueleto o diseo bsico, a


funciones importantes pero desligadas del ncleo del programa o a cuestiones
meramente estticas. De cualquier forma, el mantenimiento debe considerarse

como programacin en todos sus sentidos, debiendo partir del conocimiento del
problema y avanzar con detenimiento siguiendo las normas para una
programacin slida. Es ideal un mantenimiento que respete la filosofa y el estilo
del programa que se mantiene, de modo que un auditor no pudiera detectar qu
parte del programa corresponde al cdigo original y qu parte a la ampliacin o
correccin.
Por desgracia esto muchas veces no se cumple, por descuido o porque
simplemente realizar un mantenimiento de calidad puede ser muy costoso frente a
una opcin rpida y que funciona. El problema surge cundo diversas operaciones
de mantenimiento con distintas formas de construccin y filosofa empiezan a
afectar a la lgica e interconectividad entre las distintas partes del programa.
Veamos un smil grfico:

No hace falta decir que si no se parte de un programa bien estructurado y


comentado el mantenimiento se complica enormemente.
En ocasiones se renuncia a un mantenimiento de calidad comenzando un proceso
de reparaciones puntuales rpidas. Cada reparacin introduce un poquito de
desorden y dificultad de seguimiento al programa hasta que se llega a un punto en
que el mantenimiento es imposible o demasiado costoso. Es el punto en que se
nos cae la estructura que hemos ido cogiendo con alfileres y en el que nos vemos

obligados a desistir. Es el momento de hacer una reestructuracin total o incluso


de olvidarnos del cdigo de que disponemos y empezar una nueva construccin.
No podemos decir que realizar un mantenimiento de calidad sea lo ms adecuado:
hay ocasiones en que puede interesar un mantenimiento rpido. El programador
habr de valorar varios factores, entre otros el tiempo disponible, las perspectivas
de futuro del programa, etc.
Las casas de software dedican ingentes cantidades de recursos al mantenimiento
de programas. A veces firman contratos con grandes clientes y les ofertan un
mantenimiento adaptado a sus necesidades. En un ao el programa puede
avanzar de versin 6.30, 6.31, 6.32, ... correspondiendo cada una a los esfuerzos
de las casas de desarrollo de software por mantener los programas con la mxima
adaptacin a los requerimientos del cliente.
Muchos programas de gran utilidad se pierden porque ya no existe mantenimiento
para adaptarlos a los avances del hardware y los sistemas operativos.
Una documentacin de mantenimiento completa puede contener:
Portada, nmero de versin, autor.
ndice.
Objeto y aspectos principales del programa.
Diagrama de flujo modular.
Diagrama de flujo para cada mdulo, desarrollado y con enfoque a las variables y
procesos internos.
Cdigo completo del programa.
Explicacin de la gestin de errores del programa.
Esquema o ndice descendente del programa, actualizado.
Explicacin de variables, datos, archivos.
Recomendaciones para el mantenimiento futuro.
Cualquier informacin que se considere relevante para un programador que haya
de trabajar con el programa.

Al igual que en el caso de la documentacin para el usuario, la extensin y


contenido de la documentacin para mantenimiento ser variable en funcin de la
complejidad y caractersticas del programa. Para programas sencillos puede
reducirse a un ttulo, una explicacin breve y unas recomendaciones, mientras que

para programas comerciales puede requerir cientos de pginas repartidas en


varios tomos.

Mantenimiento y actualizaciones
La garanta de que su inversin no caduca
El concepto de mantenimiento de software tiene el propsito de proteger la
inversin del cliente, ya que con el tiempo pueden aparecer nuevos requerimientos
del mercado por cuestiones legislativas, o bien por cambios en la forma de hacer o
gestionar los negocios. En este sentido, las rpidas actualizaciones del software
de Unit4, unidas a su agilidad post-implementacin, contribuyen al xito de la
empresa.
Desde Unit4 entendemos que el cliente necesita tener la tranquilidad de que la
aplicacin que implante evolucionar en consecuencia. As, cuando se habla de
software de Unit4, el concepto de mantenimiento se refiere a conferir al cliente el
derecho a extender la cesin del software estndar cuya licencia de uso adquiri
en su da a un nivel de versin determinado, para tener derecho a:

Recibir las correcciones de errores y problemas que se detecten en la


versin del software por la que se ha adquirido la licencia de uso. En
ocasiones, los errores se ven corregidos en forma de nueva versin del
software.

El acceso a las mejoras funcionales y tecnolgicas que se realicen en la


aplicacin Unit4. En este caso, los rpidos upgrades (con el menor coste de
propiedad del mercado) permiten que su empresa se adapte con facilidad a
los cambios futuros que se produzcan a nivel funcional, legal y tecnolgico.

Anda mungkin juga menyukai