Este material es propiedad de la Corporacin Universitaria Remington (CUR), para los estudiantes de la CUR en todo el pas.
2011
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 5 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
CRDITOS
El mdulo de estudio de la asignatura Introduccin al Desarrollo del Software es propiedad de la Corporacin Universitaria Remington. Las imgenes fueron tomadas de diferentes fuentes que se relacionan en los derechos de autor y las citas en la bibliografa. El contenido del mdulo est protegido por las leyes de derechos de autor que rigen al pas.
Este material tiene fines educativos y no puede usarse con propsitos econmicos o comerciales.
AUTOR Csar Augusto Jaramillo Henao Tcnico en Programacin de Computadores Corporacin universitaria Remington Tcnico Especializacin en Redes de Datos Corporacin universitaria Remingto1994 Tecnlogo en Sistemas Corporacin Universitaria Remington1997 Laboral Universidad de Antioquia Digitador1994 Convenido UdeA Municipio de MedellnDigitador1995 Corporacin Universitaria Remington Docente1996 Cesar.jaramillo@remington.edu.co
Nota: el autor certific (de manera verbal o escrita) No haber incurrido en fraude cientfico, plagio o vicios de autora; en caso contrario eximi de toda responsabilidad a la Corporacin Universitaria Remington, y se declar como el nico responsable.
RESPONSABLES Director de la Escuela de Ciencias Bsicas e Ingeniera Dr. Mauricio Seplveda
Director Pedaggico Octavio Toro Chica dirpedagogica.director@remington.edu.co Coordinadora de Medios y Mediaciones Anglica Ricaurte Avendao mediaciones.coordinador01@remington.edu.co
GRUPO DE APOYO Personal de la Unidad de Medios y Mediaciones EDICIN Y MONTAJE Primera versin. Febrero de 2011. Derechos Reservados
Esta obra es publicada bajo la licencia CreativeCommons. Reconocimiento-No Comercial-Compartir Igual 2.5 Colombia. Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 6 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
TABLA DE CONTENIDO
1. MAPA DEL MDULO ...................................................................................................... 7 2. UNIDAD 1 EVOLUCIN DEL PC Y SISTEMAS NUMRICOS Y DE ALMACENAMIENTO .......... 8 2.1. Un poco de historia en la evolucin del PC ............................................................................. 8 2.2. Medidas de Almacenamiento y Conversiones ...................................................................... 10 2.3. Sistemas numricos y Conversiones ..................................................................................... 14 2.3.1. Conversin ............................................................................................................................. 15 2.3.2. Actividad ................................................................................................................................ 21 3. UNIDAD 2 ALGORITMIA Y HERRAMIENTAS LDICAS ..................................................... 22 3.1. Conceptos bsicos de algoritmia ........................................................................................... 22 3.2. Ejercicios Ldicos ................................................................................................................... 24 3.2.1. Kakuro ................................................................................................................................... 40 3.2.2. Tangram ................................................................................................................................ 45 3.2.3. Hanoi ..................................................................................................................................... 51 3.2.4. Ejercicios por temas .............................................................................................................. 58 3.2.5. Actividad ................................................................................................................................ 60 4. UNIDAD 3 TIPOS DE PROGRAMACIN E INTRODUCCIN AL UML .................................. 61 4.1. Tcnicas de desarrollo ........................................................................................................... 61 4.1.1. Orientados Procedimientos: ................................................................................................. 61 4.1.2. Orientados a Objetos: ........................................................................................................... 66 4.1.3. Orientados a Aspectos: ......................................................................................................... 74 4.2. Introduccin al UML .............................................................................................................. 75 4.3. Relacin con otros temas ...................................................................................................... 84 4.4. Fuentes .................................................................................................................................. 85
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 7 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
1. MAPA DEL MDULO
UNIDAD 1 Comprender procesos conceptuales y prcticos que fortalezcan los conceptos propuestos de una forma clara y precisa. UNIDAD 2 El manejo de herramientas ldicas promover el manejo dinmico y practico de los procesos, haciendo de los conceptos ms receptivos y prcticos dentro de reprogramacin UNIDAD 3 Proporcionar herramientas de anlisis, recursividad, casos de uso comn, mtodos de trabajo, nos lleva a un tema conceptual que afianza los conocimientos y permite la exploracin de otros INTRODUCCIN AL DESARROLLO DEL SOFTWARE
Como propsito principal del rea, se tiene el complemento de temas relacionados con reas lgicas, lenguajes de programacin y de toma de decisin, dando una visin global a todos los puntos principales de la carrera, orientado su propsito, alcances y logros durante los prximos semestres que dure esta.
OBJETIVO GENERAL
Conocer los detalles pormenorizados del mundo del desarrollo del software, ingresando en detalles que permitan un conocimiento y unas bases fuentes que nos den la visin de uso, el alcance y las limitantes del mundo del desarrollo, su potencialidad y su aplicacin en la sociedad.
OBJETIVOS ESPECFICOS Unidad I Conocer las diferentes etapas de la evolucin del PC, los grandes cambios sufridos a travs de la historia, el aporte a la sociedad y su uso cotidiano, adems de ver los diferentes sistemas numricos y de almacenamiento con sus principales casos de uso en conversin de estos, teniendo presente su aplicabilidad. Unidad II Dar a conocer el arte de la algoritmia, transmitido como ciencia de propsitos lgicos, que permiten el uso de herramientas que nos determinen el modo de proceso de la informacin en el PC, sus condiciones ms comunes y los propsitos de recursividad en la utilizacin de opciones ldicas que dentro de un carcter tradicional apliquemos como mtodo de ayuda y fortalecimiento de los conceptos propios y de la carrera. Unidad III Desarrollar habilidades propias del desarrollo del software partiendo de los diferentes mtodos utilizados en los lenguajes de programacin, determinando los procesos ms ptimos de cada uno de ellos, sus caractersticas ms fuertes, la actualidad y el futuro de los lenguajes, complementado con metodologa nueva como es el Lenguaje de Mdulos Unificados que se ha convertido en un estndar en la programacin mundial.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 8 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
2. UNIDAD 1 EVOLUCIN DEL PC Y SISTEMAS NUMRICOS Y DE ALMACENAMIENTO
OBJETIVO GENERAL
Conocer las diferentes etapas de la evolucin del PC, los grandes cambios sufridos a travs de la historia, el aporte a la sociedad y su uso cotidiano, adems de ver los diferentes sistemas numricos y de almacenamiento con sus principales casos de uso en conversin de estos, teniendo presente su aplicabilidad.
OBJETIVOS ESPECFICOS
Conocer un poco de historia del PC, en sus cambios ms significativos Establecer los tipos de almacenamiento, con sus respectivos procesos de conversin Determinar cules son los sistemas numricos en los que el pc descarga su modo de operacin de los datos y las direcciones de ubicacin de estas.
Prueba inicial
Que es un sistema? Que es sistematizar?
2.1. Un poco de historia en la evolucin del PC
La historia de los sistemas computacionales se remonta los aos 40s, durante la segunda guerra mundial, no sin antes mencionar que estos procesos se venan realizando aos atrs, es en esta poca donde se presentan los grandes avances en esta rea, con sistemas de cmputo como el Colossus, y su funcin inicial era decodificar mensajes de radio cifrados de los alemanes, en la misma dcada en los Estados Unidos un grupo de cientficos desarrollo un sistema calculador e integrador numrico que se bautiz como el ENIAC, este fue uno de los primeros sistemas ms populares, pese a su tamao y limitantes es considerado por muchos como el inicio de este tipo de mquinas.
En los aos 50s, aparecen los transistores, que eran componentes ms pequeos, ms rpidos y verstiles que sus antecesores, los tubos al vaco, estos permitan uso de menor energa y su vida Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 9 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
til era mucho ms larga que los tubos, para este entonces se tom el nombre de ordenador o computadoras de segunda general.
A principios de los aos 60s, aparecen los circuitos integrados, esto facilito la fabricacin de transistores y el espacio, y el valor era mucho ms asequible para las industrias que los requeran, ms adelante los microprocesadores aparecen en la dcada de 1970, esto ahorro mucho ms los costos y la fabricacin de componentes y equipos, aunque su costo era an elevado el tamao era considerablemente ms pequeo se sus antecesores.
En 1964, aparece por primera vez el termino PC por sus siglas de Computador Personal), y se obtuvo la primera patente con este nombre para identificar este tipo de dispositivos.
En la dcada del 80, es donde se dispara el concepto de PC en el mercado, cuando IBM, y su competidor ms cercano Apple, crean de manera muy similar equipos que pueden ser transportados y manejados por una persona desde su hogar, en este momento Microsoft, ya ha prestado a IBM el sistema Operativo D.O.S, que se promueve y se populariza en este tipo de equipos electrnicos.
Estos dispositivos tienen un crecimiento constante hasta 1995, cuando Microsoft lanza al mercado el sistema operativo Windows 95, y se tiene un cambio en todos los aspectos informativos, haciendo que sean ms asequibles, ms econmicos, las livianos y de mayor facilidad de uso, tanto en tareas de oficina, juegos, herramientas de comunicacin, la propagacin de internet, la comuniones entre usuario de distintas partes del mundo, este crecimiento ha sido constante durante los ltimos aos y a ha permitido que en cambio en la informtica sea muy drstico en comparacin con sus aos previos.
Posterior a este gran lanzamiento aparecen otros sistemas operativos con mayor o menor aceptacin como fueron Windows 98, Windows Milenium Edition que no tuvo xito en el consumidor, luego aparece Windows 2000, Windows XP, Windows 2003, Windows vista con muchas crticas por su desempeo, aparece Windows 2008 y Windows 7. Todos estos han sido parte de la evolucin del sistema operativo por parte de Microsoft, sin descuidar su rival de los aos 70s y 80s, Apple, que tiene un sistema operativo grafico desde 1984, cosa que Microsoft alcanzo en 1995, esta empresa que ha evolucionado en mercado con sus productos exclusivo sigue a la vanguardia de creaciones novedosa, como son en los ltimo aos el IPod, IPhone, Ipad, y otros tantos que han hecho del mercado un gran fortn en la evolucin de dispositivos electrnicos.
Los cambios ms significativos que se han presentado en los ltimos aos han sido sin lugar a duda, el acceso a internet, las redes sociales, la mayor cercana con dispositivos, al punto que el telfono celular hace parte de esta tecnologa por su uso y alcance, la mezcla de componentes Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 10 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
como telfono, cmara fotogrfica, cmara de grabacin de videos, agenda, navegacin a internet, chat y otros muchos recursos que han hecho que sea casi que indispensable en su portabilidad.
Otro aspecto destacado ha sido sin duda, el software, esta componente lgico hace parte fundamental del manejo del PC, y ha tenido grandes retos partiendo de los sistemas operativos en los que hemos mencionado solo por parte de Microsoft, hay que tener presente que existen muchas ms fabricantes y variedad de estos, dentro los que podemos mencionar el Macintosh, sistema operativa de Apple, Linux, que hace parte de una gran comunidad de software libre, Solaris, creado especialmente para grandes dispositivos de industria como el internet, creado por Sun Microsistema,, pero adems existe software ofimtico, como el Office, el Corel Word Pro, el Lotus, y de ah de depende una gran cantidad de utilidades partiendo de juegos, herramientas de comunicacin, de reparacin , de recuperacin, cada vez ms encontramos herramientas de prevencin y seguridad, entretenimiento, lenguajes de programacin y software a la medida de las empresas segn su necesidad.
2.2. Medidas de Almacenamiento y Conversiones
Durante toda la historia del PC, ha existido la necesidad de almacenar la informacin procesada en el, en algn momento esta informacin era voltil, posteriormente se presentaron las tarjetas perforadas, los discos duros, los discos flexibles, las unidades pticas y las memorias porttiles, todas ellas de gran ayuda desde el inicio de los computares hasta nuestros das, y encontramos una variedad creciente de estos dentro de los cuales podemos destacar.
Bit Unidad mnima de procesamiento conformada por un impulso que puede ser 1 o 0
Byte Unidad mnima de almacenamiento, representa un carcter y se conforma por 8 bits, una secuencia de 1 o 0, ejemplo 01000001
Kilo byte (KB) Es equivalente a 1024 bytes o caracteres
Mega byte (MB) Es equivalente a 1024 KB
Giga byte (GB) Es equivalente a 1024 MB Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 11 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Tera byte Es equivalente a 1024 GB
Peta byte Es equivalente a 1024 TB
Exa byte Es equivalente a 1024 PB
Zetta byte Es equivalente a 1024 EB
Yotta byte Es equivalente a 1024 ZB
Estas son las medidas de uso de almacenamiento ms comunes, dentro del PC, o computador personal existen limitantes con estas medidas, pero en otros sectores de la industria es muy comn hablar de todas estas, a nivel de PC, se pueden mencionar dispositivos como la memoria RAM, que puede almacenar hasta GB, discos duros que puede almacenar hasta TB, unidades pticas pueden almacenar desde MB hasta GB, al igual que las memorias porttiles.
La Aplicacin de estas unidades es muy variada, en este curso se presentaran ocasiones de conversin entre diferentes tipos de ellas.
Convertir Segn la necesidad del usuario de almacenar datos en distintos dispositivos se deben tener presente que pasar de una unidad pequea a una ms grande implica divisin(es) para obtener el resultado esperado, si por el contrario se desea convertir de valores grandes a pequeos estos se multiplican por la unidad en comn que es presenta que es 1024.
Ejemplo Pasar 24 GB a KB
El paso de esta unidad equivale que de una unidad grande como son los GB pasamos a una pequea como son los KB, esto implica que existe una multiplicacin de valores
24 x 1024 = 24.576 MB, como se nos indica que es KB debemos de multiplicar nuevamente el valor para obtener el resultado esperado. Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 12 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
24.576 MB x 1024 = 25.165.824 KB Este sera el resultado esperado para este punto en particular
Ejemplo
Pasar 125.908.854.098 KB a TB En este caso estamos pasando de una unidad pequea como es el KB a una unidad grande como es el TB, esto implica divisiones para obtener el resultado esperado
125.908.854.098 KB / 1024 = 122.957.865, 33 MB
120.076,04 MB / 1024 = 117, 26 GB
117, 26 GB / 1024 = 0.11 TB
Estos son los tipos de conversin ms comunes pero se presenta la necesidad de convertir segn el medio de almacenamiento que se requiera
Ejemplo
Se desea almacenar 1.2 GB en unidades pticas de 210 MB, cuntas de estas unidades se requieren.
1.2 GB x 1024 = 1.228.8 MB
1.228.8 / 210 = 5.85 dispositivos pticos
Respuesta 6 dispositivos pticos de 210 MB
Ejemplo
204 CDs de 700 MB se desean almacenar en DVDs de 4.7 GB, cuntos de estos DVDs se requieren.
204 x 700 = 142.800 MB
142.800 MB / 1024 = 139.45
139.45 / 4.7 = 29.67 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 13 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Respuesta 30 DVDs de 4.7 GB
Adems de este tipo de conversiones es muy comn encontrarnos que deseamos descargar informacin de la web, y requerimos conocer sea tiempo, tamao del archivo o velocidad de descarga, esto implican clculos similares a los anteriores.
Ejemplo
Se desea descargar un archivo de 5 GB a una velocidad Constante de 103 KB/s, indique el tiempo en horas de la descarga de dicho archivo
Para este tipo de casos encontraremos unas unidades comunes para cualquier tipo de operacin similar, si hablamos de tamao este debe ser especificado en KB y si se mencionan tiempos o duracin esta se expresa en Segundos
5 GB x 1024 = 5.120 MB
5.120 MB x 1024 = 5.242.880 KB
Teniendo el valor del archivo en KB, se procede a determinar los tiempo de descarga, partiendo de que existe una velocidad Constante de 103 KB/s
5.242.880 / 103 = 50.901 Segundos se tarda este archivo en descargar
50.901 / 60 = 848 Minutos
848 / 60 = 14.13 Horas es el tiempo de descarga del archivo de 5 GB
Ejemplo
Se descarga un archivo en 14 horas, 32 minutos 56 segundos, a una velocidad Constante de 154 KB/s, cual es el peso del archivo descargado en GB.
Como las unidades en comn son KB y Segundos, para este caso debemos hallar los segundos que tarda la descarga.
14 x 60 = 840 Minutos
840 x 60 = 50.400 Segundos Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 14 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
32 x 60 = 1.920 Segundos
50.400 + 1.920 + 56 = 52.376 Segundos en tiempo total
52.376 x 154 = 8.065.904 KB
8.065.904 / 1024 = 7.876.85 MB
7.876.85 MB / 1024 = 7.69 GB
Ejemplo
Se descarga un archivo de 240 MB, en 1 hora, 27 minutos, 23 segundos, cual fue la velocidad promedio de descarga de este archivo.
240 MB x 1024 = 245.760 KB
1 x 60 = 60 Minutos
60 x 60 = 3600 Segundos 27 x 60 = 1.620 Segundos
3600 + 1620 + 23 = 5.243 Segundos es el tiempo de descarga
245.760 / 5243 = 46.87 KB/s
2.3. Sistemas numricos y Conversiones
Dentro de la informtica es muy comn escuchar el tema de los sistemas numricos como herramienta de funcionamiento del PC, tngase en presente que todo lo que interpretan los sistemas de cmputo son nmeros, independientemente que esta informacin este representada en imgenes, videos, msica, texto, juegos, o cualquier otro tema, aunque existen varias capas para esto son 4 los sistemas ms comunes dentro del manejo computacional.
Binario Sistema con base 2, conformado por 1 y 0
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 15 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Octal Sistema con base 8, conformado por valores que van de 0 a 7
Decimal Sistema con base 10, conformado por valores que van de 0 a 9
Hexadecimal Sistema con base 16, conformado por valores que van de 0 a 9 y de A a F
Si tomamos como ejemplo casos comunes como representar el smbolo @ mediante sistema numrico, en muchas ocasiones encontramos que para suplir este carcter dentro del teclado utilizamos Alt + 64 = @, este nmero 64 pertenece a un grupo de caracteres denomina ASCII, que comprende los 256 caracteres especificados para el manejo de informacin del PC, estos van del 0 al 255 y representan caracteres en mayscula y minscula, nmeros y smbolos.
Pero este valor 64 no es reconocido internamente por el PC, que para ser interpretado adecuadamente deber convertirse en binario para su uso correcto.
El sistema binario es una secuencia de nmeros que contiene unos y ceros, as; 1000000, todos los valores que se manipulan internamente para ser interpretados por el PC sufren esta transformacin
2.3.1. Conversin
Decimal a Binario
Para pasar decimales a binarios, se realizan divisin sucesivas por 2, sin tener en cuenta los decimales hasta que el divisor sea 0, luego se toman los resultados del ltimo al primero formando una secuencia de valores de izquierda a derecha.
Ejemplo Convertir el valor 89 de decimal a binario
Observemos que en todos los resultados de residuo esta conformado por unos por ceros, teniendo esta operacin terminada procedemos a ubicar los valores 1011001 y obtenemos esta cifra.
Binario Decimal Para convertir valores de binario a decimal, existen varios mtodos, uno de ellos es elevar a base 2, y tener presente que solo se suman los valores que contengan en binario un uno, esta base inicia con el valor mas a la derecha de la seria y termina en el mas a la izquierda de este.
2 6 2 5 2 4 2 3 2 2 2 1 2 0
1 0 1 1 0 0 1
64 32 16 8 4 2 1
En la primera fila obtenemos la base 2 elevado al valor de 0 a la N, en la segunda fila los valores referentes al binario que se desea convertir, en la cuarta fila, los valores equivalentes a la base 2 a la N, para obtener el valor real oculto dentro de este binario realizamos la suma de los valores que contienen 1 en el binario
1 + 8 + 16 + 64 = 89
Conversin a sistema Octal
Para las conversiones de los 2 sistemas numricos faltantes existen mltiples formas, para un mayor aprovechamiento sin hacer uso de procesos complejos se utilizara el mtodo binario como base de los dems sistemas mencionados
Decimal a Octal Pasar 294 de decimal a octal Para esta conversin se realizara de decimal a binario y luego de este a octal
Para realizar la conversin del valor binario, se toman grupos de 3 cifras, de derecha a izquierda y cada bloque se reemplaza con la tabla antes creada
100 100 110
4 4 6
Este resultado es 446, indicando que esta es la equivalencia de 294 del decimal
Octal a Decimal
Para un valor octal tngase presente que solo se compone con cifras entre 0 y 7
Octal 4567
Para la conversin de este a decimal, primero se convierte a binario, para esto tomamos cada cifra del nmero octal y se reemplaza con la tabla antes mencionada.
4 5 6 7
100 101 110 111 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 18 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
El resultado de este valor es 100101110111
Teniendo este valor convertido procedemos a pasarlo a decimal
Hexadecimal a Decimal 2F4A Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 19 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Dentro del manejo hexadecimal, se tienen nmeros y letras, es muy comn encontrar valores como el anterior 2F4A, hay que tener presente que valores como el 10 se representa con la A, el 11 con la B y as hasta el nmero 15 que se representa con la F.
Para pasar este valor de hexadecimal a decimal, primero se pasa a binario y luego al valor solicitado, esta conversin se realiza seleccionando valor por valor y reemplazando con la tabla antes vista.
2 F 4 A 0010 1111 0100 1010 Valor en binario es 0010111101001010
Si se desea convertir este valor binario a decimal se procede de la manera tradicional de elevar 2 a la n. 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0
Resultado de pasar FF9 de hexadecimal a Octal es 7771
Pasar de Octal a Hexadecimal 3541 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 20 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
3 5 4 1 011 101 100 001
Resultado en binario 011101100001
Para pasar de binario a hexadecimal, selecciona grupos de cuatro dgitos y los reemplaza con la tabla.
0111 0110 00001 7 A 1
Resultado de pasar 3541 de octal a hexadecimal es 7 A 1
Ejercicios por temas
Determinar la etapa en la que aparecen los primos sistemas tctiles, y los discos de estado solido
Convertir
Pasar el contenido de 14 memorias USB de 32 GB a CDs de 700MB, cuantos se requieren Convertir 4958F de Hexadecimal a Octal, Binario y Decimal
Prueba Final
Se descarga un archivo de 15 GB a velocidad inconstante, determinar el tiempo de descarga en horas Velocidades KB/s
Porcentaje Velocidad 4% 59 15% 104 13% 62 2% 150 7% 93 9% 89 11% 75 8% 110 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 21 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
12% 99 13% 45 6% 61
2.3.2. Actividad Convertir
Bin Oct Dec Hex 11001 11001 11001 11001
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 22 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
3. UNIDAD 2 ALGORITMIA Y HERRAMIENTAS LDICAS
Objetivo General
Dar a conocer el arte de la algoritmia, transmitido como ciencia de propsitos lgicos, que permiten el uso de herramientas que nos determinen el modo de proceso de la informacin en el PC, sus condiciones ms comunes y los propsitos de recursividad en la utilizacin de opciones ldicas que dentro de un carcter tradicional apliquemos como mtodo de ayuda y fortalecimiento de los conceptos propios y de la carrera.
Objetivos especficos
Conocer las caractersticas ms importantes de la algoritmia como herramienta de control, creatividad y recursividad Desarrollar habilidades lgicas, mediante juegos poco tradicionales que ayuden a recrear alternativas propias de la informtica, tales como la creatividad y la bsqueda de alternativas para dar solucin a situaciones problemicas.
Prueba Inicial
Determinar los procesos iniciales ms notorios dentro del desarrollo de software
3.1. Conceptos bsicos de algoritmia
La algoritmia vista desde punto de ciencia que nos propone la lgica que se debe aplicar a diferentes situaciones problemicas computacionales, tiene una serie de etapas bsicas para su desarrollo y complemento para reas afines dentro de la carrera. Toda esta ciencia tiene uno pasos que son y sern fundamentales durante toda la vida profesional del desarrollador.
Planteamiento del problema
Consiste en una conversacin simple, en la que se especifica que se tiene y que se quiere solucionar o mejorar, es quizs la etapa ms importante porque determinamos cuales son las caractersticas del entorno, las entradas de la informacin y los resultados esperados. Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 23 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Anlisis de la propuesta Despus de tener el planteamiento, nos centramos en analizar esta situacin, determinar todos sus pormenores, sus caractersticas, su beneficio, este anlisis nos permitir llegar a conclusiones y realizar posiblemente un nuevo planteamiento ms cercano a la parte computacional y ver diferentes alternativas de solucin.
Desarrollo del problema Cuando se tiene un anlisis muy centrado, y enfocado en una tarea particular, se puede iniciar el proceso de desarrollo o darle solucin a la propuesta inicial, de esta se desprendern algunas caractersticas bsicas dentro de los algoritmos como pueden ser, la informacin que entra, la informacin que se procesa, y la informacin que sale, el desarrollo puede contener mltiples mtodos y mltiples herramientas que permitan hacer un proceso ms dinmico.
Codificacin
Si el problema tiene como condicin sistematizar computacionalmente, este pasa a la codificacin, que no es otra cosa que interpretar el desarrollo anterior y plasmarlo en papel con todas las caractersticas previamente expresadas, esta codificacin ya est interpretada mediante un lenguaje de programacin, que tiene su normas y mtodos de trabajo muy similares a las de el algoritmo creado.
Digitacin
La digitacin es el mtodo de pasar la informacin a un editor de un lenguaje de programacin, donde se buscaran opciones y alternativas prcticas para hacer del problema una forma fcil y gil de operar, esta digitacin se realiza con comando e instrucciones propias que dependen del lenguaje y se interpretara por el PC y mostrar los procesos especficos.
Compilacin
Terminada la digitacin, el paso siguiente es compilar, este es un proceso interno del lenguaje que determina si lo digitado est dentro de las normas y las caractersticas del lenguaje de programacin, esta verificacin se encargara bsicamente de las sintaxis ms no de la lgica del programador.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 24 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Ejecucin
Esta etapa es la que permitir ver el programa funcionando, se realiza en primeras etapas con el fin de ver la lgica funcionando del programa, recuerde que la compilacin solo se encarga de la sintaxis, mas no de lgica, cuando se ha probado la lgica, ingresando, procesando y obteniendo resultados, ya se podr considerar un programa.
Hay que tener presente que esta no es la ltima etapa, existe varios mtodos adicionales que complementan esta tarea, como pueden ser el desarrollo grafico que permitir dar una presentacin, distribucin, color, fondos, tipos de letra, tamaos de esta, etc., y la opcin de validacin que se encargara de control todos los procesos que tengan un ingreso correcto con el fin de determinar un correcto funcionamiento del programa solucionado.
Esta ltima etapa ser fundamental para cualquier tipo de aplicativo desarrollado, pues con el tendremos la certeza de controlar todo lo que el usuario ingrese y que los resultado sean los esperados y no un conjunto de errores que no se tenan presupuestados.
Este conjunto de opciones harn del desarrollo una tarea completa, que con el tiempo y la experiencia se irn depurando y realizando cada da mejores opciones.
3.2. Ejercicios Ldicos
Las herramientas ldicas, tiene por objetivo desarrollar, afianzar, mejorar las condiciones lgicas del individuo, con el fin de tener mejores amas de trabajo cuando esta se enfoque en conceptos computaciones, la relacin de esto es LOGICA, no solo de desarrolla est al frente de un PC, sino que se tiene opciones del comn que permitirn este desarrollo apropiado.
Sudoku Es Sudoku, es un juego que tomo su podero en Japn a principio de los aos 80s, es una matriz de 9 x 9, (el formato ms clsico de este juego), y consiste en una coleccin de 9 filas, 9 columnas, y 9 reas ms pequeas, en las que no se deben de repetir nmero, smbolos o letras, la forma ms tradicional se trabaj con nmeros del 1 al 9, estos no se deben de repetir en ninguna forma en las filas o en las columnas y en los cuadros ms pequeos, tiene por condicin adicional que el resultado es nico, y de ninguna manera se podrn presentar 2 con los mismos nmeros y distinto resultado.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 25 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
En este primer grafico observamos que es un cuadrado de 9 x 9 filas y 9 cuadros enmarcados, si se observa detenidamente aparecen una serie de nmeros que nos darn una gua, de que nmeros falta por ubicar, a mayor cantidad de nmeros en el tablero inicial, ser ms sencillo la bsqueda del resultado definitivo, y al contrario, a medida que este tenga menos nmeros su solucin ser ms compleja.
Para iniciar la solucin de este ejemplo, tendremos que observar detenidamente cada nmero y su comportamiento dentro del tablero.
Como los nmeros no se pueden repetir, observemos en la primera fila esta el 1, pero en la segunda y la tercera no est en ninguna posicin, este no sera un nmero ideal para iniciar. Lo mismo sucede con el nmero 2, el nmero 3, 7, y 9, no seran nmero que permitan la solucin inmediata de estos valores.
Si observamos el nmero 8, este se encuentra en la segunda fila y tercera fila, nos indica que se podra colocar en la primera fila, en el tercer cuadro pequeo, observemos el grafico.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 26 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
El rea en gris, nos indican la posicin donde debera estar el nmero 8, pero existe una dificultad, al existir 2 posibilidades es complejo indicar cul es el correcto, esto nos llevara a que coloquemos un valor en una posicin equivocada, posteriormente tengamos que iniciar nuevamente el juego.
En el segundo grupo de filas, la 4, 5 y 6 sern ahora nuestro nuevo objetivo de trabajo.
Observemos nuevamente que el nmero 1, 2, 4, 6, 7, 8 y 9 tienen un solo valor en las 3 filas, situacin que dificulta su solucin, en numero 5 tiene una situacin similar al primer intento que realizamos.
Iniciamos un nuevo recorrido con las filas 7, 8 y 9, esto nos indica que la solucin de un Sudoku, no tiene un orden especfico en su solucin.
En este ltimo grupo de filas encontramos dificultades con el nmero 2, 4, y 7, pero podramos encontrar una posible solucin en el nmero 5, observemos que el nmero 5 se encuentra en la fila 7, en la fila 8, nos quedara solo la fila 9.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 27 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Esto nos indicara que el nmero 5 se podra ubicar al lado del nmero 6, pero tenemos igualmente 2 posibles ubicaciones, si observamos con cuidado, una de estas columnas est ocupada con el nmero 5 y de esta manera solo nos quedara una posicin por llenar.
Esta es la manera ms apropiada de solucionar este tipo de juegos ldicos, descartando opciones hasta llenar los espacios vacos.
Con el nmero 6 de las filas 8 y 9 podramos realizar la mismo funcin
Obsrvese que el nmero 6 despus de descartar la fila 8 y 9 nos permite una sola ubicacin la fila 7, este es el ideal para el llenado, debe tener presente que la misma funcin se aplica a las columnas.
Observemos el resto de la solucin del ejercicio
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 28 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 6
Nmero 2
Nmero 7
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 29 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 6
Nmero 7
Nmero 7
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 30 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 2
Nmero 8
Nmero 5
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 31 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 8
Nmero 1
Nmero 8
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 32 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 8
Nmero 8
Nmero 6
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 33 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 5
Nmero 7
Observe que al final de la fila 3 falta solamente un nmero, el faltante en este caso en el nmero 1, luego de colocar este queda un faltante en el cuadro pequeo.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 34 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 6
Nmero 7
Nmero 8
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 35 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 1
Nmero 3
Nmero 5
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 36 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 1
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 37 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 3
Nmero 4
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 38 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 2
Nmero 3
Nmero 3
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 39 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nmero 4
Nmero 2
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 40 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Solucin
3.2.1. Kakuro
El kakuro es otro juego de origen Japons, que nos permite desarrollar habilidades numricas, en un proceso similar a un crucigrama, este tiene diferentes tamaos y formas y debe de arrojar un valor que nos pueda ser til tanto en filas y columnas, sus principales condiciones es que solo acepta valores entre el 1 y el 9 sin repetir por bloque de nmeros.
Este es un ejemplo claro de un kakuro
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 41 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Si se observa con detenimiento, encontramos una serie de nmeros, si el numero aparece en la parte inferior del cuadro es que en esa columna debe de sumar ese valor, si el valor aparece a al derecha indica que esa fila debe sumar el valor especificado. Recomendable a la hora de llenar este tipo de procesos, iniciar con nmeros pequeos es el ideal, de modo que no existan muchas alternativas de valores que puedan complicar el desarrollo del ejercicio, ejemplo si tenemos que encontrar 2 valores que sumen 3 solo tendramos dos posibles combinaciones, 1 y 2 o 2 y 1, esto porque dependiendo de la ubicacin puede interferir con otros resultados, si el valor buscar es un 5, ya tenemos mayor nmero de combinaciones, 1 y 4, 2 y 3, 3 y 2, 4 y 1.
Resolvamos estos valores inciales.
En este punto resolvimos todos los que en suma horizontal o vertical debe de dar 3, si vemos en detalle algunos inicial con 1 y otros con 2, es un proceso que se va dando a medida que se tengan ms nmeros. Con estos valores ya podemos colocar algunos que solo tienen 2 opciones. Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 42 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Estos valores ubicados no tenan ms combinaciones segn el orden especificado al inicio, para los dems existe un grado de complejidad ms amplio, ya que tenemos que colocar valores que no interfieran con otros resultados.
En este grafico colocamos la suma de 5, la combinacin que utilizamos es 4 y 1, no se podra la otra 1 y 4 porque en esa misma fila ya exista este valor (observar fila 3, columna 4) Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 43 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
En este grafico anterior, se ubican el 6 y al final el 3, (fila 3, columna 4), el nico orden que tenamos para sumar 16 era este, si observamos el 3 en la columna 3 ya exista.
Al terminar la columna 3, observamos que faltaba un 4 en la fila 4 y un 7 en la penltima fila, y con esto tenemos la suma de 28 que se nos solicitaba. Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 44 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Para la columna 5, fila 6, colocamos un 3 para la suma de 5 que se solicita, era la nica combinacin que tenamos en este caso, porque horizontalmente se solicitaba un 4, y esta solo se puede realizar con 3 y 1 o 1 y 3.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 45 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Nos queda solo una casilla por llenar, horizontalmente se solicita la suma de 18 y verticalmente la suma de 28.
Solucin del Kakuro
3.2.2. Tangram
Tangram es un juego de origen chino, que costa de 7 fichas 5 de ellas triangulos con las que se pretenden realizar una serie de figuras con la condicional de que no deben sobrar fichas, siempre se deben de utilizar las 7, dentro de esto tenemos Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 46 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Esta es su forma inicial, observe las 7 fichas conformando un cuadrado, dentro de las opciones que se tienen se pueden realizar ms de 500 figuras dentro de las que encontramos de forma representativa las siguientes.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 47 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Vamos a darle solucin a una de estas graficas mediante el uso de la herramienta del tangram.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 48 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Este grafico est conformado por las 7 fichas del tangram, debemos de ubicarla de la mejor manera para que tenga la misma forma que la muestra que tenemos.
En este grafico ubicamos uno de los tringulos, para este caso el intermedio en la parte superior.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 49 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Luego colocamos el cuadrado en uno de los extremos del tringulo.
Con esta nueva figura le damos forma al cuello de la figura planteada.
Ubicamos el otro triangulo, en este caso uno de los ms grandes de la figura, iniciamos la construccin del cuerpo. Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 50 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Solucin del ejemplo.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 51 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
De esta manera, utilizando las 7 fichas, podr armar un sinnmero de grficos, que permitirn el desarrollo lgico, creativo y recursivo que se requiere en la parte de programacin.
3.2.3. Hanoi La torre de Hanoi, es una de las ms representativas dentro de los aspectos lgicos por su apoyo a la recursividad, es un juego matemtico que a medida que se ubican ms discos, estos duplican la cantidad de movimientos de la opcin anterior, si esta se inicia con 3 discos, los movimientos mnimos para solucionarla es de 7, pero si se colocan 4 discos su solucin mnima es de 15 movimientos.
Dentro de las normas ms significativas que tiene este juego encontramos que, solo podremos mover ficha a ficha, se debe formar la torre inicial en uno de los postes adiciones que se tienen y nunca debe ir un disco grande sobre uno pequeo.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 52 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Podemos observar que consta de 3 torres, en su mxima expresin consta de 8 discos para un mnimo de movimientos de 255, si este valor se sobrepasa, debemos de intentar hasta disminuir al mximo la cantidad de movimientos, es una herramienta de aporte a la recursividad de los procesos. Recreemos un ejemplo con 4 discos, un mnimo de 15 movimientos.
Movimiento 1
Movimiento 2 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 53 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Movimiento 3
Movimiento 4
Movimiento 5 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 54 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Movimiento 6
Movimiento 7
Movimiento 8 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 55 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Movimiento 9
Movimiento 10
Movimiento 11 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 56 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Movimiento 12
Movimiento 13
Movimiento 14 Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 57 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Movimiento 15 (Solucin)
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 58 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
3.2.4. Ejercicios por temas 3.2.4.1 Desarrollar el siguiente Sudoku
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 59 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
3.2.4.2 Resolver el siguiente Kakuro
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 60 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Prueba Final
Desarrollar el siguiente tangram
3.2.5. Actividad Desarrollar la actividad de la torre de hanoi, hasta completar 8 discos.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 61 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
4. UNIDAD 3 TIPOS DE PROGRAMACIN E INTRODUCCIN AL UML
Objetivo General
Desarrollar habilidades propias del desarrollo del software partiendo de los diferentes mtodos utilizados en los lenguajes de programacin, determinando los procesos ms ptimos de cada uno de ellos, sus caractersticas ms fuertes, la actualidad y el futuro de los lenguajes, complementado con metodologa nueva como es el Lenguaje de Mdulos Unificados que se ha convertido en un estndar en la programacin mundial.
Objetivos especficos
Conocer los diferentes mtodos de programacin, ventajas y desventajas Identificar las caractersticas ms sobresalientes del entorno UML
Prueba Inicial
Que caractersticas lgicas se deben aplicar a una situacin problemica?
4.1. Tcnicas de desarrollo
4.1.1. Orientados Procedimientos:
Con la programacin procedimental realizamos tareas lgicas en un mismo proceso, archivo o ambiente lgico, la invocacin de un procedimiento se utiliza para llamar a los subprocesos, despus estas secuencia son procesada, el flujo de control continua igual despus de la ltima posicin donde la llamada fue realiza.
La llamada de subrutina sirve para relacionar unos programas con otros y permite modular las aplicaciones, partiendo estas en dos o ms secciones llamadas procedimientos, subrutinas, o funciones, segn los casos. Por esta razn los lenguajes de programacin clsica se llaman tambin procedimentales
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 62 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Ejemplo (pascal) program enter10 (input,output); var suma,dato,conta: integer; begin suma:= 0; conta:= 0; while conta < 10 do begin readln (dato); writeln (dato); suma:= suma+dato; conta:= conta+1; end; writeln (' suma de 1o enteros = ', suma); end. 4.1.1.1 Orientados a Eventos:
En la programacin orientada a eventos es el programador quien especifica la secuencia del programa, Aunque en la programacin secuencial puede haber intervencin de procesos externo a l, estas intervenciones ocurrirn cuando el desarrollador lo haya especificado, y no en cualquier momento como puede ser en el caso de la programacin orientada por eventos.
Existen muchos ambientes de trabajo que permiten este tipo de programacin, aunque los ms comunes son los ambientes grficos que permiten una gran variedad de opciones en su programacin, entre ellos podramos mencionar el clic, doble clic, arrastras y soltar, entre otros, estos son eventos y segn su requerimiento se programan los que se necesiten.
Ejemplo (Visual Basic)
Function Bin(n As Double) Dim s As String, i As Integer uu = u(x) 'Print uu For i = 0 To uu s = (n Mod 2) & s t = n / 2 n = Int(t) Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 63 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Next Bin = s End Function
Private Sub a_Change() a = a End Sub
Private Sub Combo1_Change() 'If Combo1 <> "# of bits" Then a = Combo1 End Sub
Private Sub Command1_Click() 'Print a, Combo1 'If Combo1 <> "# of bits" Then a = Combo1 If Not IsNumeric(x) Then Exit Sub
Dim mm As Double Mm = Int(x) e = x - mm Y1 = Bin(mm) Y2 = dec(e, a) Y3 = StrReverse(Y2) y = Y1 & "." & Y3
'y = length(x) End Sub
Function u(d) 'v1 = Int(Log(x) / Log(2)) 'v2 = Log(x) / Log(2) 'If v1 = v2 Then u = v1 'If v1 <> v2 Then u = v1 u = Int(Log(x) / Log(2)) End Function Function dec(q, a) For i = 1 To a w = q * 2 If Int(w) = 1 Then dec = 1 & dec Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 64 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
q = w - 1 End If If Int(w) = 0 Then dec = 0 & dec q = w End If 'Print dec If q = 0 Then 'Print dec Exit For End If Next i 'Print dec End Function Private Sub Form_Load() a = 8 Option1.Enabled = False Option2.Enabled = False Option3.Enabled = False Option7.Enabled = False Option8.Enabled = False Option9.Enabled = False Option10.Enabled = False Option11.Enabled = False Option6.Enabled = False End Sub
Private Sub Option1_Click() a = 8 End Sub
Private Sub Option10_Click() a = 24 End Sub
Private Sub Option11_Click() a = 30 End Sub
Private Sub Option2_Click() Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 65 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 66 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Private Sub Option6_Click() a = 4 End Sub
Private Sub Option7_Click() a = 6 End Sub
Private Sub Option8_Click() a = 12 End Sub
Private Sub Option9_Click() a = 20 End Sub
4.1.2. Orientados a Objetos:
Est basado en varias tcnicas, incluyendo herencia, modularidad, polimorfismo, reutilizacin, hilos y encapsulamiento. Su uso se hizo frecuente en los aos 90s. En la Actualidad existen muchos lenguajes de programacin que integran la orientacin a objetos por su poder y alcance que tiene y sobre todo por su flexibilidad y reutilizacin.
Es una de las tcnicas ms comunes en la actualidad, por su cercana con el mundo cotidiano y su potencia, tiene como virtud principal la reutilizacin del cdigo previamente creado, haciendo que un nuevo aplicativo sea ms fcil de construir por los recursos que se tienen previos, la mayor parte de los lenguajes modernos sean estos mono plataforma o multiplataforma utilizan esta tcnica.
Clase: se encarga de definir las propiedades y comportamiento de un tipo de objeto concreto. La instancia de lectura de estas definiciones y la creacin de unos objetos nuevos a partir de ellas. Herencia: Es la facilidad mediante la cual la clase A comparte en ella cada uno de los atributos y operaciones de B, como si esos atributos, operaciones y procesos se hubieran definidos en la primera clase A. en este caso se pueden usar los mismos mtodos y variables publicas declaradas en la clase B.
Objeto: entidad compuesta por n conjunto de propiedades o atributos y de mtodos, los mismos que a eventos. Es equivalente a los objetos reales del mundo que nos rodea. Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 67 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Mtodo: es la parte lgica que se aplica a la programacin en cuestin, en el desarrollamos todos los procesos que el aplicativo requiere, est asociado a un objeto, pero la ejecucin de este solo se mediante un "mensaje". Un mtodo puede producir un cambio en las propiedades del objeto, o la generacin de un "evento" con un nuevo mensaje para otro objeto del sistema.
Evento: Es un suceso que ocurre en el programa, tal como puede ser un clic, un doble clic etc. El sistema maneja el evento enviando el mensaje adecuado al objeto seleccionado.
Mensaje: es la forma de comunicarse con un objeto, mediante este se ordena que ejecute uno de sus mtodos con parmetros asociados al evento que lo gener.
Propiedad o atributo: contiene un tipo de datos relacionado con un objeto, cuyo valor puede ser alterado por la ejecucin de algn mtodo.
Caractersticas de la Programacin Orientada a Objetos
Abstraccin: Especifica las caractersticas fundamentales de un objeto, donde se captura su comportamiento. Cada objeto que posee el programa sirve como modelo abstracto, adems de poder informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas.
Encapsulamiento: Es la caracterstica de reunir a todos los elementos que pueden pertenecer a una misma entidad, al mismo nivel de abstraccin. Se puede definir tambin como el principio de ocultacin, principalmente porque se suelen emplear conjuntamente.
Polimorfismo: Se cataloga como un comportamiento diferente, asociado a objetos distintos, pueden tener el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. Esto indica que las referencias y las colecciones de objetos pueden tener objetos de diferentes tipos. Recoleccin de basura: la Recoleccin de basura o Garbage Collector es la tcnica por la cual el ambiente de Objetos se encarga de destruir automticamente sus clases, objetos o mtodos, este tipo de proceso anteriormente se conoca como constructor. Esto significa que el desarrollador no debe preocuparse por la asignacin o liberacin de memoria.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 68 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
public class DiaNac extends Applet implements ActionListener {
public DiaNac() { cumple = new Label("Para Su Cumpleaos Faltan ?"); zodiaco = new Label("Su Signo Zodiacal"); labelReturnedDay = new Label("Fecha de Nacimiento"); textDay = new TextField("", 10); textMonth = new TextField("", 10); textYear = new TextField("", 10); buttonCompute = new Button("Calcular Da"); }
public void init() { setLayout(new BorderLayout()); add(createSwings(), "North"); textDay.requestFocus(); }
private Panel createSwings() { labelReturnedDay.setAlignment(1); zodiaco.setAlignment(1); cumple.setAlignment(1); Label labelDay = new Label("Da"); labelDay.setAlignment(1); Label labelMonth = new Label("Mes"); labelMonth.setAlignment(1); Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 69 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
private String dayAsString(int j) { switch(j) { Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 71 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
case 2: // '\002' return "Lunes";
case 3: // '\003' return "Martes";
case 4: // '\004' return "Miercoles";
case 5: // '\005' return "Jueves";
case 6: // '\006' return "Viernes";
case 7: // '\007' return "Sabado";
case 1: // '\001' return "Domingo"; } return ""; }
public void actionPerformed(ActionEvent e) { int dayNumber = 99; int d = 99; int m = 99; int y = 99; try { d = Integer.parseInt(textDay.getText()); m = Integer.parseInt(textMonth.getText()); y = Integer.parseInt(textYear.getText()); } catch(NumberFormatException err) { labelReturnedDay.setText("Fecha Invalida"); } Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 72 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
if(d > 0 && d < 32 && m > 0 && m < 13 && y > 999 && y < 10000) { m--; Calendar calendar = new GregorianCalendar(y, m, d); dayNumber = calendar.get(7); d2 = calendar.get(calendar.DAY_OF_YEAR); labelReturnedDay.setText("Usted Nacio un Da : " + dayAsString(dayNumber)); } else { labelReturnedDay.setText("Fecha Invalida"); } m++; if((d >=22 && m == 1)||(d <= 21 && m == 2)) { zodiaco.setText("Su Signo Es Acuario"); } if((d >=22 && m == 2)||(d <= 20 && m == 3)) { zodiaco.setText("Su Signo Es Piscis"); } if((d >=21 && m == 3)||(d <= 20 && m == 4)) { zodiaco.setText("Su Signo Es Aries"); } if((d >=21 && m == 4)||(d <= 20 && m == 5)) { zodiaco.setText("Su Signo Es Tauro"); } if((d >=21 && m == 5)||(d <= 21 && m == 6)) { zodiaco.setText("Su Signo Es Geminis"); } if((d >=22 && m == 6)||(d <= 22 && m == 7)) { zodiaco.setText("Su Signo Es Cancer"); } if((d >=23 && m == 7)||(d <= 22 && m == 8)) { zodiaco.setText("Su Signo Es Leo"); } Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 73 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
if((d >=23 && m == 8)||(d <= 21 && m == 9)) { zodiaco.setText("Su Signo Es Virgo"); } if((d >=22 && m == 9)||(d <= 22 && m == 10)) { zodiaco.setText("Su Signo Es Libra"); }if((d >=23 && m == 10)||(d <= 21 && m == 11)) { zodiaco.setText("Su Signo Es Escorpion"); } if((d >=22 && m == 11)||(d <= 22 && m == 12)) { zodiaco.setText("Su Signo Es Sagitario"); } if((d >=23 && m == 12)||(d <= 21 && m == 1)) { zodiaco.setText("Su Signo Es Capricornio"); }
GregorianCalendar calendar1 = new GregorianCalendar(); int d1 = calendar1.get(calendar1.DAY_OF_YEAR);
if((d2-d1) <= 0) { cumple.setText("Su Cumpleaos Es En " + (365+(d2-d1)) + " Das Ms"); } else { cumple.setText("Su Cumpleaos Es En " + (d2-d1) + " Das Ms"); } }
int d2=0; Label labelReturnedDay; Label zodiaco; Label cumple; TextField textDay; TextField textMonth; Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 74 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
TextField textYear; Button buttonCompute; } 4.1.3. Orientados a Aspectos:
Es un tipo de programacin muy reciente, tiene como condicin permitir una adecuada modularizacin de las aplicaciones y posibilita una mejor separacin de proceso. Gracias a la Programacin Orientada a Aspectos (POA), se pueden manejar los diferentes conceptos que componen una aplicacin bien definida, eliminando las dependencias entre cada los diferentes mdulos existentes. De esta forma se consiguen mejores conceptos de programacin.
Ejemplo
public class ColaCircular { private Object[] array; private int ptrCola = 0, ptrCabeza = 0; private int eltosRellenos = 0; public ColaCircular (int capacidad) { array = new Object [capacidad]; } public void Insertar (Object o) { array[ptrCola] = o; ptrCola = (ptrCola + 1) % array.length; eltosRellenos++; } public Object Extraer () { Object obj = array[ptrCabeza]; array[ptrCabeza] = null; ptrCabeza = (ptrCabeza + 1) % array.length; eltosRellenos--; return obj; } }
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 75 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Orientados a Servicios: Es un concepto de la arquitectura de software que utiliza los servicios para dar soporte a los requisitos del usuario. Permitiendo la creacin de sistemas escalables que reflejan el negocio de la empresa, lo cual facilita la interaccin entre diferentes sistemas propios y/o de terceros.
4.2. Introduccin al UML
UML, es un lenguaje de Modelos Unificados por sus siglas en ingls, es el lenguaje de modelos de sistemas de software ms popular en la actualidad, es un lenguaje para construir, especificar, visualizar y documentar sistemas de aplicativos.
Comprensin de los Modelos
Un modelo es una coleccin de imgenes y texto que representa algo, para nuestro software.
Los modelos son valiosos por muchas razones especficas, en gran parte, constan de imgenes e incluso, las imgenes simples pueden transmitir ms informacin que una gran cantidad de texto. Los modelos son valiosos porque es ms fcil dibujar algunas imgenes sencillas que escribir cdigo o incluso texto que describa lo mismo, adems es ms econmico, rpido y fcil de cambiar modelos que cambiar cdigo o texto.
El UML es una definicin de un lenguaje de smbolos y relaciones comunes que tiene un significado comn, si todos los participantes hablan UML, entonces las imgenes tienen el mismo significado para todo aquello que las observe, por lo tanto, aprender UML es esencial para ser capaz de usar imgenes para experimentar econmico, flexible y dar rpidas soluciones.
4.2.1.1 Uso de los Modelos
Los modelos consisten en diagramas o imgenes, lo que intenta con los modelos es que sea ms fcil de producir y experimentar que con solo cdigo.
Creacin de diagramas
La primera regla de la creacin de diagramas de modelos es que el cdigo y el texto consumen tiempo, y no queremos pasar una gran cantidad de tiempo creando documentos de texto que nadie leer. Lo que si queremos hacer es captar con exactitud las partes importantes del problema y una solucin. Lamentablemente, esta no es una prescripcin para el nmero o la diversidad de Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 76 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
diagramas que necesitamos crear y no indica cuanto detalle necesitamos agregar a esos diagramas. 4.2.1.2 Tipos de Diagramas Existen varios tipos de diagramas que el individuo puede crear, miremos los tipos que se pueden usar y los tipos de informacin que se pretende transmitir con cada uno de los diagramas.
Diagrama de cajas de uso (casos de uso)
Los smbolos principales de las cajas de uso son el actor, y el ovalo de la caja de uso, los diagramas son responsables principalmente de documentar los macro requisitos del sistema, pensando en la lista de capacidades que debe tener o proporcionar el sistema.
Diagrama de Actividades
Un diagrama de actividades es la versin UML de un diagrama de flujo. Los diagramas de actividades se usan para analizar los proyectos y, si es necesario, volver a realizar la ingeniera de los procesos.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 77 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Un diagrama de actividades es una herramienta excelente para analizar problemas que al final, el sistema debe resolver. Como una herramienta de anlisis, no queremos empezar resolviendo el problema a un nivel tcnico mediante la asignacin de clases, pero podemos usar diagramas de actividades para entender el problema e incluso refinar los procesos que comprenden el problema.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 78 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Diagrama de Clases
Los diagramas de clases se usan para mostrar las clases de un sistema y la relacin entre ellas. Una sola clase puede mostrarse en ms de un diagrama de clases y no es necesario mostrar todas las clases en un solo diagrama monoltico de clases. El mayor valor de mostrar las clases y sus relaciones desde varias perspectivas, de una manera que ayudara a transmitir la comprensin ms til.
Los diagramas de clases muestran una vista esttica del sistema, no describe los comportamientos o cmo interactan los ejemplos de la clase. Para describir los comportamientos y las interacciones entre los objetos de un sistema, podemos revisar los diagramas de interaccin.
Diagramas de interaccin
Existen 2 tipos de diagramas de interaccin, la secuencia y la colaboracin. Ambos transmiten la misma informacin, empleando una perspectiva un poco diferente. Los diagramas de secuencia muestran las clases a lo largo de la parte superior y los mensajes enviados entre esas clases, modelando un solo flujo a travs de los objetos del sistema. Los diagramas de colaboracin usan las mismas clases y mensajes, pero organizados en una disposicin espacial.
Un diagrama de secuencia implica un ordenamiento en el tiempo al seguir la secuencia de mensajes desde arriba a la izquierda hasta abajo a la derecha. Debido a que en el diagrama Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 79 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
colaborativo no se indica en forma visual un ordenamiento en el tiempo, enumeramos los mensajes para indicar el orden en el cual se presenta.
Algunas herramientas convertirn de manera automtica los diagramas de interaccin entre secuencia y colaboracin. Pero no es necesario crear los dos tipos de diagrama. En general, se percibe que un diagrama de secuencia es mas fcil y ms comn.
Ejemplo (Diagrama de secuencia)
Ejemplo (Diagrama de colaboracin) Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 80 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Diagrama de estado
Mientras que los diagramas de interaccin muestran los objetos y los mensajes que se pasan entre ellos, un diagrama de estado muestra el estado cambiante de un solo objeto, conforme este pasa por un sistema.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 81 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Diagramas de componentes
El UML define varios tipos de modelos, incluyendo modelos de anlisis, para el diseo y para implementacin, sin embargo, nada hay que le fuerce a crear o mantener tres modelos para una aplicacin. Un ejemplo de un diagrama que podra encontrar en un modelo de implementacin es de componentes. En un diagrama de componentes, estos se muestran en el producto final.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 82 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Otros Diagramas
Existen otros tipos o variaciones de diagramas que podemos crear. Por ejemplo, un diagrama de topologa del despliegue le mostrara como se ver desplegado su sistema. Lo comn es que un diagrama de este tipo contenga smbolos que representan cosas, como servidores web, servidores de bases de datos y varios dispositivos diversos, as como software que construye la solucin que usted requiere. Este tipo de diagrama es ms comn cuando usted est estructurando sistemas distribuidos en n hileras.
Ejercicios por temas
Cul cree usted que es el futuro de los lenguajes de programacin?
Qu papel aporta UML a la parte lgica?
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 83 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
Prueba Final
Que significa el acrnimo UML?
UML solo se usa para modelar software?
Un buen modelo UML contendr por lo menos un diagrama de cada tipo?
Actividad Crear de una situacin cotidiana un diagrama de cajas de uso y uno colaborativo.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 84 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
4.3. Relacin con otros temas
Introduccin al Desarrollo de Software tiene un gran alcance con reas relacionadas con lgica y programacin, partiendo de los algoritmos y estructuras de datos como surtidores de elementos lgicos que darn la base de trabajo de toda la carrera, estos ltimos muy unidos con los lenguajes de programacin y las bases de datos para grandes volmenes de informacin en almacenamiento, no se puede desconocer la importancia de ingeniera del software, arquitectura de software, los compiladores y los tpicos especiales, hacen que introduccin al desarrollo sea un punto importante dentro del engranaje principal de la carrera que abarca muchos de los temas ms cercanos a las necesidades de los usuarios finales.
Corporacin Universitaria Remington Escuela de Ciencias Bsicas e Ingeniera Asignatura Introduccin al Desarrollo del Software Pg. 85 Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Pgina Web: www.remington.edu.co - Medelln - Colombia
4.4. Fuentes
Libros
Josep Anton Prez Lpez, Llus Ribas i Mingo, Introduccin al desarrollo del software BRASSARD, G.:, Fundamentos de algoritmia SKIENA, Steven S.: The Algorithm Design Manual Paul Evitts, A UML Pattern Language Geri Schneider, Applying Use Cases Pelez Snchez, Jos Ignacio, Anlisis Y Diseo De Algoritmos: Un Enfoque Terico Y Prctico Meilir Page-Jones, Addison Wesley Reading, Massachusetts 2000, Fundamentals of Object- Oriented Design in UML Jean Paul Tremblay, Winfried Karl Grassman, Fundamentos Algoritmia, Pearson Education