despliegue de proyectos de software m.c. juan carlos olivares rojas

84
Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Upload: ricardo-martinez-maidana

Post on 24-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Despliegue de Proyectos de Software

M.C. Juan Carlos Olivares Rojas

Page 2: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Introducción

• Es la fase final del proyecto.

• El proyecto no se termina cuando se acaba de construir, sino que va más allá.

• Generalmente a etapa suele llamarse análisis postmortem.

Page 3: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

• Principios:

• Individuos e interacciones sobre procesos y herramientas

• Trabajo sobre el software sobre documentación comprensiva

Page 4: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

• Clientes colaborativos sobre negociación de contratos

• Responder a los cambios sobre seguir el plan

• A continuación se muestra el manifiesto ágil:

Page 5: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

1. Nuestra más grande prioridad es satisfacer a los clientes a través de entregas tempranas y continuas de software valioso.

2. Bienvenidos cambios de requerimientos, cuando aparezcan tarde en el desarrollo. Los procesos ágiles endurecen los cambios para la ventaja competitiva de los clientes.

Page 6: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

3. Entrega de trabajos de software frecuentemente, desde unas cuantas semanas hasta unos cuantos meses, con una preferencia hacia los tiempos cortos.

4. Personas de negocios y desarrolladores deben trabajar juntos diariamente en el proyecto.

Page 7: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

5. Construir proyectos con individuos motivados. Dar a los individuos el ambiente y soporte que ellos necesitan y confiar en que ellos terminarán.

6. El método más eficiente y efectivo de obtener información para y con el equipo de desarrollo es la conversación cara a cara.

Page 8: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

7. Trabajo de software es la principal medida del progreso.

8. Los procesos ágiles promueven el desarrollo sustentable.

Page 9: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

9. Los patrocinadores, desarrolladores, y usuarios deben ser capaces de mantener una paz constante indefinidamente.

10. Atención continua para la excelencia técnica y el buen diseño para mejorar la agilidad.

Page 10: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

11. Simplicidad –el arte de maximizar la cantidad de trabajo que no se hará- es esencial.

12. Las mejores arquitecturas, requerimientos, y diseños emergen desde el interior de las organizaciones.

Page 11: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manifiesto Ágil

13. En intervalos regulares, el equipo reflexionará en como ser más efectivos, luego cambiarán y ajustarán su comportamiento acorde a la situación.

Page 12: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Introducción

• En general la fase de despliegue consta de las siguientes fases:

• Entrega • Soporte• Retroalimentación

Page 13: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Entrega

• Es la fase más importante de la etapa de despliegue ya que es en este apartado cuando el proyecto pasa a las manos de los clientes.

• La fase de entrega no consiste solamente en la instalación del software, es un proceso más complejo e integral.

Page 14: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Entrega

• Uno de los entregables de cualquier proyecto es la documentación del mismo, dicha documentación se da en dos partes: documentación técnica y el manual de usuario.

• Los dos documentos son muy importantes pero son totalmente distintos.

Page 15: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Agenda

• El Manual Técnico consta generalmente de:– Delimitación– Justificación– Objetivos– Análisis– Diseño– Programas– Pruebas

Page 16: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Agenda

• El Manual del Usuario debe contener los siguientes elementos:

– Introducción– Requerimientos de H/S– Instalación– Operación

Page 17: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manual Técnico• Una adecuada documentación le proporciona

identidad y "personalidad" a un proyecto, de manera que los usuarios responsables del mismo podrían reconocer más fácilmente las ventajas y desventajas, características y funcionalidades, funciones y ventajas, así como costos y beneficios que impliquen el desarrollo del proyecto.

Page 18: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manual Técnico• La documentación de un proyecto debe contar

con las siguientes características:

• Lenguaje claro y de acuerdo al nivel aplicado: – Gerencial.– Técnico.– Usuario.

• Contemplar todos los aspectos del proyecto.

Page 19: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manual técnico

• Los documentos que componen una adecuada documentación de un proyecto deben ser los siguientes:

• Carpeta general o profesional. • Carpeta gerencial o resumen ejecutivo. • Carpeta técnica. • Plan económico (factibilidad).

Page 20: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta profesional• Consiste en un documento que detalla todos los

aspectos relacionados con el proyecto, identifica todas las bases y orígenes sobre las que nace el proyecto, además que especifica los pasos necesarios, los recursos y aplicaciones que un proyecto necesita.

• El objetivo de la carpeta profesional es servir de modelo para la implementación del proyecto a desarrollar, de manera que las personas involucradas obtengan información fácilmente en cualquier etapa del proyecto.

Page 21: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta profesional

• Los aspectos principales que debe de contemplar la carpeta profesional son:

• Definición del problema a resolver (delimitar).• Definición clara de objetivo y metas. • Áreas que involucra. • Conocimiento de la organización.

• Planteamiento claro (pasos).

Page 22: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta profesional• Investigación.

• Propuestas claras.

• Plan de trabajo.

• Recursos.

• Calendarización.

Page 23: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta profesional• Este documento va dirigido hacia personas que

van a estar relacionadas directamente con la implementación del proyecto, por lo que su nivel se orienta hacia el uso y aplicaciones utilizadas para el definir el proyecto.

• De preferencia se debe hacer carpetas especializadas por cada tipo de usuario.

Page 24: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta gerencial o resumen ejecutivo

• Este documento va dirigido hacia las personas de más alto nivel de la empresa o hacia aquellas de las que depende la decisión de implementar o no el proyecto.

• Generalmente se utiliza un lenguaje claro sin tecnicismo, en términos ejecutivos. Su extensión no debe ser mucha, y debe de recalcar los aspectos mas importantes del proyecto.

Page 25: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta gerencial o resumen ejecutivo

• Generalmente debe contener elementos gráficos y resúmenes que ayuden a identificar más fácilmente las ideas propuestas.

• Esta carpeta es importante ya que va dirigido a las personas que toman decisiones.

Page 26: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta técnica• Este documento contiene toda la información sobre los

recursos utilizados por el proyecto, llevan una descripción muy bien detallada sobre las características físicas y técnicas de cada elemento. Por ejemplo: características de procesadores, velocidad, dimensiones del equipo, garantías, soporte, proveedores y equipo adicional.

• Su extensión depende de la cantidad de recursos y equipo utilizado y generalmente se presenta en forma de fichas técnicas en donde se describe en cada una las características de cada recurso.

Page 27: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta económica (plan o propuesta).

• Este documento contiene información relacionada con el aspecto económico y de factibilidad del proyecto, su objetivo principal es describir todos aquellos costos relacionados con el desarrollo e implantación del proyecto, ayuda a la empresa a establecer marcos de referencia y evaluar mas fácilmente los alcances y disponibilidad para llevar a cabo el proyecto.

Page 28: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Carpeta económica

• Consta de 2 secciones, una de ellas es el plan económico del desarrollo del proyecto y la otra es el plan económico para implementar el proyecto (la mas importante).

• Generalmente en esta carpeta se incorpora el estudio de factibilidad que permitirá a la empresa a evaluar la posibilidad de poner en marcha la realización del proyecto.

Page 29: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Manual de usuario

• El manual de usuario es el documento técnico que explica el funcionamiento del software o prototipo desarrollado como producto resultante del proyecto.

• El manual de usuario detalla cada una de las funciones del prototipo así como la forma en que debe operar el usuario el desarrollo.

Page 30: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Introducción

• La introducción indica el contexto en que fue desarrollado el proyecto.

• Detalla las características sobresalientes del prototipo implementado.

• Muestra cada una de las demás secciones del manual de usuario.

Page 31: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Requerimientos de H/S

• En el manual de usuario se necesita indicar las características que debe poseer el software desarrollado para poderse ejecutar.

• Se debe detallar las características mínimas, recomendadas y óptimas, tanto de hardware y software.

Page 32: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Instalación

• El manual de usuario debe indicar la forma en como debe de instalarse el software desarrollado para poderse ejecutar.

• El proceso debe detallar cada una de las acciones que necesita hacer el usuario para poner a punto el sistema.

Page 33: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Operación

• El manual de usuario debe indicar cada una de las acciones que puede realizar el usuario sobre el sistema.

• El manual de usuario debe de servir de referencia a todo tipos de usuarios desde usuarios limitados hasta los administradores

Page 34: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Documentación Técnica

• Uno de los principales problemas que se presenta dentro de esta fase consiste en la redacción de documentos y presentaciones técnicas.

• A continuación se muestran algunas sugerencias para este arduo proceso, comenzando con los 7 hábitos de los programadores altamente efectivos.

Page 35: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 1: Ser proactivo• No se debe escribir reactivamente, es decir,

escribir por que tengo que escribir.

• Escribir más de lo que se me piden, sin descuidar los tipos de texto y abusar del exceso.

• Se debe encontrar el punto medio entre información excesiva y faltante.

Page 36: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 1: Ser proactivo

• Decidirse por escribir y no que el profesor les asigne tema.

• Se ocupa tener una planeación del documento, algo que pocos hacen; es decir, saber que escribir antes de escribirlo.

Page 37: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 2: Comenzar con el fin en mente

• El texto siempre debe expresar el objetivo por el cual fue hecho.

• El texto debe tener como objetivo general: ¿Quién va a leer este documento y por qué?

Page 38: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 3: Poner primero las cosas que son primero

• Este hábito tiene que ver con la administración del tiempo. Generlamente se escoge una matriz con 4 áreas: urgente-importante, no urgente-importante, urgente-no importante, no urgente-no importante.

• Al clasificar estas cosas sabemos que poner y que quitar en un escrito.

Page 39: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 4: Pensar en ganar/ganar• Está relación consiste en escribir textos con

claridad de tal forma que si escribimos bien, nos sentimos bien, tenemos menos errores, el lector revisa menos, entiende más, se le hace más claro el documento…

• Hacer las cosas bien en términos hacia los demás es mejor que simplemente hacerlas por cumplir.

Page 40: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 5: Busca primero ser entendido y luego entender

• Gastamos mucho tiempo en como escribir y como hablar, pero poco tiempo en como oír.

• Los escritores juegan un papel muy importante en como los lectores perciben la idea de algo, por eso es importante que el documento se entienda y no que yo lo entienda.

Page 41: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 6: Sinergizar

• Se basa en el fundamento que algo es tan bueno como la suma de sus partes.

• Escribir un documento en colaboración con otros, o bien un documento ser revisado por varias personas se ve sumamente enriquecido.

• La revisión de los trabajos debe hacerse a través de colegas o pares.

Page 42: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hábito 7: Afilar la vista• Siempre se debe tener la mentalidad de renovar las

cosas, en este caso el estilo de escribir, el formato del documento, etc.

• Actividad no es lo mismo que productividad, se debe tener una reflexión de lo que es el documento en vistas de mejorar.

• En áreas técnicas se conserva un protocolo pero aún así los documentos pueden ir más allá que el simple formato.

Page 43: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hipótesis

• Son explicaciones tentativas del fenómeno investigado que se formulan como proposiciones.

• Las hipótesis son el centro medular de cualquier investigación.

• Las hipótesis no son necesariamente siempre verdaderas, pueden resultar ser falsas.

Page 44: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hipótesis

• Están formadas por variables las cuales pueden ser dependientes si sufren variaciones al alterarse otras, o independientes en el caso de que no se alteran por el valor de otras variables.

• Las hipótesis pueden existir aún si el cuerpo teórico no es abundante.

Page 45: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hipótesis

• Las hipótesis pueden ser descriptivas y generalmente se manejan con la letra Hi, donde i es un subíndice.

• Las hipótesis reflejan la relación que existe entre las variables. Es muy común que esa relación se exprese en términos de lógica dado que permite una fácil demostración.

Page 46: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Hipótesis nulas• Este tipo de hipótesis son lo contrario a las

hipótesis de investigación. Generalmente están representados por la negación de la hipótesis.

• Otro tipo de hipótesis corresponde a las hipótesis alternativas, las cuales ofrecen otras descripciones o explicación al problema de investigación.

Page 47: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Tipos de hipótesis• Hi = Esta silla es roja

• Ho = Esta silla no es roja

• Ha1 = Esta silla es azul• Ha2 = Esta silla es verde

• En donde Hi es la hipótesis, Ho es la hipótesis nula y Ha es la hipótesis alternativa

Page 48: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Experimento• Experimento en su forma más general significa:

“elegir o realizar una acción” y después observar sus consecuencias.

• La forma más científica consiste en un estudio en el que se manipulan una o más variables independientes para analizar las consecuencias de éstas sobre una o más variables dependientes.

Page 49: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Pasos de un Experimento

• Paso 1: decidir cuantas variables dependientes e independientes deberán incluirse en el experimento.

• Paso 2: elegir los niveles o modalidades de manipulación de las variables independientes y traducirlos en cosas tangibles (experimentos).

Page 50: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Pasos de un Experimento• Paso 3: desarrollar el instrumento o instrumentos para

medir las variables dependientes e independientes.

• Paso 4: seleccionar una muestra de “datos” de una población para el experimento (basándose en métodos estadísticos).

• Paso 5: considerar los actores (supervisores del experimento).

Page 51: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Pasos de un Experimento

• Paso 6: seleccionar el diseño experimental apropiado para resolver nuestras hipótesis, objetivos y preguntas de investigación.

• Paso 7: elaborar la ruta crítica del proyecto del experimento.

• Paso 8: dividir los experimentos “puros” al azar para ser más justos

Page 52: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Pasos de un Experimento

• Paso 9: aplicar prepruebas, tratamientos respectivos y pospruebas a los experimentos

• La experimentación en muchas casos puede realizarse a través de técnicas de simulación y toma de decisiones como los escenarios del tipo ¿qué pasa si?

Page 53: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Ortografía

• Se debe dar una leída al documento haciendo énfasis en la pronunciación de las palabras.

• Utilizar correctores ortográficos más potentes (Aspell, Jazzy).

• Utilizar diccionarios electrónicos y manuales de ortografía.

Page 54: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Ortografía

• Tener cuidado con palabras polisemánticas u homógrafas (planta), homófonas (casa, caza).

• La mejor forma de escribir correctamente es leyendo.

• Cuidar el género y número de los sustantivos y oraciones.

Page 55: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Ortografía

• En general si se habla en tiempo pasado y futuro generalmente se acentúan los verbos.

• Si se cuenta con un sintetizador de voz (TTS Reader), se debe de utilizar.

Page 56: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Ortografía

• Se deben respetar las reglas gramaticales de la acentuación: agudas, graves, esdrújulas, sobreesdrújulas.

• No es lo mismo: capítulo que capitulo.

• Otras aunque no llevan acentos se acentúan para diferenciarlos: más y mas.

Page 57: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Ortografía

• Se debe tener cuidado al redactar un documento y utilizar vocablos del idioma original.

• Méjico es incorrecto• Ordenador, Ficheros• Vosotros, etc.

Page 58: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Ortografía

• Si se van a utilizar palabras en inglés o idiomas extranjeros se deberán traducir, salvo que el vocablo sea muy utilizado (Web) o bien no exista una traducción adecuada.

• Se debe tener cuidado con las configuraciones regionales (formatos de fecha; separadores de miles: 1,80 litros, 1.453 pesos; etc.).

Page 59: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Uso efectivo de Tablas

• Una sola tabla por página, de preferencia en el cuerpo del documento y no como anexo.

• Tratar de que la tabla quepa de manera vertical en una página

• Numere y titule la tabla en la parte superior de la tabla. El titulo debe ser autodescriptivo

Page 60: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Uso Efectivo de Tablas

• Etiquetar cada renglón y columna

• Usar tablas con bordes.

• Usar asteriscos para explicar a mayor detalle el contenido de la tabla.

Page 61: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Uso Efectivo de Tablas

• Trazar una sola gráfica por hoja.

• La gráfica debe estar en el cuerpo del programa.

• Dar a la gráfica un número secuencial y un titulo descriptivo

Page 62: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Uso Efectivo de Gráficas

• Etiquete cada eje y todas las líneas, columnas, barras o rebanadas de pastel en la gráfica

• Incluya una clave para indicar las líneas con colores, barras sombreadas o áreas saturadas.

Page 63: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Gráficos de Línea

• Se utilizan principalmente para mostrar cambios a lo largo del tiempo.

• Cuando las líneas no se solapan es recomendable utilizar gráficas de área.

• Cada variable debe ser representada con una línea diferente

Page 64: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Gráficas de Columnas

• Pueden mostrar la comparativa entre dos o más variables a través del tiempo, pero son usadas más frecuentemente para comparar diferentes variables en un momento dado.

• Las gráficas de columnas al 100% pueden utilizarse para mostrar la distribución de porcentajes a través del tiempo

Page 65: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Gráficas de Barra

• Son similares a las de columna pero nunca son usadas para mostrar un relación a lo largo del tiempo. Son usadas para mostrar una o más variables a través de determinadas clases o categorías.

• También existen gráficos de barra apilados al 100%

Page 66: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Gráficas de Pastel

• Se utilizan para mostrar como se divide algo en un momento en particular.

• Es una de las gráficas más representativas, su problema radica en que ocupan mucho espacio

Page 67: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Estilo Unificado

• Uso de espacio en blanco

• Uso de encabezados y pie de página

• Numeración de páginas

• Referencias y apéndices

Page 68: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Presentación de la Propuesta

• Hable lo suficientemente fuerte para que la audiencia lo pueda oír.

• Mire a todas las personas mientras habla

• Haga apoyos visuales lo suficientemente grandes para que se puedan ver

Page 69: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Presentación de la Propuesta

• Use posturas que sean naturales a su estilo de conversación.

• Presente y termine la plática con confianza

• Sea usted mismo

• Esté preparado

Page 70: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Presentación de la Propuesta

• Hable con naturalidad

• Recuerde respirar

• Revise el tiempo

• Matice la voz

Page 71: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Soporte

• En esta etapa se garantiza que exista una correcta preparación y algunas medidas adicionales para poder operar de manera exitosa el proyecto.

• El soporte tiene que ver con elementos de capacitación, de ayuda, de instalación entre otros.

Page 72: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Principios de Despliegue

• Se deben administrar las expectativas que el cliente tiene del software.

• Se debe ensamblar y probar un paquete de entrega completo.

• Se debe establecer un régimen de soporte antes de entregar el software.

Page 73: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Principios de Despliegue

• Se debe proporcionar material instructivo apropiado a los usuarios finales.

• El software con errores se debe arreglar primero y entregar después.

Page 74: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Tareas Genéricas para el Despliegue

• Ensamblar y probar todos los archivos ejecutables y de datos.

• Crear y probar toda la documentación del usuario. Se pueden crear versiones electrónicas.

• Implementar una guía de solución de problemas

Page 75: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Tareas Genéricas para el Despliegue

• Establecer mecanismos de contacto, por ejemplo, un sitio Web, correo electrónico, teléfono, etc.

• Establecer mecanismos para la localización y reportes de problemas.

• Establecer mecanismos de retroalimentación por parte de los usuarios.

Page 76: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Retroalimentación

• En esta fase se obtienen características que se deben de mejorar o agregar para la evolución del software.

• La evolución del software es un proceso natural. Generalmente se da en esta etapa el mantenimiento del sistema.

Page 77: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Retroalimentación

• Existen diferentes tipos de mantenimiento:

• Para reparar fallas del software (17%)• Para adaptar el software a diferentes

ambientes (18%).• Para agregar o modificar funcionalidades del

sistema (65%).

Page 78: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Retroalimentación

• Lo ideal es encontrar mecanismos de predicción que sean pretendan detectar fallas de los sistemas.

• Se debe ver la entrega de software como el ensamblaje de las partes de algún dispositivo físico como un mueble, un aparato eléctrico, un juguete, etc.

Page 79: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Optimización de velocidad• Eliminar evaluaciones innecesarias:for(int i=0; i<size(); i++)

a = (b+c) / i;

• Optimizado:int tmp = b+c;int s = size();for(int i=0; i<s; i++) a = tmp / i;

79

Page 80: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Optimización de velocidad

• Eliminar subexpresiones comunes:b = Math.abs(a) * c;d = e / (Math.abs(a) + b);

• Optimizado:int tmp = Math.abs(a);b = tmp * c;d = e / (tmp + b);

80

Page 81: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Optimización de velocidad• Aprovechar las variables locales:for (int i=0; i <1000; i++) a = obj.b * i;

• Optimizado:int localb = obj.b;for (int i=0; i <1000; i++) a = localb * i;

81

Page 82: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Optimización de velocidad• Expandir los ciclos:for(int i=0; i <1000, i++) a[i] = 25;

• Optimizado:for(int i=0; i <100; i++) { a[i++] = 25; a[i++] = 25; //8 veces más }

82

Page 83: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

Optimización de velocidad

• Si se usan métodos gráficos solo actualizar las partes de la pantalla que cambian.

• Evitar la creación de objetos intermedios. Por ejemplo: cada vez que se concatena una cadena se crea un objeto intermedio. En Java en lugar de String se recomienda StringBuffer.

83

Page 84: Despliegue de Proyectos de Software M.C. Juan Carlos Olivares Rojas

¿Preguntas, dudas y comentarios?