lunes, 4 de noviembre de 2013

ingenieria web

INGENIERIA WEB
 INTRODUCCION.
¿QUES ES? 
Las dos primeras actividades del marco de trabajo de la ingeniería web destacan la formulación y la planeación. La formulación valora la necesidad subyacente de la WebApp, las características y funciones globales que desean los usuarios y el ámbito del esfuerzo de desarrollo. La planeación aborda los elementos que deben definirse para establecer un flujo de trabajo y un programa, y a rastrear el trabajo conforme avanza el proyecto. ¿QUIEN LO HACE? Los ingenieros Web, sus administradores y los participantes sin funciones técnicas; todos participan en le formulación y la planeación.
¿POR QUE ES IMPORTANTE? 
Es difícil viajar a un lugar se ha visitado sin direcciones o un mapa. Eventualmente se llega (o tal vez no), pero con seguridad el viaje será frustrante y largo en forma innecesaria. La formulación y la planeación proporcionan un mapa para un equipo de ingeniería Web. -------------------------------------------------------------------------------------------------------------- 
EL EQUIPO DE INGENIERIA WEB.
Un equipo de ingeniería Web exitoso mezcla una amplia variedad de talentos que deben trabajar como equipo en un ambiente de proyecto con alta presión, Los plazos son cortos, los cambios son inexorables y la tecnología continúa cambiando. La creación de un equipo que se consolide no es asunto sencillo. 
 1.-Los actores La creación de una aplicación Web exitosa demanda un amplio abanico de habilidades, los equipos de ingeniería Web se pueden organizar, en gran medida, en la misma forma que los equipos de software tradicionales, Sin embargo, los actores y sus papeles usualmente son bastante diferentes, Entre las muchas habilidades que se deben distribuir entre los miembros del equipo Web se encuentran: ingeniería del software basada en componentes, realización de redes, diseño arquitectónico y de navegación, lenguajes/estándares de internet, diseño de interface humana, diseño gráfico, disposición del contenido y pruebas de las WebApps. Los siguientes papeles se deben distribuir entre los miembros del equipo web. . Desarrolladores/proveedores de contenido Dado que el contenido controla inherentemente las webApps, una función del equipo web se debe enfocar en la generación o recopilación del contenido. Recuérdese que el contenido abarca un amplio abanico de objetos de datos, por ello los desarrolladores/proveedores de contenido pueden provenir de diversos ámbitos (no de software). Ingeniero Web. El ingeniero Web se involucra en un amplio rango de actividades durante el desarrollo de una WebApp, que incluyen la obtención de requisitos, el modelado de análisis, el diseño Arquitectónico, de navegación y de interface, la implementación de la WebApp y las pruebas. El ingeniero Web también debe tener una sólida comprensión de las tecnologías de componentes, de las arquitecturas cliente/servidor, de HTML/XML y de tecnologías de Bases de datos, y un conocimiento práctico de los conceptos multimedia, de las plataformas hardware/software, de la seguridad de redes y de cuestiones de apoyo a sitios web. Expertos en dominios empresariales. Un experto en dominio empresarial debe ser capaz de responder todas las preguntas relacionadas con metas, objetivos y requisitos empresariales relacionados con la WebApp. Especialista de soporte. Este papel se asigna a la persona (personas) que es (son) responsable(s) del apoyo continuo a la WebApp. Puesto que las WebApps evolucionan continuamente, el especialista de soporte es responsable de las correcciones, adaptaciones y mejoras al sitio, que incluyen actualizaciones de contenido, implementación de nuevos procedimientos y formas y cambios al patrón de navegación. Administrador. Usualmente llamado "web máster", esta persona tiene la responsabilidad de la operación diaria de la WebApp. Puesto que incluye: desarrollo e implementación de políticas para la operación de la WebApp. Establecimiento de procedimientos de soporte y retroalirnentación, implementación de seguridad y derechos de acceso, medición y análisis de tráfico del sitio Web, coordinación de los procedimientos de control de cambios y coordinación con el especialista de soporte. El administrador también puede estar involucrado en las actividades técnicas que realizan los ingenieros web y los especialistas de soporte. Editores de web. El variado contenido que generan los respectivos desarrolladores/proveedores se debe organizar para incluirlo en la WebApp. Además, alguien debe actuar como conexión entre el equipo técnico que diseña la WebApp y los desarrolladores/proveedores de contenido sin conocimientos técnicos. Este papel lo satisface el editor de Web, quien debe entender tanto el contenido como la tecnología de la WebApp. Construcción del equipo Los siguientes puntos clave tienen particular relevancia cuando una organización construye un equipo de ingeniería Web: Se debe establecer un conjunto de directrices de equipo. Dichas directrices abarcan lo que se espera de cada persona, cómo se lidiará con los problemas y qué mecanismos existen para mejorar la efectividad del equipo conforme avanza el proyecto. El liderazgo fuerte es una obligación. El líder del equipo debe guiar mediante el ejemplo y el contacto. Debe mostrar un grado de entusiasmo que impulse a otros miembros del equipo "a endosarse" psicológicamente al trabajo que enfrentan. El respeto hacia los talentos individuales es crucial. Nadie es bueno en todo. Los mejores equipos utilizan las fortalezas individuales. Los mejores líderes de equipo permiten que los individuos tengan libertad para seguir una buena idea. • Cada miembro del equipo se debe comprometer. • Es fácil comenzar, lo difícil es mantener el ímpetu. • Los mejores equipos nunca dejan que un problema "insuperable" los detenga. • Los miembros del equipo desarrollan una solución "lo suficientemente buena" y proceden, con la esperanza de que el ímpetu del progreso pueda conducirlos a una solución todavía mejor en el largo plazo.
 CONFLICTOS DE GESTIÓN DE PROYECTO PARA INGENIERIA WEB 
Una vez realizada la formulación y que se han identificado los requisitos básicos la WebApp, la empresa debe elegir una de dos opciones de ingeniería Web. La WebApp es subcontratada (outsourced): la ingeniería Web la realiza un tercer proveedor dar con experiencia, talento y recursos con los cuales no cuente la empresa. 
La WebApp la desarrollan en casa ingenieros Web que sean empleados de la empresa. Hacer algún trabajo de ingeniería Web en casa y subcontratar otro trabajo también es una posibilidad. El trabajo que debe realizarse Sigue siendo el mismo sin importar si una WebApp es subcontratada, desarrollada en casa o distribuida entre un proveedor externo y el equipo de casa. No obstante, si cambian los requisitos de comunicación, la distribución de actividades técnicas, el grado de interacción entre clientes y desarrolladores, y una diversidad de otros conflictos crucialmente importantes. La figura ilustra, respecto a las WebApps, la diferencia organizacional entre subcontratación y desarrollo en casa. Éste (figura a) integra directamente todos los miembros del equipo de ingeniería Web (el circulo punteado implica integración). 
La comunicación se establece mediante los caminos de la organización. En cuanto a la subcontratación (figura b), es impráctico y desaconsejable que cada elemento de casa (por ejemplo, desarrolladores de contenido, accionistas, ingenieros Web internos) ) tenga comunicación directa con el subcontratista sin que exista algún elemento de conexión para coordinar y controlar la comunicación. Planeación de WebApp: subcontratación Un porcentaje sustancial de las WebApps se subcontrata con proveedores que (supuestamente) se especializan en el desarrollo de sistemas y aplicaciones basados en Web." En tales casos. un negocio (el cliente) pide un precio fijo para desarrollar la WebApp de uno o más proveedores. evalúa los precios competitivos y luego elige un proveedor para efectuar el trabajo. Pero, ¿qué busca la organización contratante? ¿Cómo se determina la competencia de un proveedor de WebApps? ¿Cómo se sabe si una cotización es razonable? ¿Qué grado de planeación, programa de trabajo y valoración de riesgo se pueden esperar conforme una organización (y su subcontratista) se embarca en un esfuerzo por desarrollar una gran WebApp? . Estas preguntas no siempre son fáciles de contestar, pero vale la pena considerar algunos Lineamientos. Inicio del proyecto Si la subcontratación se elegirá corno la estrategia para desarrollar la WebApp, la organización debe realizar una serie de tareas antes de buscar una empresa subcontratista que haga el trabajo: Realizar, internamente, muchas de las labores de análisis tratadas en la sección Desarrollar internamente un diseño aproximado de la WebApp.
 Elaborar un programa aproximado que incluya no sólo las fechas finales de entrega, sino también fechas clave. Crear una lista de responsabilidades para la organización interna y el subcontratista. Identificar el grado de supervisión e iteración de la organización contratante con el subcontratista. Toda la información generada durante estos pasos deberá organizarse en una solicitud de presupuesto que se entrega las empresas candidatas. Selección entre los subcontratistas candidatos. Con la finalidad de elegir desarrolladores web candidatos. el contratante debe realizar algunas diligencias obligadas: 1.-Entrevistar a los clientes antiguos para determinar el profesionalismo del vendedor Web. Así como su habilidad para cumplir con compromisos de plazos y costos, y su destreza para comunicarse efectivamente. 2.-Determinar el nombre de (los) ingeniero(s) Web jefe de la empresa subcontratista para buscar proyectos anteriores exitosos y, (después, asegurarse de que esta persona tenga la obligación contractual de estar involucrada en su proyecto). 3.-Examinar cuidadosamente ejemplos del trabajo del subcontratista que sean Similares en apariencia y sentido (y área de negocios) a la WebApp. Valoración de la validez de las cotizaciones y la confiabilidad de las estimaciones. Puesto que existen relativamente pocos datos históricos y que el ámbito de las WebApps es fluido en forma notoria la estimación inherentemente riesgosa. Por esta razón, algunos proveedores incorporarán márgenes de seguridad sustanciales en cotizaciones para un proyecto. Esto es comprensible y apropiado. La pregunta no es si se ha obtenido la mejor solución por la inversión. Más bien, las preguntas deben ser: ¿La cotización de la WebApp ofrece un rendimiento sobre la inversión, directo indirecto, que justifique el proyecto? ¿La empresa emisora de la cotización tiene el profesionalismo y la experiencia que se requieren? Si las respuestas a estas preguntas son afirmativas la cotización es justa. Comprensión del grado de gestión del proyecto que puede esperar o realizar. La formalidad asociada con las labores de gestión del proyecto (que realizan proveedor y la organización contratante) es directamente proporcional al tamaño, Costo, y complejidad de la WebApp. 
Respecto a proyectos complejos y grandes necesario elaborar un programa del proyecto que defina las tareas del trabajo, los puntos de comprobación, el aseguramiento de la calidad del software, los producto de trabajo de ingeniería, los puntos de revisión del cliente y los hitos importantes. El proveedor y el contratante tendrán que valorar el riesgo conjuntamente y elaborar planes para mitigar, monitorear y manejar los riesgos considerados importantes. Los mecanismos para asegurar la calidad y el control de cambios se deberán definir explícitamente por escrito. Se deberán establecer métodos para la comunicación efectiva entre el contratante y el proveedor. Evaluación del programa del proyecto Dado que los programas de desarrolladores de webApps abarcan un periodo relativamente corto (por lo general menos de uno o dos meses para que se entregue el incremento), el programa para el desarrollo debe tener una dosificación muy precisa. 
Es decir: las tareas de trabajo y los hitos menores se deben programar en un cronograma diario. Esta dosificación precisa permite, tanto a la organización contratante como al subcontratista, reconocer la hoja suelta de la agenda antes de que amenace la fecha de finalización. Gestión del ámbito Como es enormemente probable que el ámbito cambiara conforme avance el proyecto de la WebApp, el modelo de proceso Web es adaptable e incremental. Esto permite que el equipo de desarrollo del subcontratista "congele ámbito para un incremento, de modo que se pueda crear una liberación operativa de la WebApp. El siguiente incremento puede abordar cambios en el ámbito que haya sugerido una revisión del incremento precedente, pero una vez que comience el segundo incremento el ámbito nuevamente se "congela" de manera temporal. 
Este enfoque permite que el equipo de la WebApp trabaje sin tener que acomodar una corriente continua de cambios, pero al mismo tiempo reconoce la evolución continua característica de la mayoría de las WebApps. Los lineamientos sugeridos, no intentan ser un recetario a prueba de tantos para la producción a tiempo de WebApps de bajo costo. Sin embargo, ayudarán tanto a la organización contratante como al subcontratista a Iniciar el trabajo de manera flexible con un mínimo de malas interpretaciones. 

MEDICIÓN PARA INGENIERIA WEB Y WEBAPPS 
La medición de software ofrece una base para mejorar el proceso de software, lo que aumenta la precisión de las estimaciones del proyecto, incrementa el rastreo del proyecto y mejora la calidad del software. La medición de ingeniera Web, si se caracteriza de manera adecuada, podría lograr todos estos beneficios y también mejorar la facilidad de uso, el desempeño de la WebApp y la satisfacción del usuario. En el contexto de la ingeniería Web, las mediciones tienen tres metas principales Proporcionar un indicador de la calidad de la WebApp desde el punto de vista técnico. Proporcionar una base para la estimación del esfuerzo. Proporcionar una indicación del éxito de la WebApp desde el punto de vista empresarial. Aquí se resume un conjunto de mediciones de esfuerzo común y complejidad para las WebApps. Este conjunto puede destinarse al desarrollo de una base de datos histórica para la estimación del esfuerzo. Además, la medición de la complejidad puede conducir a final de cuentas a una incapacidad para valorar cuantitativamente uno o más atributos técnicos de las WebApps. Mediciones para esfuerzo de ingeniería web.
Los ingenieros Web dedican esfuerzo humano al realizar una diversidad de tareas de trabajo conforme evoluciona una WebApp:
. 1.-Aplicación de las tareas de autoría y diseño.
  2.- Esfuerzo de auditoria