TAREA #1 Bibliografía Interna: Hogan, Brian P., HTML5 and CSS3 :develop with tomorrow's standards today /Brian P. Hogan Pipes, Alan. Diseño de sitios web /Alan Pipes. Barcelona : Promopress, 2011. Beaird, Jason. Diseño web :edición 2008 /Jason Beaird ; Madrid : Anaya Multimedia, 2007. Pérez López, César. Dreamweaver MX 2004 :desarrollo de páginas web dinámicas con PHP y MySQL, México, D.F. : Alfaomega : Ra-Ma, c2004. Schmitt, Christopher, Curso de CSS /Christopher Schmitt. Madrid : Anaya Multimedia, c2007. Parsons, David, Desarrollo de aplicaciones Web dinámicas con XML y Java, Madrid : Anaya Multimedia, 2009. Gutiérrez Gallardo, Juan Diego, Desarrollo web con PHP 6 y MySQL 5.1,Madrid, España : Anaya Multimedia, c2010. Alvarez García, Alonso, HTML :incluye nuevas características de la versión 5. Madrid : Anaya Multimedia, c2008. Soria Momparler, Ramon, Navegar en Internet HTML 4 :diseño y creacion de paginas Web. México, D.F. : Alfaomega, c2002. Lemay, Laura. Aprendiendo HTML para WEB en una semana, México : Prentice Hall Hispanoamericana, c1995. Bibliografía Externa: Choi, et al., Beginning PHP4, Wrox Press Ltd, E.U.A., 2000. Flanagan, D., Java script the definitive guide, O´reilly, E.U.A., 1997 . Gundavaram, et al., CGI programming with Perl, O'Reilly & Associates, China, 2000. Jones, R., Visual Basic developer's guide to ASP and IIS, Sybex, E.U.A., 1999 . Marchal, B., Xml con ejemplos, Pearson Education, México, 2001 . Musciano y Kennedy, HTML The definitive guide, O´reilly, E.U.A., 1998. Felton, M., CGI: Internet programming in C++ and C, Prentice Hall, E.U.A., 1997 Laor, O., CGI Programming with Visual Basic 5, McGraw Hill, E.U.A., 1997 Wall, et al., Programming Perl, O'Reilly & Associates, E.U.A., 2000. La bibliografìa expuesta, se puede consultar de forma fisica en las bibliotecas de la unam, en especifico en la Biblioteca de la Fes Acatlán y la Biblioteca Central ubicada en Cuidad Universitaria, de igual forma se puede ingresar en la base de datos de los libros con los que cuenta la UNAM (Catalógo de libros), para obtener mas referencias al respecto. Significado de las siglas: WWW: World Wide Web (Red Informática mundial). HTTP: Hyper Text Transfer Protocol (Protocolo de transferencia de hipertexto). HTML: Hyper Text Markup Language (Lenguaje de Marcado de Hypertexto). SGML: Standard Generalized Markup Language (Lenguaje de Marcado de Anotaciones Generales). CGI: Cammon Gateway Interface SSI: Server Side Includes. PHP: Hypertext Pre-`Processor ASP: Active Server Pages. CSS: Cascading Style Sheets ( Hojas de estilo en cascada). XML: eXtensible Markup Language ( Lenguaje de marcas extensibles). DDT: Document Type definition (Definición de tipo de documento). JSDK: Java Development Kit. JRE: Java Rutime Evironment (Permite la ejecución de programas Java). JSP: Java Server Pages (Genera contenido dinámico para web). JDBC: Java Database Connectivity (Permite la ejecución sobre base de datos desde Java). Ingeniería de Software e Ingeniería Web La IngenierÍa de Software es una disciplina o area de la informática o ciencias de la computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Para ello enfoquémonos en dos conceptos mundamentales: a) Ingenieria: Es el conjunto de conocimientos y técnicas científicas aplicadas a la creación, perfeccionamiento e implementación de estructuras (tanto físicas como teóricas) para la resolución de problemas que afectan la actividad cotidiana de la sociedad. b) Software: Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación. Con lo cual la ingeniería de software es una disciplina que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema hasta el mantenimiento de este, integrando procesos, métodos y herramientas para el desarrollo del mismo. La ingeniería de software apareció en 1950 y principios de los años 1960, pero apareció como tal a raíz de la llamada crisis del software de la década de 1960, 1970 y 1980, que identifica muchos de los problemas de desarrollo de software, dado que los proyectos de software sobresaron el presupuesto y el tiempo estimados, en general esta crisis fue definida por la productividad, pero evoluciono para enfatizar la calidad. Durante décadas, solucionar la crisis del software fue de suprema importancia para investigadores y empresas productoras de herramientas de software. El costo de propiedad y mantenimiento del software en la década de 1980 fue dos veces mas caro que el propio desarrollo del software. Logrando que muchos de los grandes productos de software eran entregados al cliente con tales fallas que no son usados en absoluto, o no cumplen con los requerimientos del cliente.En la decada de los 90 y el auge de la Internet condujo a un rapido crecimiento en la demanda de sistemas que permitieran el despligue de la informacion en la WWW. El crecimiento del uso del navegador, corriendo en el lenguaje HTM, cambio la manera en que estaba organizada la visualización y la recuperaciòn de la misma, logrando asi un crecimiento de buscadores, prevencion de virus informáticos y el rediseño de sistemas computacionales. Con la creciente demanda de software en muchas organizaciones pequeñas, la necesidad de soluciones de software de bajo costo llevó al crecimiento de metodologías más simples y rápidas que desarrollaran software funcional, de los requisitos de implementación, más rápidos y más fáciles. Objetivos de la Ingenieria de Software Mejorar la calidad de los productos de software. Aumentar la productividad y trabajo de los ingenieros del software. Facilitar el control del proceso de desarrollo de software. Suministrar a los desarrolladores las bases para construir un software de la mas alta calidad. Definir una disciplina que garantice la producción y el mantenimiento del software desarrollados. El rápido desarrollo de Internet y todas las aplicaciones asociadas a la World Wide Web crearan un nuevo concepto de software con diferentes especificaciones aún más complexas y críticas. La evolución de las aplicaciones Web tiene a lo largo de estos últimos diez años sufrido grande cambios, su aplicaciones iniciales apenas corrían dentro de la ventada de un navegador sendo consideradas paginas estáticas. En Diciembre de 1995 surge el Javascript posibilitando otro tipo de publicaciones de información como: la interactividad; validación y procesamiento de datos, pero siguen por resolver algunos problemas de compatibilidad y de seguridad. Después surgió el DHTML el acceso a base de datos con el PHP. Hoy surge una nueva tecnología el Ajax que trae una vez más problemas con la compatibilidad (diferencias al nivel de Java Script e XMLHttpRequest), permitiendo por su vez la construcción de aplicaciones mucho más próximas de las aplicaciones “desktop”. La correcta utilización de todas las tecnologías referentes a la Web (desde el XHTML, CSS, Ajax,…) requiere un elevado padrón de formación en lo que dice respecto a la construcción de software para la Web, requiriendo que la ingeniería Web sea capaz de responder al desarrollo correcto del software de acuerdo con las nuevas exigencias y posibilidades que las herramientas ofrecen para la distribución de información. La crisis del software que dura casi tanto desde el origen del concepto de ingeniería del software surge recientemente en un nuevo concepto con las aplicaciones para la Web llamado de crisis de la Web. En suma las nuevas aplicaciones para la Web, esto es el software que se desarrolla para la Web, hico con que surgiese el concepto de ingeniería Web, que no es más que la ingeniería del software aplicada en el desarrollo de software para la Web. La ingeniería Web surge entonces del rápido crecimiento de la Web, su impacto en los diversos sectores de la sociedad y asociado al avance de las TIC. Este rápido crecimiento hico con que los sistemas no son lo qué el usuario quiere, el tiempo de desarrollo y el coste sonsuperiores al esperado, hay una falta de escalabilidad y capacidad de mantenimiento de los propios sistemas, con limitado tiempo de vida útil. Este nuevo tipo de software necesita entre otros que los ingenieros Web tengan en atención factores como: la capacidad de mantenimiento, la escalabilidad, la accesibilidad, la usabilidad y la seguridad.