Está en la página 1de 9

Universidad Tecnolgica de Panam

Prof. Marlina Sanchez

Desarrollo de Software I

Saln: 1-IL-705

Investigacin #1 Algoritmos y UML

Estudiante: Felix Perez

Ced: 4-757-1073

04/02/2012

ndice
1. Pagina de Presentacin
2. ndice
3. Contenido Introduccin y Algoritmos
4. Contenido Continuacin Algoritmos y UML
5. Contenido Continuacin UML
6. Contenido Continuacin UML Diagrama Use-Case y de Clases
7. Contenido Continuacin UML Diagrama de Secuencia, Estado y Actividad
8. Contenido Continuacin UML Diagrama de Componentes y de Despliegue - Conclusin
9. Bibliografa

Hoy en da un programador tiene las mayoras de las herramientas que necesita para hacer sus
propias creaciones. Dos de estas herramientas son los algoritmos y el estandardizado UML. Son dos
aspectos muy importantes de la programacin que un programador debe entender y utilizar. Pero para
poder utilizar estas dos herramientas es necesario saber que son y como se usan.
Algoritmos
La palabra algoritmo se usa a diario, y no le dan importancia a que es ni que tan antiguo es el
mtodo. La palabra algoritmo proviene de el cientfico, astrnomo y matemtico Persa Abdullah
Muhammad bin Musa al-Khwarizmi, se le considera tambin el padre del lgebra. Su nombre fue
responsable indirectamente de producir el termino algoritmo, ya que cuando se tradujo el nombre alKhwarizmi a Latn este se escriba Algorithmi. De aqu surge el nombre algoritmos, pero los
fundamentos de que son y como funcionan venan de mucho antes. El primer algoritmo en historia
escrita fue hecho por lo Babilonios para sacar una raz. Pero los Babilonios tenan una matemtica muy
avanzada, incluso mas avanzada que la de los egipcios, ellos podan extraer un raz cuadrtica y cubica,
trabajaban con los conceptos de Pitagora, 1200 aos antes de Pitagora, tenia, el conocimiento de pi,
podan solucionar cuadrticas y polinomiales y incluso lidiaban con mediciones circulares. La
matemtica de los babilonios se basaba mucho en la lgebra y menos en la geometra comparado con
otras matemticas de esos tiempos. Los babilonios utilizaban un sistema de 59 smbolos cuneiformes
que utilizaban para representar a todos los nmeros
Hay que comenzar con definir que es un algoritmo y como funciona. Un algoritmo es una lista
bien definida, finita y ordenada de operaciones que permite hallar una solucin. Un algoritmo requiere
un inicio y una entrada, y procesando los pasos se llega a un final y una solucin al problema. Los
algoritmos se usan en todos los aspectos de nuestras vidas, los encontramos en los manuales de usuario,
pasos finitos en orden a seguir, los encontramos en las metodologas de tramites oficiales, pero para el
uso de un programador las operaciones y los pasos son procesados por una computadora. Los
algoritmos deben tener unas caractersticas necesarias estas son:
Un algoritmo debe ser preciso y debe plasmar el orden de realizacin de cada paso
Un algoritmo debe estar definido, si un algoritmo se corre dos veces, con los mismos valores de
entrada este debe surtir la misma respuesta. Sin ambigedad, cada paso del algoritmo debe
indicar la accin a realizar sin criterios de interpretacin.
Tiene pasos finitos, con un principio y un final. Si se sigue el algoritmo en algn momento este

debe acabar.
Siempre debe mostrar los resultados, no solo de manera impresa en la pantalla, pero tambin los
pasos que se tomaron para obtener esta respuesta y las consecuencias que causan. Con esto nos
referimos que si tiene algn resultado que no se puede imprimir en la pantalla que muestre los
resultados pero tambin cualquier medio o canal por el cual es posible apreciar los efectos de
las acciones del algoritmo.
Si no se tiene una solucin con los datos de entrada usados despus de el procesamiento de los
pasos, que indique un error o una falta de respuesta.
Antes de que un algoritmo se exprese en cdigo, hay diferentes maneras de visualizarlo para
poder trabajar en los conceptos matemticos o selectivos que se necesitan para construir el algoritmo en
cdigo. Hay tres medios para expresar un algoritmo:
1. Descripcin de alto nivel: Se establece el problema y se elije un mtodo matemtico para
solucionarlo, en este nivel se explica la solucin de manera verbal o grfica.
2. Pseudocdigo: El pseudocdigo es una manera de expresar el problema otorgndole a los pasos
sus determinadas funciones matemticas, y un vistazo claro a como funciona el cdigo que se
va a crear sin involucrar todos los detalles irrelevantes.
3. Implementacin: Aqu el cdigo en el lenguaje simblico escogido es terminado y es mostrado
con los resultados que este provee. Este puede actuar de manera independiente o como la
mayora puede ser parte de un programa mayor.
UML
Como mencione en la introduccin hay una segunda herramienta que fue desarrollada y
estandarizada para el desarrollo de cdigo con orientacin a objeto. Esta herramienta es la UML en sus
siglas en ingles esto significa (Unified Modeling Language) Lenguaje Unificado de Modelado, es un
lenguaje que permite modelar y describir mtodos o procesos. Este permite definir un sistema, para
detallar los artefactos en el sistema y para documentar y construir. Es un detallado de el sistema a
construir. El lenguaje unificado de modelado no se puede comparar con la realidad de el cdigo, UML
no es programacin, es una visualizacin, es un diagrama de la realidad de lo que va a ser el programa,
los requerimientos y como va a estar estructurado. UML es un lenguaje para hacer modelos y es
independiente de los mtodos de anlisis y diseo. Un mtodo es una manera explcita de estructurar el
pensamiento y las acciones de cada individuo. Adems, el mtodo le dice al usuario qu hacer, cmo
hacerlo, cundo hacerlo y por qu hacerlo

La historia de UML es variada y debe su implementacin y estandarizacin a la creciente


popularidad de la programacin en orientacin a objeto en la dcada de los 90. Existan varios mtodos
en esos tiempos para implementar un programa en orientacin a objeto los dos mtodos provenan de la
misma compaa esta era Rational Software Corporation, exista el OMT (Object Modeling Technique)
de Rumbaugh que era en el momento el mejor para el anlisis orientado a objeto y despus se
desarrollo el Mtodo Booch creado por Grady Booch, el mtodo de Booch siendo mejor para el
desarrollo orientado a objeto. A Booch y a Rumbaugh se les uni un tercer compatriota, despus que su
compaa fue comprada por Rational Software Ivar Jacobson, se uni al desarrollo. Bajo la direccin
tcnica de estos tres sujetos se comenz el desarrollo de un lenguaje unificado, formaron una
asociacin llamada UML partners y en Enero de 1997 el borrador de la especificacin UML 1.0 de
UML Partners fue propuesto a la OMG(Object Management Group).
Beneficios de usar UML:
Mejores tiempos totales de desarrollo (de 50 % o ms).

Modelar sistemas (y no slo de software) utilizando conceptos orientados a objetos.

Establecer conceptos y artefactos ejecutables.

Encaminar el desarrollo del escalamiento en sistemas complejos de misin crtica.

Crear un lenguaje de modelado utilizado tanto por humanos como por mquinas.

Mejor soporte a la planificacin y al control de proyectos.

Alta reutilizacin y minimizacin de costos.

Deja el derecho a crear las herramientas necesarias para implementar semnticas y componentes
necesarios para mejorar el lenguaje.

Quejas hacia el estndar UML:

No tiene semntica precisa, esto permite que la interpretacin de el lenguaje UML no sea
objetiva.

Faltan las semnticas para identificar archivos o programas que corren en servidores que corren
continuamente y que son compartidos entre diferentes instancias.
Muchas cosas son creadas por compaas, y el problema es que estas siempre o patentan o

limitan el uso de ciertas herramientas propietarias afuera de la misma compaa. Hoy en da los
estndares reales de como se realizan las paginas web (Consorcio WWW), es un estndar porque este
se aleja de todas las tecnologas que estn patentadas y nadamas usa tecnologas que estn abiertas al

publica, y estn libres para usar por cualquier programador. Esto fue el empuje de UML, cada uno de
las personas que estaba en el proyecto original Booch, Rumbaugh y Jacobson, cada uno tenia proyectos
que competan uno con el otro (OMT, OOSE, y Booch) esto crea competencia pero a la vez se separan
los conceptos y hay una pelea en el mercado sobre cual estndar usar. Cuando estos tres programadores
se juntaron y crearon un estndar que fue aceptado por la OMT, este es aceptado porque es un estndar
abierto, y es un estndar que no esta limitado a un lenguaje de programacin. Hay que explicar que
UML es un lenguaje y no una metodologa, se pueden confundir como no es un lenguaje de
programacin explicito, pero si un lenguaje, tiene estndares y maneras que se deben usar las
herramientas y como se deben hacer los diagramas. Al igual tambin tiene semntica nica que es
necesario usarla para usar las herramientas correctamente y se pueda entender de una manera universal.
Hay siete tipos de diagramas que se usan:
Diagrama Use-Case:
Este diagrama se usa para
ayudar a los programadores
visualizar

las

necesidades

funcionales de el programa. En
un

diagrama

muestran

los

use-case,

se

humanos

encargados (actores), los casos,


y las relaciones entre un caso y
otro caso.

Diagrama de Clases:
En un diagrama de clases se ensea como las diferentes
entidades se asocian una con la otra. Este ensea la estructura
esttica de un sistema. Ensea las clases lgicas en un sistema
y como es su jerarqua.

Diagrama de Secuencia:
Estos ensean un flujo detallado
para un caso especifico o parte de
un caso especifico. Se explican
por si solos, ensean los lazos
entre los diferentes objetos en
secuencia y muestra en gran
detalle los lazos a diferentes
niveles con diferentes objetos.

Diagrama de Estado:
Las clases en la programacion a
objeto tienen diferentes estados en
la que pueden estar. Un diagrama
de estado se realiza para las clases
interesantes, esto significa que
para una clase de le crea un
diagrama de estado si esta tiene,
tres o mas estados durante la
actividad de el sistema.

Diagrama de Actividad:
Con un diagrama de actividad se ensean el
flujo de el proceso de control entre dos o
mas objetos mientras se procesa una
actividad. Un diagrama de actividad como
su nombre lo sugiere ensea los pasos y el
flujo de los procesos mientras que el
programa esta corriendo.

Diagrama de Componentes:
Un

diagrama

de

componentes

explica y une los lazos entre las


dependencias que el programa tiene
sobre

los

recursos

de

otros

componentes de el programa.

Diagrama de Despliegue:
En

un

diagrama

de

despliegue ensea como


un sistema va a ser
desplegado de manera
fsica

(hardware).

propsito
donde

es

los

componentes

El

ensear
diferentes
de

el

sistema sern establecidos y como se comunicaran unos con los otros. Como este diagrama
modela el uso fsico de un programa, este diagrama recibe mucho uso de el equipo
produccin.

Al principio mencione como estas dos herramientas son muy bsicas para cualquier
programador, y con la informacin que he podido recopilar nos muestra que esto es verdad. El lenguaje
UML es una estructura en la cual cualquier programador puede poner las bases de sus programas
orientado a objeto, y esto lo ayuda a mejorar muchos aspectos de sus creaciones. Y los algoritmos, ya
en uso mas de 6000 aos siguen siendo de gran utilidad mostrando paso por paso, lo que se necesita
para elaborar una actividad o encontrar un problema de manera mecnica. Son dos herramientas que
siguen brindando grandes frutos en la programacin y son los fundamentos para muchos programas ya
en uso,

Bibliografa
http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml
http://ayura.udea.edu.co/~jlsanche/que%20es%20un%20algoritmo.htm
http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php
http://mx.answers.yahoo.com/question/index?qid=20090522102609AAVjnYz
http://en.wikipedia.org/wiki/Algorithm
http://www.ibm.com/developerworks/rational/library/769c.html

También podría gustarte