SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
 
 
 
 
 
 
 
 
 
 
 
TECNICATURA SUPERIOR EN DESARROLLO DE SOFTWARE. 
DISCIPLINAR ESPECÍFICO 
 
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Introducción a la Programación   
En un mundo en constante innovación y descubrimiento, es el desarrollo del software el
                             
que nos permite gestionar la tecnología en hardware. Estos avances nos ofrecen un amplio
                           
abanico de posibilidades laborales: podemos desempeñamos como desarrolladores tanto
                 
en la industria de los videojue​ gos, como las aplicaciones web y sistemas informáticos de
                             
organizaciones, entre otras opciones. 
Si miramos hacia atrás, veremos que desde hace unos diez años la era digital ha traído
                                 
cambios revolucionarios, y que estos avan​ ces tecnológicos han afectado nuestra
                     
comunicación cotidiana. 
Para dominar esta enorme variedad de dispositivos ​smartphones, computadoras, tablets,
                   
ultrabooks, etcétera​ necesitamos desarro​ llar programas que nos permitan interactuar
                   
con ellos. 
Este libro está dirigido a todos aquellos que quieran iniciarse en el mundo de la
                               
programación y conocer las bases necesarias para crear su primer software. A lo largo de
                             
su contenido, nos plantearemos qué nos impulsa a comenzar un desarrollo de apli​ caciones
                           
y qué partes lo constituyen. Cuando conozcamos el manejo y la confección de los
                           
programas, empezaremos a incur​ sionar en la lógica misma de la programación y
                         
podremos mo​ vemos en cualquier tipo de lenguaje. 
En definitiva, el contenido del libro no se dirige hacia un (mi​ co camino, sino que se
                                   
propone brindar las herramientas ne​ cesarias para que sea el lector quien elija sobre qué
                             
escenario trabajar: escritorio, web, móvil, consola de videojuegos, etc. 
 
Desarrollo de aplicaciones 
​En la vida cotidiana nos encontramos con distintos desarrollos de aplica​ciones, por
                         
ejemplo, el programa que controla nuestro teléfono móvil. El mundo en su totalidad se rige
                             
por programas desarrollados mediante algún lenguaje de programación, y todos los
                     
elementos electrónicos, en menor omayor grado, contienen aplicaciones específicas para
                   
cumplir su misión. 
El desarrollo de tma aplicación podría definirse como el proceso que se realiza para
                             
encontrar distintas soluciones posibles a una situación problemática, mediante la
                   
preparación de aplicaciones informáticas. Este proceso implica la confección, prueba y
                     
posterior búsqueda de erro​res en un programa informático. El primer paso será efectuar la
                           
progra​mación lógica de la aplicación, es decir, la solución lógica del problema, que subyace
                           
a cualquier lenguaje de programación. La aplicación desa​rrollada se corresponderá con
                     
u110 de los tipos siguientes: 
 
•Aplicaciones web: son muy comunes en organizaciones que desean globalizar sus modelos
                       
de negocios o, simplemente, alcanzar la auto​ gestión para empleados, alumnos, docentes,
                       
etcétera. 
•Aplicaciones móviles: se utilizan en equipos móviles, como teléfonos 
1
celulares o tabletas. Suelen ser similares a las de escritorio, y permiten realizar las mismas
                             
tareas, aunque el ingreso de datos es táctil y por voz. 
•Aplicaciones de escritorio : funcionan sobre un sistema operativo 
de PC o notebook. Podemos encontrarnos con desarrollos muy costosos,  
utilizados por grandes empresas; y con otros gratuitos y útiles que pueden servirnos para
                           
diferentes tareas. 
 
“A medida que la tecnología avanza, se suma "inteligencia" a distintos dispositivos, como
                         
hela​deras, aspiradoras y lavadoras, que incluyen comunicación por Wi​Fi y cámaras. Esto
                       
permite que el usuario controle el dispositivo mediante un software instalado en su
                         
teléfono móvil” 
 
Interpretación de las aplicaciones 
​Deberíamos tener en cuenta la manera en que u11 sistema de cómputos electrónico
                           
interpreta la información y cómo nosotros, como futuros desarrolladores, lo vemos. Todo
                       
comienza por los famosos bits de datos. Un bit representa la unidad de medida más
                             
pequeña en información di​gital, y tiene dos estados: O o 1; generalmente, el O se
                             
represen​ta como cerrado (o negativo) y el 1 como abierto (o positivo). Este protocolo
                           
bina​rio es conocido como lenguaje de máquina . 
 
 
 
Figura 1: Una forma sencilla de ver el funcionamiento del programa en la computadora. 
 
En la actualidad, la interacción entre los usuarios y las aplicaciones se da por medio de
                                 
interfaces, principalmente gráficas, es decir, de una manera visual, a través de iconos,
                         
colores y fonnas. Existen también aplicaciones que utilizan otros sentidos: tacto (como por
                         
ejemplo la botonera de un ascensor o el panel de un microondas), oído e, incluso, olfa​to. La
                                 
interfaz debe contener algún software que interactúe con el hardware del dispositivo,
                       
para, de esta forma, obtener el resultado deseado. 
La interacción entre los usuarios y la aplicación también puede entender​se como un
                           
esquema de entrada/proceso/salida: la entrada es el ingreso o comando de datos que
                         
vamos a realizar sobre un dispositivo (como, por ejemplo, tocar la pantalla, escribir,
                         
mover el puntero del mouse, hacer el mo​vimiento con un joystick, etcétera). El proceso es
                             
el trabajo, la interpretación y el cálculo de la información ingresada (que puede ser un
                             
movimiento del mouse, tma tecla pulsada). La salida es el resultado de las acciones que se
                               
efectúan sobre la información (por ejemplo, se realizará una acción en un juego, como
                           
disparar, se devolverá el resultado de un cálculo, se ejecutará un video, etcétera). 
 
 
2
Una aplicación envía 
información para 
modificar una imagen 
y pixelarla. 
Es procesada 
en lenguaje máquina 
0101111110110 por 
el microprocesador. 
 
Retoma un resultado.  
​Etapas de un Desarrollo 
​Antes de continuar con cuestiones específicas, revisemos las tareas genera​les por
                       
considerar en el desarrollo de una aplicación, en la siguiente figura:
                     
Figura 2: Etapas involucradas en el desarrollo de aplicaciones. 
 
 
En el proceso que vemos en el gráfico de la figura 2, puede suceder que debamos
                                 
retroceder y volver a analizar o replantear algunas de las acciones. 
Si bien este esquema nos será útil para la resolución de un desarrollo sencillo, en caso de
                                 
trabajar con sistemas amplios, deberemos incluir ciertas técnicas de ingeniería de
                     
software. Repasemos los pasos expuestos en el esquema: 
 
A) Análisis del problema 
En primera instancia, tenemos el pedido de un cliente, que determinamos como requisito .
                           
Hay una situación que él desea solucionar o mejorar, y que desembocará en la
                           
planificación de un proyecto. Al haber aclarado cuál es el funcionamiento o fin de la
                             
aplicación informática, debemos realizar, como analistas, un relevamiento de la
                   
información implicada. Cuando terminamos dicha tarea, podemos generar un
                 
diagnóstico de cómo encontramos los procesos actuales en los que se ve involucrada la
                           
organización con respecto a la futura herramienta informática. 
 
B) Diseño de la solución 
Luego de recolectar la información, ingresamos a la etapa de prototipado o diseño del
                           
sistema, en la que volcamos la recolección de datos para dar un "rostro" a las aplicaciones.
                               
En esta fase estamos en condiciones de mostrarle a nuestro cliente una propuesta teórica
                           
acerca de cómo funcionará el proyecto. 
 
“El término software libre a veces se confunde con freeware . Sin embargo, se trata de
                               
conceptos distintos, ya que este último no tiene como condición ser gratuito. La
                         
denominación de libre se debe a que son programas de código abierto (Open Source) , y
                               
es en ese punto en donde reside la esencia de su libertad”. 
 
Para el diseño de la aplicación, dividiremos el proceso en dos partes: por un lado, el
                                 
3
diseño de prototipos (interfaces gráficas de nuestro desarrollo); por el otro, el diseño del
                           
funcionamiento (mecanismo interno de las opera​ ciones de desarrollo). Podremos crear la
                       
representación que refleje aspectos del sistema mediante herramientas de modelado que
                     
nos facilitarán el dise​ ño, como mn, (UnifiedModeling Language , lenguaje de modelado
                         
unificado). 
 
Diseño de Prototipo 
​El uso de prototipos nos facilitará la comunicación con el usuario de las aplicaciones, y
                               
nos permitirá conocer sus reacciones y apreciaciones. El prototipo actuará no como
                       
producto final, sino como una maqueta me​diante la cual podremos ver en detalle cómo es
                             
el ajuste entre las necesi​dades del cliente y las características del producto. 
Para crear formularios con controles, podemos utilizar las facilidades que nos brindan
                         
algunos IDE (lntegratedDevelopment Environment o entor​no de desarrollo integrado),
                 
como por ejemplo el de Visual Studio (www . visualstudío.com ). Existen otras aplicaciones
                           
de maquetación que pueden ser útiles, como Mockíngbírd (https.sgomocklngbírd.conú
                 
Balsamiq Cbalsamiq.com), Pencil (pencil.evolus.vn) y Microsoft Visio
             
Chttp://office.111icrosoft.co111/es​ar/vísío). 
F​igura 3. Ejemplo de prototipo realizado con Mockingbird . 
 
 
4
Diseño del funcionamiento
Como no podemos programar rápidamente en lenguaje máquina (código binario),
necesitamos adaptar de alguna manera el lenguaje humano a formas lógicas que se
acerquen a las tareas que puede realizar una computadora.
En el diseño de la solución utilizaremos algoritmos. Si bien encontrare​mos múltiples
definiciones de lo que es un algoritmo, nosotros trabajaremos con la que brinda la RAE, en
la que se hace referencia a un conjunto ordenado y finito de operaciones que permite hallar
la solución de un problema.
Por ejemplo, si deseamos vestir una remera, realizamos un proceso de selec​ción entre tal
o cual, y luego terminamos por hacer la selección deseada. En un conjunto ordenado y finito
de operaciones, podríamos representar, a través de un algoritmo, este proceso de selección
y solución.
Figura 4. Proceso de selección de una remera para vestir. Esta representación de
algoritmos se denomina diagrama de flujo
En el desarrollo para ejecutar tma aplicación, esta serie de pasos ordenados que
deben seguirse para lograr la resolución de un problema (que conforman el algoritmo) debe
ser traducida a sentencias ordenadas de código de programación, que se ejecuten línea a
línea.
Los algoritmos pueden ser representados por medio de diagramas (como por ejemplo los
diagramas de flujo, tal como se observa en la figura 4) o mediante la utilización de
pseudocódigo, que veremos con detenimiento en el capítulo 2 de este libro.
El pseudocódigo no es un lenguaje de programación, sino un lenguaje de
especificación de algoritmos, para lo cual utiliza una mezcla de lenguaje co​mún (protocolo
humano) con instrucciones de programación. El objetivo prin​cipal es que el desarrollador
se centre en la solución lógica del problema y luego se enfoque en la sintaxis de un
5
lenguaje de programación en particular.
Traducción del diseño a un lenguaje de programación
Existen muchos lenguajes de programación para desarrollar, por medio de un código
(protocolo), sentencias algorítmicas que luego son traducidas a lenguaje máquina. Estos
lenguajes cumplen la función de intermediarios entre el desarrollador y el hardware. Algunos
son más rígidos y complicados de aprender (como los de bajo nivel, que se codifican en
lenguaje máquina: FORTRAN , ASSE.lffiLER, C), en tanto que otros son más
comprensibles para el lenguaje humano (los de alto nivel: C++, Java, C#,PHP, Visual
Basic).
“Los diagramas de flujo son descripciones gráficas de algoritmos, que usan símbolos
conectados mediante flechas para indicar secuencias de instrucciones. Su construcción es
laboriosa y son medianamente fáciles de leer para personas que no están involucradas en
la programación.”
Diferencias básicas que existen entre los distintos tipos de lenguajes de
                     
programación:
• Lenguaje máquina: código interpretado directamente por el procesa​dor. Las invocaciones
a memoria, como los procesos aritméticos lógicos, son posiciones literales de conmutadores
físicos del hardware en su representación booleana. Estos lenguajes son literales de tareas.
• Bajo nivel: instrucciones que ensamblan los grupos de conmutadores; son necesarios
para expresar una mínima lógica aritmética y están íntimamente vinculados al hardware.
Estos lenguajes se encuentran orientados a procesos compuestos de tareas, y la cantidad
de instruc​ciones depende de cómo haya sido diseñada la arquitectura del hard​ware. Como
norma general, se encuentran disponibles a nivel firmware,
CMOS o chipset.
• Medio nivel: son aquellos que, basándose en los juegos de instruc​ciones disponibles
(chipset), permiten el uso de funciones a nivel aritmético. A nivel lógico, dependen de
literales en ensamblador. Están orientados a procedimientos compuestos de procesos.
• Alto nivel: permiten mayor flexibilidad al desarrollador (a la hora de abstraerse o de ser
literal), y un camino bidireccional entre el lenguaje máquina y tma expresión casi oral entre
la escritura del programa y su posterior compilación. Están orientados a objetos.
“BASIC fue diseñado en 1964, para facilitar el desarrollo de programas de computación a
estudiantes y profesores que no se dedicaran específicamente a las ciencias. Con los años,
el lenguaje se popularizó e influyó en gran medida en otros, como Visual Basic”.
A continuación, veremos el código fuente de dos lenguajes: e y Basic. Se trata de
ejemplos de cómo se vería el desarrollo en ellos. En el siguien​te código veremos la
declaración de variables en lenguaje C:
6
En Basic, el código que aparece a continuación realiza lo siguiente: en primer lugar, "limpia"
la pantalla de cualquier texto, luego asigna valores a las variables (como el nombre y un
número), y finaliza con la impresión e11 pantalla del resultado.
D) Implementación y testeo del proyecto
Una vez desarrollado y compilado el software, es momento de instalarlo.
A continuación, veremos qué aspectos deberemos tener en cuenta en el momento de
instalar el sistema:
• Prueba o testing de la aplicación: este proceso implica someter el software a ciertas
condiciones para demostrar si es válido o no. De esta manera, podemos verificar si se
ajusta a los requerimientos y validar
que las funciones se implementan correctamente. Los valores de cali​dad que tienen mayor
7
relevancia en las aplicaciones son: usabilidad , funcionalidad, fiabilidad, seguridad,
eficiencia y mantenimiento.
• Capacitación y formación del usuario: debe encararse desde el punto de vista de los
usuarios. Puede ser útil preguntarles, durante la capacitación, cómo hacían antes ciertos
procesos o tareas. Depen​diendo del tipo de actividad que se vaya a desempeñar, la
capacitación puede acompañarse con algunos manuales de usuario.
Pseudocódigo: el lenguaje humano
  
Existen dos modos de representar algoritmos: mediante gráficos (como los diagramas
                       
de flujo o los diagramas Nassi​Shneiderman) o por medio de una sintaxis, como
                         
pseudocódigo. Las ventajas de utilizar un pseudo​código, en vez de un diagrama de flujo,
                           
son las siguientes: 
 
• Ocupa menos espacio en la hoja de papel. 
• Permite representar fácilmente operaciones repetitivas complejas. 
• Simplifica el pasaje de un pseudocódigo a un lenguaje de programación. 
• Permite observar con claridad los niveles que tiene cada operación. 
   
El pseudocódigo posee una escritura similar a la de un lenguaje de pro​gramación, por lo
                               
tanto, contiene un determinado léxico. Se trata de letras o caracteres que serán válidos
                           
para escribir las instrucciones que deseamos transmitir. La sintaxis es la especificación de
                         
palabras clave en combinación con otras que usaremos para formar las oraciones, mientras
                         
que la semántica es el significado que les daremos a dichas frases.  
Una de las normas generales que encontraremos es la estructura secuencial: una
                         
acción o instrucción que sigue a otra en secuencia. Las tareas se suceden de tal modo que
                                 
la salida de una es la entrada de la siguiente, y así hasta el fin del proceso. Vemos cómo se
                                       
representa una estructura secuencial en pseudocódigo. 
  
 
  
 
8

Más contenido relacionado

La actualidad más candente

Usabilidad y Workflow de diseño Web
Usabilidad y Workflow de diseño WebUsabilidad y Workflow de diseño Web
Usabilidad y Workflow de diseño WebDNRstudios
 
Introducción a dispositivos_móviles
Introducción a dispositivos_móvilesIntroducción a dispositivos_móviles
Introducción a dispositivos_móvilesCESAR A. RUIZ C
 
8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacción8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacciónDCU_MPIUA
 
Ambitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemasAmbitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemasAna Karen
 
Diseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoDiseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoadrianazamora
 
4 A Multimedia Communication System ( H C I2)
4  A  Multimedia  Communication  System ( H C I2)4  A  Multimedia  Communication  System ( H C I2)
4 A Multimedia Communication System ( H C I2)Mario A Moreno Rocha
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuarioDNRstudios
 
Evolucion de las aplicaciones informaticas
Evolucion de las aplicaciones informaticasEvolucion de las aplicaciones informaticas
Evolucion de las aplicaciones informaticasbuchoon
 
Sistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaSistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaKike Salsalazar
 
03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuario03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuarioManuel Mujica
 
Desarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en ModelosDesarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en ModelosJuan Manuel Gonzalez Calleros
 
Tecnología es saber(1)
Tecnología es saber(1)Tecnología es saber(1)
Tecnología es saber(1)ssusercd54fc
 
El computador desde el punto de vista del usuario
El computador desde el punto de vista del usuarioEl computador desde el punto de vista del usuario
El computador desde el punto de vista del usuarioCristianJose15
 

La actualidad más candente (17)

Marianny uzcategui 11
Marianny uzcategui 11Marianny uzcategui 11
Marianny uzcategui 11
 
Usabilidad y Workflow de diseño Web
Usabilidad y Workflow de diseño WebUsabilidad y Workflow de diseño Web
Usabilidad y Workflow de diseño Web
 
Introducción a dispositivos_móviles
Introducción a dispositivos_móvilesIntroducción a dispositivos_móviles
Introducción a dispositivos_móviles
 
8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacción8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacción
 
Tecnologia es saber
Tecnologia es saberTecnologia es saber
Tecnologia es saber
 
Ambitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemasAmbitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemas
 
Diseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoDiseño de interfaz importancia y proceso
Diseño de interfaz importancia y proceso
 
4 A Multimedia Communication System ( H C I2)
4  A  Multimedia  Communication  System ( H C I2)4  A  Multimedia  Communication  System ( H C I2)
4 A Multimedia Communication System ( H C I2)
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Evolucion de las aplicaciones informaticas
Evolucion de las aplicaciones informaticasEvolucion de las aplicaciones informaticas
Evolucion de las aplicaciones informaticas
 
Curso de word
Curso de wordCurso de word
Curso de word
 
El software
El softwareEl software
El software
 
Sistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaSistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directa
 
03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuario03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuario
 
Desarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en ModelosDesarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en Modelos
 
Tecnología es saber(1)
Tecnología es saber(1)Tecnología es saber(1)
Tecnología es saber(1)
 
El computador desde el punto de vista del usuario
El computador desde el punto de vista del usuarioEl computador desde el punto de vista del usuario
El computador desde el punto de vista del usuario
 

Similar a Introductorio tsd_software2021_disciplinar

Kailet ensayo diseño de software
Kailet ensayo diseño de softwareKailet ensayo diseño de software
Kailet ensayo diseño de softwareMaryam Claro
 
Software de aplicacion
Software de aplicacionSoftware de aplicacion
Software de aplicacionvanecruzhdz
 
Ambitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemasAmbitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemasxinithazangels
 
Actividad 2 ensayo el software
Actividad 2 ensayo el softwareActividad 2 ensayo el software
Actividad 2 ensayo el softwareOswaldo Perez
 
Computación i mariangel_garcia
Computación i mariangel_garciaComputación i mariangel_garcia
Computación i mariangel_garciamarifabi5
 
Ensayo carlos benitez saia a
Ensayo  carlos benitez saia aEnsayo  carlos benitez saia a
Ensayo carlos benitez saia afast2506
 
Carlos benitez
Carlos benitezCarlos benitez
Carlos benitezfast2506
 
Carlos benitez
Carlos benitezCarlos benitez
Carlos benitezfast2506
 
Que es el software
Que es el softwareQue es el software
Que es el softwaregaboantonio
 
Diapositivas Robotica!
Diapositivas Robotica!Diapositivas Robotica!
Diapositivas Robotica!Plan24
 
Taller de Harwed,software y redes sociales
  Taller de Harwed,software y redes sociales  Taller de Harwed,software y redes sociales
Taller de Harwed,software y redes socialessergiocald
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de softwareAntonio San
 

Similar a Introductorio tsd_software2021_disciplinar (20)

Kailet ensayo diseño de software
Kailet ensayo diseño de softwareKailet ensayo diseño de software
Kailet ensayo diseño de software
 
Software de aplicacion
Software de aplicacionSoftware de aplicacion
Software de aplicacion
 
Ambitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemasAmbitos de desarrollo de un ing. en sistemas
Ambitos de desarrollo de un ing. en sistemas
 
Software
SoftwareSoftware
Software
 
Actividad 2 ensayo el software
Actividad 2 ensayo el softwareActividad 2 ensayo el software
Actividad 2 ensayo el software
 
Computación i mariangel_garcia
Computación i mariangel_garciaComputación i mariangel_garcia
Computación i mariangel_garcia
 
Ensayo carlos benitez saia a
Ensayo  carlos benitez saia aEnsayo  carlos benitez saia a
Ensayo carlos benitez saia a
 
Carlos benitez
Carlos benitezCarlos benitez
Carlos benitez
 
Carlos benitez
Carlos benitezCarlos benitez
Carlos benitez
 
Que es el software
Que es el softwareQue es el software
Que es el software
 
Materitopicos.pdf
Materitopicos.pdfMateritopicos.pdf
Materitopicos.pdf
 
Diapositivas Robotica!
Diapositivas Robotica!Diapositivas Robotica!
Diapositivas Robotica!
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Taller de Harwed,software y redes sociales
  Taller de Harwed,software y redes sociales  Taller de Harwed,software y redes sociales
Taller de Harwed,software y redes sociales
 
El software
El software El software
El software
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
 
Software
SoftwareSoftware
Software
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
David valdiviezo ing.pdf
David valdiviezo ing.pdfDavid valdiviezo ing.pdf
David valdiviezo ing.pdf
 
ANALISIS FICHA 1 Y FICHA 2 (2).pdf
ANALISIS FICHA 1 Y FICHA 2 (2).pdfANALISIS FICHA 1 Y FICHA 2 (2).pdf
ANALISIS FICHA 1 Y FICHA 2 (2).pdf
 

Más de Superior - Universitaria

Clases Híbridas para un Modelo Educativo Pospandemia
Clases Híbridas para un Modelo Educativo PospandemiaClases Híbridas para un Modelo Educativo Pospandemia
Clases Híbridas para un Modelo Educativo PospandemiaSuperior - Universitaria
 
Aporte integracion curricular de las tic sanchez sofia
Aporte integracion curricular de las tic sanchez sofiaAporte integracion curricular de las tic sanchez sofia
Aporte integracion curricular de las tic sanchez sofiaSuperior - Universitaria
 
Aporte integracion curricular de las tic lopez claudia
Aporte integracion curricular de las tic lopez claudiaAporte integracion curricular de las tic lopez claudia
Aporte integracion curricular de las tic lopez claudiaSuperior - Universitaria
 
Medios y Recusos en la Educación a Distancia
Medios y Recusos en la Educación a DistanciaMedios y Recusos en la Educación a Distancia
Medios y Recusos en la Educación a DistanciaSuperior - Universitaria
 
Proyecto de red para empresa comercializadora de electricidad
Proyecto de red para empresa comercializadora de electricidadProyecto de red para empresa comercializadora de electricidad
Proyecto de red para empresa comercializadora de electricidadSuperior - Universitaria
 

Más de Superior - Universitaria (20)

Firma Digital.pdf
Firma Digital.pdfFirma Digital.pdf
Firma Digital.pdf
 
Clases Híbridas para un Modelo Educativo Pospandemia
Clases Híbridas para un Modelo Educativo PospandemiaClases Híbridas para un Modelo Educativo Pospandemia
Clases Híbridas para un Modelo Educativo Pospandemia
 
Sistema_de_Videconferencia.pdf
Sistema_de_Videconferencia.pdfSistema_de_Videconferencia.pdf
Sistema_de_Videconferencia.pdf
 
Sistema de videconferencia
Sistema de videconferenciaSistema de videconferencia
Sistema de videconferencia
 
Area de taller_tecnicaturas_informaticas
Area de taller_tecnicaturas_informaticas Area de taller_tecnicaturas_informaticas
Area de taller_tecnicaturas_informaticas
 
Informe auditoria base de datos 2016
Informe auditoria base de datos 2016Informe auditoria base de datos 2016
Informe auditoria base de datos 2016
 
Red lan centro_local_amazonas_br_j
Red lan centro_local_amazonas_br_jRed lan centro_local_amazonas_br_j
Red lan centro_local_amazonas_br_j
 
Aporte integracion curricular de las tic sanchez sofia
Aporte integracion curricular de las tic sanchez sofiaAporte integracion curricular de las tic sanchez sofia
Aporte integracion curricular de las tic sanchez sofia
 
Aporte integracion curricular de las tic lopez claudia
Aporte integracion curricular de las tic lopez claudiaAporte integracion curricular de las tic lopez claudia
Aporte integracion curricular de las tic lopez claudia
 
Santiago agustin romero
Santiago agustin romeroSantiago agustin romero
Santiago agustin romero
 
Sofia a sanchez
Sofia a sanchezSofia a sanchez
Sofia a sanchez
 
Aprendizaje Ubicuo
Aprendizaje UbicuoAprendizaje Ubicuo
Aprendizaje Ubicuo
 
Medios y Recusos en la Educación a Distancia
Medios y Recusos en la Educación a DistanciaMedios y Recusos en la Educación a Distancia
Medios y Recusos en la Educación a Distancia
 
Trabajo y aprendizaje colaborativo
Trabajo y aprendizaje colaborativoTrabajo y aprendizaje colaborativo
Trabajo y aprendizaje colaborativo
 
Lopez claudia
Lopez claudiaLopez claudia
Lopez claudia
 
Los retosdelasociedaddelconocimiento
Los retosdelasociedaddelconocimientoLos retosdelasociedaddelconocimiento
Los retosdelasociedaddelconocimiento
 
Proyecto red-de-cableado estructurado
Proyecto red-de-cableado estructuradoProyecto red-de-cableado estructurado
Proyecto red-de-cableado estructurado
 
Proyecto de red para empresa comercializadora de electricidad
Proyecto de red para empresa comercializadora de electricidadProyecto de red para empresa comercializadora de electricidad
Proyecto de red para empresa comercializadora de electricidad
 
Realidad aumentada en e a cs naturales
Realidad aumentada en e a cs naturalesRealidad aumentada en e a cs naturales
Realidad aumentada en e a cs naturales
 
Trabajo Cooperativo
Trabajo CooperativoTrabajo Cooperativo
Trabajo Cooperativo
 

Último

Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 

Introductorio tsd_software2021_disciplinar

  • 1.                       TECNICATURA SUPERIOR EN DESARROLLO DE SOFTWARE.  DISCIPLINAR ESPECÍFICO                             
  • 2.             Introducción a la Programación    En un mundo en constante innovación y descubrimiento, es el desarrollo del software el                               que nos permite gestionar la tecnología en hardware. Estos avances nos ofrecen un amplio                             abanico de posibilidades laborales: podemos desempeñamos como desarrolladores tanto                   en la industria de los videojue​ gos, como las aplicaciones web y sistemas informáticos de                               organizaciones, entre otras opciones.  Si miramos hacia atrás, veremos que desde hace unos diez años la era digital ha traído                                   cambios revolucionarios, y que estos avan​ ces tecnológicos han afectado nuestra                       comunicación cotidiana.  Para dominar esta enorme variedad de dispositivos ​smartphones, computadoras, tablets,                     ultrabooks, etcétera​ necesitamos desarro​ llar programas que nos permitan interactuar                     con ellos.  Este libro está dirigido a todos aquellos que quieran iniciarse en el mundo de la                                 programación y conocer las bases necesarias para crear su primer software. A lo largo de                               su contenido, nos plantearemos qué nos impulsa a comenzar un desarrollo de apli​ caciones                             y qué partes lo constituyen. Cuando conozcamos el manejo y la confección de los                             programas, empezaremos a incur​ sionar en la lógica misma de la programación y                           podremos mo​ vemos en cualquier tipo de lenguaje.  En definitiva, el contenido del libro no se dirige hacia un (mi​ co camino, sino que se                                     propone brindar las herramientas ne​ cesarias para que sea el lector quien elija sobre qué                               escenario trabajar: escritorio, web, móvil, consola de videojuegos, etc.    Desarrollo de aplicaciones  ​En la vida cotidiana nos encontramos con distintos desarrollos de aplica​ciones, por                           ejemplo, el programa que controla nuestro teléfono móvil. El mundo en su totalidad se rige                               por programas desarrollados mediante algún lenguaje de programación, y todos los                       elementos electrónicos, en menor omayor grado, contienen aplicaciones específicas para                     cumplir su misión.  El desarrollo de tma aplicación podría definirse como el proceso que se realiza para                               encontrar distintas soluciones posibles a una situación problemática, mediante la                     preparación de aplicaciones informáticas. Este proceso implica la confección, prueba y                       posterior búsqueda de erro​res en un programa informático. El primer paso será efectuar la                             progra​mación lógica de la aplicación, es decir, la solución lógica del problema, que subyace                             a cualquier lenguaje de programación. La aplicación desa​rrollada se corresponderá con                       u110 de los tipos siguientes:    •Aplicaciones web: son muy comunes en organizaciones que desean globalizar sus modelos                         de negocios o, simplemente, alcanzar la auto​ gestión para empleados, alumnos, docentes,                         etcétera.  •Aplicaciones móviles: se utilizan en equipos móviles, como teléfonos  1
  • 3. celulares o tabletas. Suelen ser similares a las de escritorio, y permiten realizar las mismas                               tareas, aunque el ingreso de datos es táctil y por voz.  •Aplicaciones de escritorio : funcionan sobre un sistema operativo  de PC o notebook. Podemos encontrarnos con desarrollos muy costosos,   utilizados por grandes empresas; y con otros gratuitos y útiles que pueden servirnos para                             diferentes tareas.    “A medida que la tecnología avanza, se suma "inteligencia" a distintos dispositivos, como                           hela​deras, aspiradoras y lavadoras, que incluyen comunicación por Wi​Fi y cámaras. Esto                         permite que el usuario controle el dispositivo mediante un software instalado en su                           teléfono móvil”    Interpretación de las aplicaciones  ​Deberíamos tener en cuenta la manera en que u11 sistema de cómputos electrónico                             interpreta la información y cómo nosotros, como futuros desarrolladores, lo vemos. Todo                         comienza por los famosos bits de datos. Un bit representa la unidad de medida más                               pequeña en información di​gital, y tiene dos estados: O o 1; generalmente, el O se                               represen​ta como cerrado (o negativo) y el 1 como abierto (o positivo). Este protocolo                             bina​rio es conocido como lenguaje de máquina .        Figura 1: Una forma sencilla de ver el funcionamiento del programa en la computadora.    En la actualidad, la interacción entre los usuarios y las aplicaciones se da por medio de                                   interfaces, principalmente gráficas, es decir, de una manera visual, a través de iconos,                           colores y fonnas. Existen también aplicaciones que utilizan otros sentidos: tacto (como por                           ejemplo la botonera de un ascensor o el panel de un microondas), oído e, incluso, olfa​to. La                                   interfaz debe contener algún software que interactúe con el hardware del dispositivo,                         para, de esta forma, obtener el resultado deseado.  La interacción entre los usuarios y la aplicación también puede entender​se como un                             esquema de entrada/proceso/salida: la entrada es el ingreso o comando de datos que                           vamos a realizar sobre un dispositivo (como, por ejemplo, tocar la pantalla, escribir,                           mover el puntero del mouse, hacer el mo​vimiento con un joystick, etcétera). El proceso es                               el trabajo, la interpretación y el cálculo de la información ingresada (que puede ser un                               movimiento del mouse, tma tecla pulsada). La salida es el resultado de las acciones que se                                 efectúan sobre la información (por ejemplo, se realizará una acción en un juego, como                             disparar, se devolverá el resultado de un cálculo, se ejecutará un video, etcétera).      2 Una aplicación envía  información para  modificar una imagen  y pixelarla.  Es procesada  en lenguaje máquina  0101111110110 por  el microprocesador.    Retoma un resultado.  
  • 4. ​Etapas de un Desarrollo  ​Antes de continuar con cuestiones específicas, revisemos las tareas genera​les por                         considerar en el desarrollo de una aplicación, en la siguiente figura:                       Figura 2: Etapas involucradas en el desarrollo de aplicaciones.      En el proceso que vemos en el gráfico de la figura 2, puede suceder que debamos                                   retroceder y volver a analizar o replantear algunas de las acciones.  Si bien este esquema nos será útil para la resolución de un desarrollo sencillo, en caso de                                   trabajar con sistemas amplios, deberemos incluir ciertas técnicas de ingeniería de                       software. Repasemos los pasos expuestos en el esquema:    A) Análisis del problema  En primera instancia, tenemos el pedido de un cliente, que determinamos como requisito .                             Hay una situación que él desea solucionar o mejorar, y que desembocará en la                             planificación de un proyecto. Al haber aclarado cuál es el funcionamiento o fin de la                               aplicación informática, debemos realizar, como analistas, un relevamiento de la                     información implicada. Cuando terminamos dicha tarea, podemos generar un                   diagnóstico de cómo encontramos los procesos actuales en los que se ve involucrada la                             organización con respecto a la futura herramienta informática.    B) Diseño de la solución  Luego de recolectar la información, ingresamos a la etapa de prototipado o diseño del                             sistema, en la que volcamos la recolección de datos para dar un "rostro" a las aplicaciones.                                 En esta fase estamos en condiciones de mostrarle a nuestro cliente una propuesta teórica                             acerca de cómo funcionará el proyecto.    “El término software libre a veces se confunde con freeware . Sin embargo, se trata de                                 conceptos distintos, ya que este último no tiene como condición ser gratuito. La                           denominación de libre se debe a que son programas de código abierto (Open Source) , y                                 es en ese punto en donde reside la esencia de su libertad”.    Para el diseño de la aplicación, dividiremos el proceso en dos partes: por un lado, el                                   3
  • 5. diseño de prototipos (interfaces gráficas de nuestro desarrollo); por el otro, el diseño del                             funcionamiento (mecanismo interno de las opera​ ciones de desarrollo). Podremos crear la                         representación que refleje aspectos del sistema mediante herramientas de modelado que                       nos facilitarán el dise​ ño, como mn, (UnifiedModeling Language , lenguaje de modelado                           unificado).    Diseño de Prototipo  ​El uso de prototipos nos facilitará la comunicación con el usuario de las aplicaciones, y                                 nos permitirá conocer sus reacciones y apreciaciones. El prototipo actuará no como                         producto final, sino como una maqueta me​diante la cual podremos ver en detalle cómo es                               el ajuste entre las necesi​dades del cliente y las características del producto.  Para crear formularios con controles, podemos utilizar las facilidades que nos brindan                           algunos IDE (lntegratedDevelopment Environment o entor​no de desarrollo integrado),                   como por ejemplo el de Visual Studio (www . visualstudío.com ). Existen otras aplicaciones                             de maquetación que pueden ser útiles, como Mockíngbírd (https.sgomocklngbírd.conú                   Balsamiq Cbalsamiq.com), Pencil (pencil.evolus.vn) y Microsoft Visio               Chttp://office.111icrosoft.co111/es​ar/vísío).  F​igura 3. Ejemplo de prototipo realizado con Mockingbird .      4
  • 6. Diseño del funcionamiento Como no podemos programar rápidamente en lenguaje máquina (código binario), necesitamos adaptar de alguna manera el lenguaje humano a formas lógicas que se acerquen a las tareas que puede realizar una computadora. En el diseño de la solución utilizaremos algoritmos. Si bien encontrare​mos múltiples definiciones de lo que es un algoritmo, nosotros trabajaremos con la que brinda la RAE, en la que se hace referencia a un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Por ejemplo, si deseamos vestir una remera, realizamos un proceso de selec​ción entre tal o cual, y luego terminamos por hacer la selección deseada. En un conjunto ordenado y finito de operaciones, podríamos representar, a través de un algoritmo, este proceso de selección y solución. Figura 4. Proceso de selección de una remera para vestir. Esta representación de algoritmos se denomina diagrama de flujo En el desarrollo para ejecutar tma aplicación, esta serie de pasos ordenados que deben seguirse para lograr la resolución de un problema (que conforman el algoritmo) debe ser traducida a sentencias ordenadas de código de programación, que se ejecuten línea a línea. Los algoritmos pueden ser representados por medio de diagramas (como por ejemplo los diagramas de flujo, tal como se observa en la figura 4) o mediante la utilización de pseudocódigo, que veremos con detenimiento en el capítulo 2 de este libro. El pseudocódigo no es un lenguaje de programación, sino un lenguaje de especificación de algoritmos, para lo cual utiliza una mezcla de lenguaje co​mún (protocolo humano) con instrucciones de programación. El objetivo prin​cipal es que el desarrollador se centre en la solución lógica del problema y luego se enfoque en la sintaxis de un 5
  • 7. lenguaje de programación en particular. Traducción del diseño a un lenguaje de programación Existen muchos lenguajes de programación para desarrollar, por medio de un código (protocolo), sentencias algorítmicas que luego son traducidas a lenguaje máquina. Estos lenguajes cumplen la función de intermediarios entre el desarrollador y el hardware. Algunos son más rígidos y complicados de aprender (como los de bajo nivel, que se codifican en lenguaje máquina: FORTRAN , ASSE.lffiLER, C), en tanto que otros son más comprensibles para el lenguaje humano (los de alto nivel: C++, Java, C#,PHP, Visual Basic). “Los diagramas de flujo son descripciones gráficas de algoritmos, que usan símbolos conectados mediante flechas para indicar secuencias de instrucciones. Su construcción es laboriosa y son medianamente fáciles de leer para personas que no están involucradas en la programación.” Diferencias básicas que existen entre los distintos tipos de lenguajes de                       programación: • Lenguaje máquina: código interpretado directamente por el procesa​dor. Las invocaciones a memoria, como los procesos aritméticos lógicos, son posiciones literales de conmutadores físicos del hardware en su representación booleana. Estos lenguajes son literales de tareas. • Bajo nivel: instrucciones que ensamblan los grupos de conmutadores; son necesarios para expresar una mínima lógica aritmética y están íntimamente vinculados al hardware. Estos lenguajes se encuentran orientados a procesos compuestos de tareas, y la cantidad de instruc​ciones depende de cómo haya sido diseñada la arquitectura del hard​ware. Como norma general, se encuentran disponibles a nivel firmware, CMOS o chipset. • Medio nivel: son aquellos que, basándose en los juegos de instruc​ciones disponibles (chipset), permiten el uso de funciones a nivel aritmético. A nivel lógico, dependen de literales en ensamblador. Están orientados a procedimientos compuestos de procesos. • Alto nivel: permiten mayor flexibilidad al desarrollador (a la hora de abstraerse o de ser literal), y un camino bidireccional entre el lenguaje máquina y tma expresión casi oral entre la escritura del programa y su posterior compilación. Están orientados a objetos. “BASIC fue diseñado en 1964, para facilitar el desarrollo de programas de computación a estudiantes y profesores que no se dedicaran específicamente a las ciencias. Con los años, el lenguaje se popularizó e influyó en gran medida en otros, como Visual Basic”. A continuación, veremos el código fuente de dos lenguajes: e y Basic. Se trata de ejemplos de cómo se vería el desarrollo en ellos. En el siguien​te código veremos la declaración de variables en lenguaje C: 6
  • 8. En Basic, el código que aparece a continuación realiza lo siguiente: en primer lugar, "limpia" la pantalla de cualquier texto, luego asigna valores a las variables (como el nombre y un número), y finaliza con la impresión e11 pantalla del resultado. D) Implementación y testeo del proyecto Una vez desarrollado y compilado el software, es momento de instalarlo. A continuación, veremos qué aspectos deberemos tener en cuenta en el momento de instalar el sistema: • Prueba o testing de la aplicación: este proceso implica someter el software a ciertas condiciones para demostrar si es válido o no. De esta manera, podemos verificar si se ajusta a los requerimientos y validar que las funciones se implementan correctamente. Los valores de cali​dad que tienen mayor 7
  • 9. relevancia en las aplicaciones son: usabilidad , funcionalidad, fiabilidad, seguridad, eficiencia y mantenimiento. • Capacitación y formación del usuario: debe encararse desde el punto de vista de los usuarios. Puede ser útil preguntarles, durante la capacitación, cómo hacían antes ciertos procesos o tareas. Depen​diendo del tipo de actividad que se vaya a desempeñar, la capacitación puede acompañarse con algunos manuales de usuario. Pseudocódigo: el lenguaje humano    Existen dos modos de representar algoritmos: mediante gráficos (como los diagramas                         de flujo o los diagramas Nassi​Shneiderman) o por medio de una sintaxis, como                           pseudocódigo. Las ventajas de utilizar un pseudo​código, en vez de un diagrama de flujo,                             son las siguientes:    • Ocupa menos espacio en la hoja de papel.  • Permite representar fácilmente operaciones repetitivas complejas.  • Simplifica el pasaje de un pseudocódigo a un lenguaje de programación.  • Permite observar con claridad los niveles que tiene cada operación.      El pseudocódigo posee una escritura similar a la de un lenguaje de pro​gramación, por lo                                 tanto, contiene un determinado léxico. Se trata de letras o caracteres que serán válidos                             para escribir las instrucciones que deseamos transmitir. La sintaxis es la especificación de                           palabras clave en combinación con otras que usaremos para formar las oraciones, mientras                           que la semántica es el significado que les daremos a dichas frases.   Una de las normas generales que encontraremos es la estructura secuencial: una                           acción o instrucción que sigue a otra en secuencia. Las tareas se suceden de tal modo que                                   la salida de una es la entrada de la siguiente, y así hasta el fin del proceso. Vemos cómo se                                         representa una estructura secuencial en pseudocódigo.            8