Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos
Esta unidad tiene como objetivo que el estudiante comprenda los principios del desarrollo de aplicaciones. Para ello, se revisar los temas de pginas web, wikis y blogs, sistemas de creacin de contenidos (CMS), aplicaciones mviles y bases de datos.
Sistemas operativos
Las primeras computadoras eran capaces de realizar solamente una tarea o trabajo a la vez, a travs del procesamiento por lotes (batch) de un solo usuario. Los usuarios asignaban sus trabajos a un centro de cmputo que los introduca en paquetes de tarjetas perforadas, y a menudo tenan que esperar horas, o incluso das, antes de que sus resultados impresos regresaran a sus escritorios. El software denominado sistema operativo se desarroll para facilitar el uso de la computadora. Los primeros sistemas operativos administraban la transicin entre trabajos, incrementando la cantidad del flujo de datos que las computadoras podan procesar. Posteriormente se hicieron uso de tcnicas de multiprogramacin y tiempo compartido.
Introduccin al Desarrollo de Aplicaciones 5
Software
Clasificacin del Software
Software de Sistema
Software de Programacin
Software de Aplicacin
Qu es una Aplicacin?
Programa informtico diseado como herramienta para permitir realizar uno o diversos tipos de trabajo Suelen utilizarse para la automatizacin de tareas complicadas como la contabilidad, gestin de almacenes y buscadores de informacin Existen aplicaciones desarrolladas a medida y otros llamados paquetes integrados
Ejemplos de Aplicacin
Aplicaciones a Medida
Paquetes integrados
10
Software de Aplicacin
Es aquel que permite a los usuarios llevar a cabo una o varias tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios
Especializado o personalizado
Programas desarrollados para atender una necesidad especfica
Types of Programs Colegios Restaurantes Tiendas de retail Intituciones financieras Sitios de compras por Internet Industrias Examples of Tasks Matrcula, asistencia, administracin de notas, etc Procesar las rdenes, cuentas por mesa, inventario de insumos, recetas, etc. Registro de productos, administracin de precios, etc Administracin de cuentas de clientes, tarjetas de crdito eBay, Mercado libre, Kotear, etc. Manufactura de productos, control de procesos, etc.
Transporte
Software cientfico
Diagrama de Aplicaciones
13
14
15
Desarrollo de Aplicaciones
16
Desarrollo de Aplicaciones
El desarrollo de aplicaciones encaja dentro de la Ingenieria de Software Se pueden considerar los siguientes procesos:
Proceso de Gestin del Proyecto
Planificar las actividades y monitorear el desarrollo de la aplicacin
17
Gestin de Proyectos
Proyectos:
Esfuerzo temporal que se lleva a cabo para crear un producto, servicio u obra.
Gestin de Proyectos:
Organizacin y administracin de los recursos que intervienen en un proyecto de manera tal que ste se pueda culminar dentro del alcance, del tiempo y los costes definidos
18
Tiempo Planificacin
Recursos Materiales
Producto Alcance
Costos Presupuestos
19
Ejecucin
Monitoreo y Control
Cierre
20
Desarrollo Framework
Continuara
Ambiente Mtricas
21
Herramientas: Gantt
Es una herramienta grfica cuyo objetivo es mostrar el tiempo de dedicacin previsto para diferentes tareas o actividades a lo largo de un tiempo determinado
22
Desarrollo de Proyectos
Una vez definido el producto y los requerimientos se deben definir:
Una arquitectura adecuada para el producto Lenguaje de programacin adecuado Seleccionar el equipo de trabajo adecuado Establecer el plan de trabajo de acuerdo la arquitectura, lenguaje de programacin y equipo
23
Control de Versiones
Seguimiento de las diferentes versiones del software Tener versiones independientes de la aplicacin Copia de Seguridad
Construccin Automatizada
Peridicamente (cada noche, semanal, etc)se debe construir todo el proyecto De esta forma se pueden detectar errores rpidamente Sistemas de construccin automatizada
Simple cron job buildbot
26
Refactoring
La reconstruccin es un cambio en la arquitectura, diseo de la aplicacin o una pieza de software sin cambiar la funcionalidad visible de la aplicacin Por que hacer la reconstruccin
Mejorar el desarrollo Preparar la aplicacin para crecer
Testing
28
Testing
Ralph Johnson
29
Testing
Parte importante del desarrollo de software Pruebas
Encontrar errores, entre otras cosas Probar la existencia de errores, no su ausencia Hacer los cambios fciles Ayudar a entender que es lo que debera hacer el software
30
Testing
Tipos de pruebas: Pruebas unitarias, pruebas de sistemas, pruebas de integracin, pruebas de estress, Opciones para pruebas
Automatizado, que se ejecuta con cada compilacin Manual, se ejecuta en forma ocasional
31
32
Qu es Internet?
Se podra decir que Internet esta formado por una gran cantidad de ordenadores que pueden intercambiar informacin entre ellos. Los ordenadores se encuentran unidos mediantes conexiones y utilizan un protocolo comn TCP/IP.
34
Qu es Internet?
El usuario se conecta a un modem o router, utilizando lnea telefnica, cable, satlite, etc. Luego el modem o router utiliza el protocolo TCP/IP y se comunica con su proveedor de servicios ( ISP Internet Services Provider) El proveedor de Internet asigna un IP y a partir de ese momento se establece la comunicacin con los servidores
Introduccin al Desarrollo de Aplicaciones 35
Servidor
En informtica, un servidor es una computadora que, formando parte de una red, provee servicios a otros denominados clientes. Ejemplos de servicios a ser brindados:
Servidor de Base de Datos Servidor de Aplicaciones Servidor de FTP
36
Servidor Web
Un servidor web es un programa que implementa el protocolo HTTP (Hyper Text Transfer Protocol). Este protocolo esta diseado para transferir pginas web o pginas HTML.
37
Servidor Web
Se mantiene a la espera de peticiones HTTP por parte de un cliente HTTP que solemos conocer como navegador El cliente realiza una peticin al servidor y ste le responde con el contenido que el cliente solicita.
38
Caractersticas
Un ejemplo muy claro es cuando accedemos desde nuestro computador a una direccin de internet ( www.paginasamarillas.com.pe ) El servidor responde enviando la pgina HTML correspondiente. El cliente recibe el cdigo, lo interpreta y lo exhibe en pantalla El servidor slo transfiere la informacin, no realiza ninguna interpretacin
Introduccin al Desarrollo de Aplicaciones 39
Ejemplo
40
42
Tipos de Servidores
Los servidores se clasifican de acuerdo a si soportan Pginas web estticas, dinmicas o ambas Por ejemplo:
Servidor web que soporta pginas web HTML.
Apache es un servidor web, con algunas libreras soporta trabajar con el lenguaje de programacin PHP.
Servidor de Aplicaciones,
Genera pginas HTML y tambin da soporte a Java y la especificacin JEE ( Especficamente EJB )
Introduccin al Desarrollo de Aplicaciones 43
HTTP(S)
Ubicacin de Pginas Estticas
Base de Datos
HTTP(S)
Ubicacin de pginas estticas y script PHP Ubicacin de informacin relacionada a los sistemas
El Apache se puede utilizar para generacin de pginas dinmicas con PHP utilizando determinados plugins. Utilizando PHP accedemos a base de datos
Introduccin al Desarrollo de Aplicaciones 45
Internet Browser
HTTP(S)
Pginas estticas
App Server 2
Como servidores de Aplicacin tenemos al IIS (Para ASP) o el Tomcat(Para Java) y JBoss (Para Java) Como base de datos se pueden utilizar : Oracles, MySQL, SQLServer entre otras.
Introduccin al Desarrollo de Aplicaciones 46
Aplicaciones
Se tienen paquetes que nos brindan todos los elementos para el desarrollo de Aplicaciones:
WAMP LAMP XAMP
Estos paquetes proporcionan soportes para trabajar con PHP como lenguaje de programacin y MySQL como base de datos.
Introduccin al Desarrollo de Aplicaciones 47
48
Ingresen a www.apachefriends.org Luego, a XAMPP para Windows y leemos todo el tema de instalacin
49
50
51
52
53
54
55
56
57
58
59
61
Qu es un CMS?
Facilita la gestin del contenido en todos sus aspectos: creacin, mantenimiento, publicacin y presentacin Un CMS(Content Management System) o Gestor de Contenidos es un programa utilizado que crea un marco de trabajo para el contenido de un website.
62
63
Caractersticas de CMS
Utiliza base de datos para guardar el contenido Permite a un gran nmero de personas a contribuir y guardar informacin Tiene un control de acceso a los usuarios basados en perfiles y roles
Los perfiles definen que puede ver y editar cada usuario
Permite una fcil recuperacin y almacenamiento de informacin Reduce el ingreso de informacin repetida o duplicada Facilita la creacin de escritos o reportes Mejora la comunicacin entre usuarios Etc
Introduccin al Desarrollo de Aplicaciones 64
Ejemplos de CMS
66
Contenido
Pginas simples Pginas complejas, con una presentacin especifica Informacin dinmica de base de datos Material de entrenamiento Manuales online Documentos de la empresa Cientos de pginas en total
Introduccin al Desarrollo de Aplicaciones 68
69
Creacin de contenido
Entorno de edicin integrado
Los creadores de contenido pueden utilizar todas las facilidades
Separacin del contenido y la presentacin Multi usuario Rehus de contenido Creacin de meta data para las pginas Manejo de enlaces Creacin de contenido sin conocimientos tcnicos
Introduccin al Desarrollo de Aplicaciones 70
Administracin de contenido
Control de versiones Flujo de trabajo
Perfiles de revisin y aprobacin por ejemplo
71
Publicacin
Uso de hojas de estilo
La presentacin final es administrada con hojas de estilo
Personalizacin
Introduccin al Desarrollo de Aplicaciones 72
Presentacin
Usabilidad
Cubre aspectos como fcil de aprender y utilizar
Accesibilidad
El CMS debe ajustarse a las normas tales como W3C
Soporte
Entrenamiento Documentacin Garanta Acuerdos de mantenimiento Recursos requeridos Conocimientos requeridos Costo Escalabilidad Sites de referencia
Introduccin al Desarrollo de Aplicaciones 74
Pginas Web
Una pgina web es el nombre de un documento electrnico adaptado para la World Wide Web (Internet). La informacin generalmente se encuentra en formato HTML o XHTML Generalmente contienen:
Hojas de estilo Java Scripts Imgenes digitales
Introduccin al Desarrollo de Aplicaciones 75
Ejemplo de Pgina
<html> <head> <title>Pagina de Bienvenida</title> </head> <body> <h1>Bienvenidos</h1> </body> </html>
76
Seleccionar el dominio
Seleccionar el Hosting
La compra de dominio y hosting es la parte inicial, luego se debe construir la pgina web. Una forma sencilla y rpida es utilizando un gestor de contenidos
Introduccin al Desarrollo de Aplicaciones 77
78
2. Hosting
En lo que respecta a Hosting se tienen diferentes planes. Depende del espacio en disco, sistemas operativo, que lenguajes de programacin soporta, entre otras
79
Website gratuitos
80
Website gratuitos
Por lo general los websites gratuitos tienen capacidades limitadas No soportan trabajar con lenguajes de programacin La URL de la pgina es un sub dominio del website
Ejemplo: http://seo-peru.blogspot.com
81
Qu es un Blog?
82
Caractersticas de un Blog
83
Software de Blog
84
Qu es un Wiki?
85
86
Software de Wikis
87
88