INGENIERIA WEB Ingeniería en software II
Juan Antonio Ibarra Araiza
Indice ATRIBUTOS DE LOS SISTEMAS Y APLICACIONES BASADOS EN WEB . .............................................................. 2 Estratos de la ingeniería de Web App. ................................................................................................ 3 EL PROCESO DE INGENIERÍA WEB. ............................................................................................................ 6 MEJORES PRÁCTICAS DE INGENIERÍA WEB . ............................................................................................... 7 FORMULACIÓN DE SISTEMAS BASADOS EN WEB . ....................................................................................... 9 PLANEACIÓN DE PROYECTOS DE INGENIERÍA WEB . .................................................................................. 10 EL EQUIPO DE INGENIERÍA WEB. ............................................................................................................ 12 Conflictos de gestión de proyecto para ingeniería web.................................................................... 14 MEDICIÓN PARA INGENIERÍA WEB Y WEB APPS ...................................................................................... 16 BIBLIOGRAFIA .................................................................................................................................. 17
ATRIBUTOS DE LOS SISTEMAS Y APLICACIONES BASADOS EN WEB. A diferencia del software de aplicaciones convencional, que evoluciona con una serie de versiones planificadas y cronológicamente espaciadas, las aplicaciones Web están en constante evolución. No es inusual que algunas WebApps (específicamente, su contenido) se actualicen cada hora. Algunos de los atributos que ayudan en esto son los siguientes:
Intensidad de red
Concurrencia
Desempeño
Disponibilidad
Gobernada por los datos
Sensibilidad al contenido
Evolución contínua
Inmediatez
Seguridad
Estética
Y refiriéndonos a la categoría de aplicaciones serían los siguientes:
Informativo
Descarga
Personalizable
Interacción
Entrada del
Orientada a transacciones
Orientada a servicios
Portal
a una base de datos
Almacén de datos 1. ¿Cuál es la disponibilidad ideal de una Web App? Estar disponible en todo momento las 24 horas del día los 365 días del año 2. ¿Cuál sería una limitante en el buen desempeño de una Web App? Una Espera prolongada al tiempo de cargar algo 3. ¿Cuáles son medios que ayudan en la interacción de una Web App? Cuartos de charla, tableros de anuncios o mensajería instantánea 4. ¿Qué tipo de datos puede manejar una Web App? Texto, gráficos, audio y video 5. ¿Qué se puede entender como estética de una Web App? Presentación y disposición de los elementos
Estratos de la ingeniería de Web App. El desarrollo de sistemas y aplicaciones basados en Web incorpora modelos de proceso especializados, métodos de ingeniería del software adaptados a las características del desarrollo de WebApps y un conjunto de importantes tecnologías habilitadoras. Los procesos, métodos y tecnologías proporcionan un enfoque en estratos de la IWeb que es conceptualmente idéntico a los estratos de la ingenie−ría del software Todo Enfoque debe estar sustentado en un compromiso con la calidad,
enfoque en la calidad: la base de la ingeniería que software
El proceso: define el marco de trabajo, control de la gestión del proyecto, estable el contexto en el cual se aplican los métodos técnicos, se generan los productos del trabajo.
Método: proporcionan los “como” técnicos para construir el software.
Herramientas proporción el servicio automatizado o semiautomatizado para los procesos y métodos.
Modelos de Proceso Los modelos de procesos IWeb adoptan la filosofía del desarrollo ágil. El desarrollo ágil enfatiza un enfoque de desarrollo riguroso que incorpora rápidos ciclos de desarrollo. Aun cuando rápidos ciclos de tiempo dominan la reflexión acerca del desarrollo, es importante reconocer que el problema todavía debe analizarse, debe desarrollarse un diseño, la implementación debe proceder en una forma incremental y se debe iniciar un enfoque organizado de prueba. Metodos El panorama de los métodos de IWeb abarca un conjunto de labores técnicas que permiten al ingeniero Web comprender, caracterizar y luego construir una WebAppde alta calidad. Los métodos de IWeb (que se tratan con detalle en los capítulos 18al 20) Se pueden categorizar de la siguiente manera Categorías de Métodos: Métodos de comunicación: facilita la comunicación entre ingenieros Web y los demás participantes. Recolección de requisitos. Evaluación de incrementos
Métodos de análisis de requisitos: proporcionan una base para comprender la función que proporcionará al final y los modos de interacción que cada clase de requerirá. Métodos de diseño: técnicas de diseño que abordan el contenido, la aplicación, la arquitectura de información, … •Métodos de prueba: incorporan revisiones técnicas formales, pruebas de navegación, de seguridad, etc. Herramientas y Tecnología: A lo largo de la década pasada ha evolucionado un amplio conjunto de herramientas y tecnología conforme las Web Apps se han vuelto más complejas y extendidas. Dichas tecnologías abarcan un amplio conjunto de descripción de contenido y lenguajes de modelación 1. ¿Cuáles son algunas herramientas tecnológicas en las que nos podemos apoyar? –Descripción de contenido y lenguajes de modelación (HTML, XMIL, etc) –Lenguajes de programación –Recursos basados en componentes –Navegadores, herramientas multimedia, etc. 2. ¿Qué busca el modelado de un proceso? la filosofía de desarrollo ágil –Reducir el ciclo de desarrollo 3. ¿Qué es importante en el proceso de desarrollo? •Adopte el cambio
•Aliente la creatividad y la independencia del equipo de desarrollo y fortalezca la interacción con los accionistas de la Web App •Construya sistemas que utilicen pequeños equipos de desarrollo •Subraye el desarrollo evolutivo o incremental mediante el uso de cortos ciclos de desarrollo 4. ¿Qué es el VRML y para qué sirve? Lenguaje para Modelado de Realidad Virtual, sirve para crear mundos en tres dimensiones a los que accedemos utilizando nuestro navegador 5. ¿Menciona 2 lenguajes de programación que se usan para el desarrollo de Web Apps? JavaScript y PHP
EL PROCESO DE INGENIERÍA WEB. El proceso de ingeniería web tiene sus características como inmediatez y transformación y el crecimiento continuo, que posibilita que el se involucre, facilitando el desarrollo de productos que se ajustan mucho lo que éste busca y necesita. Los pasos más resaltantes del proceso de la ingeniería web: enunciación, planificación análisis, modelización, generación de páginas, test y evaluación del cliente. 1. ¿Cuáles son las etapas de la metodología? Formulación. Planificación. Análisis. Ingeniería. Generación de páginas.
Pruebas. Evaluación del cliente. 2. ¿En qué consiste la formulación? Se identifican las metas y los objetivos del sistema, constituyendo de esta manera el motivo del progreso del sistema, su importancia y los s potenciales. 3. ¿Cuáles son los 4 tipos de análisis? Análisis del contenido, Análisis de la interacción Análisis funcional Análisis de la configuración. 4. ¿Qué se realiza en la etapa de ingeniería? Consiste en la realización de diseños tanto del tema como el de fabricación, en paralelo con los diseños arquitectónicos, navegación e interfaz. 5. ¿En que tapa se realiza la corrección de fallas? Evaluación del cliente
MEJORES PRÁCTICAS DE INGENIERÍA WEB. La Ingeniería Web es un proceso utilizado para crear, implantar y mantener aplicaciones y sistemas web de alta calidad. Es por eso que para la construcción de estas aplicaciones web se debe aplicar un conjunto de buenas prácticas en donde se toman en cuenta los modelos que expone la ingeniería de software. Algunos ejemplos de estas buenas prácticas son:
Describir cómo interactuarán los s con la Web App aplicando un enfoque basado en escenarios. Revisar la consistencia y calidad de los modelos. Utilizar herramientas y tecnología que permitan construir el sistema con tantos componentes reutilizables. No apoyarse en s anteriores para depurar la Web App pues estarán acostumbrados a la primera versión de la aplicación esperando que funcione de la misma manera Asignar el tiempo necesario para comprender las necesidades del negocio y los objetivos del producto, y colocar especial atención cuando los detalles de las Web Apps son ligeros, si éstos no se logran completar el resultado puede ser un buen trabajo técnico, pero no ser lo que el precisa . Desarrollar un plan del proyecto, incluso si es muy breve, debe ser exacta, por los plazos cortos, muchas veces el proyecto debe planearse y rastrearse diariamente. Asignar un tiempo adecuado para el modelado. 1. ¿Qué se utiliza para la realización del modelado de un plan de proyecto? UML, diagramas de secuencia 2. ¿Qué significa UML? El lenguaje unificado de modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software 3. ¿Qué significa RTF?
El Rich Text Format (formato de texto enriquecido, a menudo abreviado como RTF) es un formato de archivo informático desarrollado por Microsoft en 1987 para el intercambio de documentos multiplataforma. 4. ¿Cuál es una buena práctica antes de realizar la liberación de un sistema? Diseñar pruebas amplias y ejecutarlas 5. ¿Cuál es una de las ventajas de la tecnología? La reutilización de componentes
FORMULACIÓN DE SISTEMAS BASADOS EN WEB. La formulación de sistemas y aplicaciones basados en web representa una secuencia de acciones de ingeniería Web que comienza con la identificación de las necesidades del negocio, se mueve hacia una descripción de los objetivos de la Web App, define grandes características y funciones y realiza la recopilación de requisitos que conducen al desarrollo de un modelo de análisis. La formulación permite que los clientes y el equipo de ingeniería Web establezcan un conjunto común de metas objetivos para la construcción de la Web App. 1. ¿Cuáles son las categorías de metas a lograr? Metas Informativas: indican una intención de proporcionar contenido y/o información específica al final. Metas aplicables: indican la habilidad para realizar alguna tarea dentro de la WebApp. 2. ¿Cuáles son los objetivos de la recopilación de requisitos? Identificar requisitos de contenido. Identificar requisitos funcionales.
Definir escenarios de interacción para diferentes de clases de s. 3. ¿Cuál es la función de los casos de uso? Proporcionan el detalle necesario para crear un modelo de análisis efectivo. Ayudan a dividir en comportamientos el trabajo de la Iweb Ofrecen una guía importante para quienes deben probar la WebAp 4. ¿Gracias a que mecanismos se puede aprovechar la comunicación?
Grupo muestral tradicional.
Grupo muestral electrónico.
Entrevistas iterativas.
Entrevista de exploración.
Construcción de escenarios.
5. ¿Cuáles son los pasos a seguir en la recopilación de requisitos? 1. Pedir a los clientes que definan las categorías de y describan cada categoría. 2. Comunicarse con los clientes para definir los requisitos básicos de la WebApp. 3. Definir los casos de que describan escenarios de interacción para cada clase de .
PLANEACIÓN DE PROYECTOS DE INGENIERÍA WEB. . 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.
Por una parte, existe una tendencia a diferir, a esperar hasta que toda f esta cruzada y toda i tenga punto antes de que comience el trabajo. Por otra parte, hay un deseo de saltar ya, de comenzar a construir incluso antes de que en realidad se conozca que se necesita hacer 1. ¿Porque 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. 2. ¿Quién lo hace? Los ingenieros Web, sus es y los participantes sin funciones técnicas; todos participan en la formulación y la planeación. 3. ¿Cuál es el producto obtenido? Puesto que el trabajo de la ingeniería Web con frecuencia adopta una filosofía ágil, los productos obtenidos para la formulación y la planeación usualmente son parcos, pero existen y deben registrarse en forma escrita. La recopilación de información durante la formulación se registra en un documento escrito en el cual se basan la planeación y el modelado de análisis. El plan del proyecto extiende el programa de este y presenta cualquier otra información que sea necesario comunicar a los del equipo de ingeniería Web y al personal externo. 4. ¿Cómo puedo estar seguro de lo que hecho correctamente? Es necesario desarrollar con suficiente detalle para establecer un mapa sólido, pero no tanto como para quedar empantanado. La información de tal formulación y la planeación debe revisarse con los clientes para garantizar que las inconsistencias las omisiones se identifiquen en una etapa temprana
5. ¿Cuáles son los pasos a seguir? La formulación comienza al establecer comunicación con el consumidor (accionista) que plantea las razones para la Web App; ¿Cuál es la necesidad del negocio, cuales s finales son el objetivo, que características y funciones se desean, que sistemas y bases de datos existentes van a tener , el concepto es realizable, como se medirá el éxito? La planeación establece un plan de trabajo, desarrolla estimaciones para valorar la factibilidad de las fechas de entrega deseadas, considera riesgos define un programa y establece mecanismos para rastreo y control
EL EQUIPO DE INGENIERÍA 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. ¿Cuáles son los actores en el equipo de ingeniería web? 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 del equipo IWeb se encuentran: ingeniería del software basada en componentes, realización de redes, diseño arquitectónico y de navegación, lenguajes/estandares 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 del equipo Iweb. 2. ¿Cuál es la función de los expertos en dominios empresariales? debe ser capaz de responder todas las preguntas relacionadas con metas, objetivos y requisitos empresariales relacionados con la WebApp. 3. ¿Qué puntos clave son importantes en la formación de un buen equipo?
Se debe establecer un conjunto de directrices de equipo.
El liderazgo fuerte es una obligación
El respeto hacia los talentos individuales es crucial.
4. ¿Qué responsabilidades tiene el ? tiene la responsabilidad de la operación diaria de la Web App. Puesto que incluye: desarrollo e implementación de políticas para la operación de la Web App. establecimiento de procedimientos de soporte y retroalimentación, implementación de seguridad y derechos de , 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. 5. ¿Cuál es la función de los editores web? El variado contenido que generan los respectivos desarrolladores/proveedores se debe organizar para incluirlo en la Web App. Además, alguien debe actuar como conexión entre el equipo técnico que diseña la Web App y los desarrolladores/proveedores de contenido sin conocimientos técnicos
Conflictos de gestión de proyecto para ingeniería web. Una vez realizada la formulación y que se han identificado los requisitos básicos la Web App, la empresa debe elegir una de dos opciones de ingeniería Web. 1.
La Web App 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.
2.
La Web App la desarrollan en casa ingenieros Web que sean empleados de la empresa.
3.
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 web App 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. 1.
¿Cuáles son los pasos para iniciar un proyecto?
Realizar, internamente, muchas de las labores de análisis tratadas en la sección
Desarrollar internamente un diseño aproximado de la Web App.
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.
2.
¿Cuáles son algunas obligaciones para el personal a contratar?
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.
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).
Examinar cuidadosamente ejemplos del trabajo del subcontratista que sean similares en apariencia y sentido (y área de negocios) a la WebApp
3.
¿Qué preguntas debes contestar afirmativamente para saber que la cotización fue justa?
¿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?
4.
¿Cuáles son puntos importantes en la creación de un proyecto pequeño?
requiere un enfoque ágil que quite el énfasis en la gestión del proyecto, pero no elimine la necesidad de planear. Todavía se aplican los principios básicos de gestión de proyectos, pero el enfoque global es más parco y menos formal. Sin embargo, conforme crece el tamaño del proyecto Web App 5.
¿Cuáles son los pasos recomendados para proyectos pequeños?
Entender el ámbito, las mediciones de cambio y las restricciones del proyecto.
Definir una estrategia de proyecto incremental.
Realizar análisis de riesgo.
Desarrollar una estimación rápida.
Elegir un conjunto de tareas (descripción del proceso).
Establecer un programa.
Establecer un enfoque de gestión de cambio.
Definir mecanismos de rastreo del proyecto.
MEDICIÓN PARA INGENIERÍA WEB Y WEB APPS 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 Web App y la satisfacción del . 1.
¿Cuáles son las 3 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
2.
¿cuáles son algunas medidas sugeridas?
Esfuerzo de estructura
Esfuerzo de interfaz
3.
4.
Planeación de interfaz
¿Cómo se divide el esfuerzo realizado en tareas?
Aplicación de las tareas de autoría y diseño
Esfuerzo de auditoria
¿con que es posible ayudarse para llevar un buen historial? Con el desarrollo de una base de datos histórica
5.
¿a qué puede conducir 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.
BIBLIOGRAFIA https://prezi.com/u74a1swcsmyu/atributos-de-los-sistemas-y-aplicaciones-basados-en-web/ https://sites.google.com/site/talleringesoftware/unidad-3/3-1-atributos-de-los-sistemas-yaplicaciones-basados-en-la-web https://sites.google.com/site/talleringesoftware/unidad-3/3-2-estratos-de-la-ingenierpia-dewebapp https://docit.tips//estratos-de-la-ingenieraa-web_pdf} https://micarrerauniversitaria.com/c-ingenieria/ingenieria-web/ http://sites.google.com/site/talleringesoftware/unidad-3/3-3-el-proceso-de-ingenieria-web http://blogspotsandraensayosisd.blogspot.com/2017/04/mejores-practica-de-la-ingenieriaweb.html https://es.wikipedia.org/wiki/Rich_Text_Format https://es.wikipedia.org/wiki/Lenguaje_unificado_de_modelado http://dianaelizabethceliyaguachi.blogspot.com/ https://sites.google.com/site/talleringesoftware/unidad-3/3-7-el-equipo-de-ingenieria-web
https://sites.google.com/site/talleringesoftware/unidad-3/3-8-conflictos-de-gestion-de-proyectopara-ingenieria-web https://sites.google.com/site/talleringesoftware/unidad-3/3-8-conflictos-de-gestion-de-proyectopara-ingenieria-web https://sites.google.com/site/talleringesoftware/unidad-3/3-9-medicion-para-ingenieria-web-ywebapps