Академический Документы
Профессиональный Документы
Культура Документы
TEMA:
Fbrica de Software
Alumnos:
PEDRO ALBERTO LEZAMA RAMOS JUAN CARLOS AGUILAR FRANCO ADRIAN GMEZ GALLARDO
Fbrica de Software
INDICE
CONTENIDO
1. Antecedentes 2. Metodologas Propietarias 2.1. Metodologas Microsoft Solution Framework 2.2. Fase 1 Estrategia y alcance 2.3. Fase 2 Planificacin y Prueba de Concepto 2.4. Fase 3 Estabilizacin 2.5. Fase 4 Despliegue 3. Metodologas SunReady 3.1. Caractersticas Principales 3.2. Fase 1- Diseo de la solucin 3.3. Anlisis del Nivel de Servicios SunReady 3.4. Servicio de Diseo de Ambientes de Produccin SunReady 3.5. Fase2 Planeacin de la Implementacin 3.6. Fase 3 Implementacin del Prototipo 3.7. Fase 4 Implementacin del ambiente de Produccin 3.8. Fase 5 Colocacin del ambiente en Produccin 3.9. Servicios de Soporte para el ambiente SunReady 3.10. Beneficios de la Metodologa Sun Ready 4. CMM / Introduccin 4.1. Niveles de Madurez y reas Clave de CMM 4.2. Caracterizacin Nivel 2. Repetible 4.3. rea claves de procesos para el Nivel 2. Repetible 4.4. Administracin de Requerimientos 4.5. Planificacin de proyectos de Software 4.6. Supervisin y Seguimiento de Proyectos de Software 4.7. Puntos de Funcin 4.8. Componentes de la Evaluacin 4.9. Complejidad para Cada Funcin 4.10. Clculo de PFs 4.11. Frmula para medir un Proyecto de Mejoramiento 4.12. Caso de Uso 5. Aplicaciones con Microsoft 5.1. Beneficios 5.2. Nace el Plan Fast-Track para el desarrollo del Software Mexicano 13 8
PGINA
4 5
25
ULSA
Fbrica de Software
29
7. Realidades y Perspectivas de la Computacin en Mxico / Adolfo Guzmn Arenas 35 7.1. Es atrevido tratar de Medir Procesos de Fabricacin en Software 7.2. La ventaja de Tener al Fabricante de Software a la vuelta d la esquina 7.3. Los equipos, dispositivos, perifricos su Fabricacin y Venta 7.4. Software a la Medida 7.5. Que ocurre en Mxico 8. Programa para Desarrollar la Industria del Software Mxico 9. Impulsan Estados Desarrollo del Software 10. Meta: Acelerar la Industria del Software 42 44 47 50
11. Fbricas de Software Publicaciones 11.1. Informacin del X Simposium 12. Conclusiones
53
ULSA
Fbrica de Software
1.- ANTECEDENTES.
A fines de los aos 60s e inicios de los 70s, surge en la industria del software el concepto de fbrica de software. Este nace como una respuesta a la necesidad de aliviar la incertidumbre que se tena en el desarrollo de proyectos de software en aspectos como:
Confiabilidad de los productos. Mantener en presupuesto y calendario los proyectos de desarrollo de software. Falta de una definicin y seguimiento adecuado a los procesos de produccin, as como un medio efectivo de medir su desempeo y la productividad de las personas que lo ejecutan. Falta de estandarizacin en los mtodos y herramientas empleados en los procesos. Esto provocaba reinventar el hilo negro cada vez, adems del nulo reuso de los productos que los mismos procesos de produccin generan. Falta de herramientas para hacer rastreables los productos (requerimientos, especificaciones de productos, etc.) que generan los procesos.
El fundamento para establecer fbricas de software, fue basado en tratar de obtener los beneficios que las lneas de produccin industrial produjeron en la calidad de los productos as como la productividad lograda. Dichas lneas de produccin se basan en tener definido un proceso y el flujo que sigue cada operacin del proceso, adems de proveer las herramientas necesarias para llevar a cabo la accin deseada. Entre ms segmentado es el proceso, mas simple se vuelve cada operacin logrando con esto una divisin del trabajo orientada a la especializacin. Esto logra elevar la productividad, sin embargo, trae situaciones que en un momento determinado hay que afrontar como el contar con personas que tienen un dominio restringido de accin. Vista de esta forma, la cadena de produccin es un mecanismo que permite a un trabajador estar habilitado para tomar una accin, altamente eficaz y eficiente, en un momento adecuado del proceso. A esto se le llama situacin de resolucin. En este sentido, aprovechando las tecnologas de informacin es posible crear cadenas virtuales de produccin en donde el proceso y su flujo estn claramente definidos de tal forma que generen situaciones de resolucin para cada trabajador. (Para mayor detalle consulte Soluciones Avanzadas, Febrero1996: La Cadena Virtual: Hacia la fundamentacin de la Reingeniera, Bracho, Daz.) Fue entre otras por estas causas, que varias empresas en el mundo principalmente Norteamericanas y Japonesas, invirtieron recursos en la definicin y puesta en marcha de sus fbricas de software. Entre las empresas Norteamericanas pioneras en este mbito, se encuentra System Development Corporation (SDC), que en los aos 70s concibi un modelo de fbrica de software para tratar de resolver los problemas antes mencionados. Su modelo gir alrededor de dos partes: El control que
ULSA 4
Fbrica de Software
inclua las reas de control de proyectos y aseguramiento de calidad y el rea de implementacin que inclua las reas de diseo, construccin y pruebas de sistema, ambos coordinados a travs de procedimientos y estndares. Este modelo retroalimentndose a travs de diversos proyectos, desemboc en lo que sera el manual de desarrollo de software SDC. El resultado que trajo el esfuerzo de contar con dicho manual, fue que los proyectos comenzaron a converger en productos con menos defectos y en el tiempo y presupuesto establecidos. El modelo de SDC, rpidamente influenci a empresas del Japn que comenzaron a definir su propio modelo de fbrica de software. Una de las fabricas pioneras es Hitachi que es la ms grande y antigua, se estima que en 1991 contaba con 7,000 empleados trabajando en el desarrollo de diversos tipos de aplicaciones para instituciones financieras, de seguros, control de inventarios, recursos humanos, etc. Durante los aos 70s Hitachi trabaj arduamente en la definicin y medicin de los procesos de desarrollo de software, incorporando elementos de medicin y control de calidad. Slo que no todo funcion a la primera, entre los mltiples problemas que tuvieron que resolver fue la incapacidad de incorporar conceptos de fabrica de software como la estandarizacin del ciclo de desarrollo del proyecto y el reuso de componentes. Un problema adicional fue que trataron de estandarizar un slo proceso de desarrollo para cualquier tipo de aplicaciones. Esto provoc proyectos fuera de fecha y presupuesto establecido. Fue a finales de los aos 70s que lograron organizar su fbrica de software alrededor de un manual que contena enfoques de ingeniera y fbrica. En el, se incorporaron diversas tcnicas del diseo y codificacin estructurados as como tiempos estndares para cada actividad, inspecciones de productos y anlisis de defectos del proceso entre otros elementos. Fue despus de este esfuerzo que decidieron invertir en el desarrollo de sus propias herramientas de software para soportar sus funciones. A partir de este momento la fbrica logr una mejora impresionante en su desempeo, pasan de atrasos en la entrega de proyectos al departamento de aseguramiento de calidad de 72% a 12%. Otra fbrica de software pionera en el Japn es Toshiba. Durante los aos 70s, se enfoc en la definicin de su modelo de fbrica de software alrededor de cuatro puntos: Estandarizar los procesos de desarrollo para reducir variaciones entre proyectos; Reuso exhaustivo de diseos y programas para construir nuevos sistemas a fin de reducir el trabajo redundante y maximizar la productividad; Introducir el uso de herramientas estndar a fin de elevar los niveles de desempeo de las personas; Proveer entrenamiento extensivo en las personas. Para poder realizar lo anterior, Toshiba se centr fuertemente en el reuso de componentes como una medida estratgica para incrementar la productividad. Desarroll diversas herramientas estandarizadas para soportar el diseo, identificacin y control de componentes reusables, generadores de cdigo, pruebas del software y control de proyectos. Estas herramientas permitieron elevar la productividad de una manera impresionante, pasaron de 1,400 lneas de cdigo fuente ensambladas en 1976 a mas de 3,000 en 1986. Para Toshiba, gran parte de su xito se debe al reuso de componentes. Estas experiencias han llevado a varias definiciones o acepciones del trmino fabrica de software y a enfatizar alguno de los elementos que aparecen o explican parte de los xitos referidos. Tal es el caso de una definicin que declara como elemento esencial de una fbrica a los componentes de reuso.
ULSA 5
Fbrica de Software
Hace falta una definicin, que al aplicarla, lleguemos todos a la misma conclusin y que incluya los elementos que han sido reconocidos y aceptados por la industria como esenciales. Lo ideal sera llegar a algo as de claro como Activo = Pasivo + Capital. Ms an, tal como los estados financieros, debera poder ser dictaminable o certificable por un tercero.
http://www.certum.com/Publicaciones/FabSoft.pdf
Documento de Planificacin y Diseo de Arquitectura: es el documento principal, donde se describen en detalle los aspectos funcionales y operativos de la nueva plataforma. La aprobacin de este documento es el hito principal de esta fase, y supone la directriz ltima de todos los trabajos tcnicos, que, a partir de ese momento, deben ser consistentes con esta Gua. Si en el curso de las fases sucesivas fuera necesario revisar estos contenidos, se deber hacer por acuerdo y conocimiento de todo el equipo de trabajo y se llevar un registro de versiones que permita hacer un seguimiento adecuado de estas revisiones. Documento de Plan de Laboratorio - Prueba de Concepto: la descripcin del contenido del laboratorio de prueba de concepto, los diversos escenarios a simular, los criterios de validez, el control de incidencias y las mtricas de calidad son objetivos a cubrir en este documento. Es un documento dinmico, en el que se recoge la idea y la experiencia prctica al llevarla a cabo en ambiente controlado y aislado. La etapa de prueba de laboratorio concluye cuando la maqueta ofrece todos los servicios y funciones descritos en el Documento de Alcance y Estrategia, y su grado de estabilidad y rendimiento es considerado como "suficiente".
6
ULSA
Fbrica de Software
Fase 3 - Estabilizacin La solucin implantada en la maqueta se pasa a un entorno real de explotacin, restringido en nmero de usuarios y en condiciones tales que se pueda llevar un control efectivo de la situacin. Los hitos y objetivos fundamentales de esta fase son:
Seleccin del entorno de prueba piloto: se acordar la composicin y ubicacin del conjunto de mquinas y usuarios que entrarn en la prueba. Esta seleccin se recomienda que se haga atendiendo a la mayor variedad posible de casos, de manera que puedan aflorar el mximo de incidentes potenciales en el menor tiempo posible. La dimensin de la muestra tiene tambin que calcularse, sin perder de vista que la prueba piloto no es el despliegue propiamente, sino una fase de observacin en la que es absolutamente crtico establecer unos cauces efectivos de tratamiento de los errores. Gestin de Incidencias: aunque esta labor se habr iniciado en la fase anterior, el xito de la prueba piloto depender de que se forme un sistema de recogida de incidentes (help desk o similar), de atencin al usuario (formacin, consultas) y de resolucin de problemas y documentacin de los mismos (versin de la plataforma). Revisin de la documentacin final de Arquitectura: el documento de Planificacin y Diseo de Arquitectura se puede ver alterado parcialmente como resultado de esta fase. El documento final, aprobado por consenso, supone el principal documento del Proyecto y la culminacin de los trabajos de diseo, al menos en sus lneas principales. Este documento se considerar definitivo cuando la solucin puesta en marcha se muestre estable y el nmero de incidencias graves (de intervencin o de resolucin) sea nulo y la cantidad de las consideradas leves quede por debajo de un lmite establecido en las Mtricas de Calidad. Elaboracin de la documentacin de Formacin y Operaciones: con vistas al soporte post proyecto y los programas de formacin a usuarios y administradores, en esta fase deben elaborarse las Guas de Usuario, de Administracin, las "paso-a-paso", y otros cuyos contenidos deben acordarse previamente. Elaboracin del Plan de Despliegue: se debe consensuar la fecha de finalizacin de la fase Piloto, y las condiciones de calidad que debe cumplir la solucin final para iniciar el despliegue. En el Plan deben identificarse las fases, estrategia de implantacin, fechas, tareas a realizar, procedimientos de validacin y mtodo de control de incidencias. Elaboracin del Plan de Formacin: con anterioridad al despliegue definitivo, debe haberse aprobado el Plan de Formacin orientado a usuarios finales y administradores, y debe hacerse compatible con los ritmos acordados en el Plan de Despliegue.
Fase 4 - Despliegue Se llevarn a cabo en esta fase los planes diseados en la anterior, principalmente el de despliegue y el de formacin. Los principales trabajos e hitos a conseguir son, en este caso, adems de los obvios (implantacin de la plataforma, puesta en servicio de todas las funciones, formacin a los usuarios y administradores), los siguientes:
Continuacin con las labores de recepcin de incidencias, clasificacin, tratamiento, resolucin y distribucin de fixes o intervencin on-site.
7
ULSA
Fbrica de Software
Registro de mejoras y sugerencias, funcionalidades no cubiertas y novedades a incorporar en sucesivas versiones de la plataforma, incluyendo mejoras aportadas por los fabricantes de software (nuevas versiones o Service Packs, por ejemplo) Revisin de las Guas y manuales de usuario, rectificacin de errores y obtencin de los documentos de formacin definitivos. Entrega de los documentos definitivos acordados como "deliverables" en la fase de Visin Scope. Revisin (si procede) de la matriz de riesgos, las mtricas de calidad y establecimiento de los estndares de calidad y SLA definitivos. Finalmente, entrega del Proyecto y cierre del mismo, con o sin apertura de nuevo proyecto en base a la informacin y experiencia obtenidos.
La duracin fase de despliegue, puesto que debe planificarse, no puede establecerse a priori. Depende de numerosos factores externos al propio proyecto (incluyendo factores de oportunidad poltica o de negocio) que pueden retardar o acelerar la conclusin.
3.2. Fase 1: Diseo de la solucin El objetivo de la primera fase es proporcionarle informacin acerca de sus compromisos actuales de servicio y los pasos que debe tomar para desarrollar un ambiente de produccin que pueda lograr los niveles de servicio esperados. Durante esta fase, el equipo de SunReady recopila y analiza informacin para ofrecer recomendaciones especficas sobre el personal, procesos y productos requeridos. Luego, trabaja estrechamente con su personal para formular el diseo de toda su solucin. Esta fase se ejecuta a travs de dos servicios exclusivos: el Anlisis del Nivel de Servicios SunReady y el Servicio de Diseo de Ambientes de Produccin SunReady. 3.3. Anlisis del Nivel de Servicios SunReady Este servicio de corta duracin le permite comprender a un alto nivel los compromisos de nivel de servicio con sus usuarios. El anlisis examina los niveles de servicio diarios que los usuarios necesitan
ULSA 8
Fbrica de Software
para llevar a cabo sus tareas cotidianas. Esta informacin sirve como base para comprender el ambiente de produccin requerido para cumplir estos compromisos. Anlisis del Nivel de Servicios SunReady Entrevistas para identificar los requerimientos de los usuarios con respecto a los servicios de la empresa Informe del Anlisis del Nivel de Servicios SunReady Definir el alcance del Servicio de Diseo de Ambientes de Produccin SunReady 3.4. Servicio de Diseo de Ambientes de Produccin SunReady Durante este segundo servicio, un equipo de Sun lleva a cabo una evaluacin detallada y rigurosa del ambiente de produccin de su centro de cmputo. Las entrevistas con el personal del centro de cmputo se enfocan en los aspectos de administracin de servicios, administracin de cuentas, administracin de problemas, administracin de implementaciones y programas, control de cambios, administracin de recursos, administracin del rendimiento, administracin de optimizaciones y administracin de personal. Se efecta una comparacin entre los requerimientos de su ambiente de produccin (personal, procesos y productos) y las capacidades de su centro de cmputo actual. Servicio de Diseo de Ambientes de Produccin SunReady Entrevistas con el personal del centro de cmputo para identificar las prcticas que se llevan a cabo en el centro de cmputo Efectuar un anlisis de las brechas entre las capacidades actuales de su centro de cmputo y los requerimientos del ambiente de produccin Proponer los cambios necesarios para satisfacer los requerimientos del ambiente de produccin Crear un plan estratgico para el ambiente de produccin Recomendar las herramientas del centro de cmputo necesarias para lograr el ambiente de produccin deseado Describir los objetivos de los niveles de servicio que Sun proporcionar Recomendar los servicios para proveer soporte al ambiente de produccin
3.5. Fase 2: Planeacin de la implementacin Durante la segunda fase, el equipo de SunReady define las especificaciones y planes detallados, basndose en los elementos de diseo de la solucin identificados en la primera fase. Personal. La segunda fase incluye un servicio de evaluacin detallado de las habilidades del personal del cliente, as como la iniciacin de programas de entrenamiento para el personal del ambiente de produccin. Procesos. Su equipo SunReady comienza a captar y especificar los procesos claves que necesitarn implementarse en el ambiente de produccin final. Productos. La metodologa SunReady utiliza las mejores prcticas asociadas a la implementacin y prueba de las herramientas de produccin y del sistema, concentrndose en los requerimientos de sus otros equipos de produccin (tales como PCs/estaciones de trabajo,
9
ULSA
Fbrica de Software
red, seguridad y centro de soporte tcnico). Se definen y redactan las pruebas de aceptacin de acuerdo a los compromisos de los niveles de servicio identificados en la primera fase. 3.5. Planeacin de la implementacin Crear un conjunto de reglas detalladas para la implementacin de la arquitectura tcnica Desarrollar procedimientos de pruebas de aceptacin basados en los objetivos de los niveles de servicio y disponibilidad Determinar los requerimientos de la interfaz del ambiente de produccin Realizar una evaluacin de las habilidades del personal Proporcionar un informe de evaluacin de habilidades y documentos con el plan de entrenamiento Iniciar el entrenamiento del personal del centro de cmputo Formular un plan de soporte para el ambiente de produccin Especificar los procesos y herramientas para la implementacin
3.6. Fase 3: Implementacin del prototipo Durante la tercera fase, el equipo SunReady y su personal desarrollan e integran los componentes para el ambiente de produccin propuesto, incluyendo las herramientas de produccin, en un ambiente prototipo. Gracias a que las pruebas se ejecutan en un ambiente prototipo seguro, se reducen los riesgos asociados a la integracin de sistemas complejos a un ambiente de produccin. La tercera fase permite a Sun y a su personal desarrollar, integrar y comenzar a probar los componentes de produccin, a la vez que se optimizan las polticas y los procedimientos operacionales. Las actividades de desarrollo de educacin, entrenamiento y habilidades de esta fase se utilizan para implementar con xito la prxima fase. Al final de la tercera fase, se desarrollan y aprueban en el ambiente prototipo todos los componentes de produccin especificados. Se desarrolla el manual de operacin SunReady, el cual refleja los resultados de la implementacin de la solucin para el ambiente prototipo. 3.6. Implementacin del prototipo Desarrollar los componentes para el ambiente prototipo Completar la integracin inicial y las pruebas del ambiente prototipo Completar el entrenamiento del personal Elaborar y validar el manual de operacin Obtener aprobaciones del ambiente prototipo 3.7. Fase 4: Implementacin del ambiente de produccin En la cuarta fase, los especialistas de Sun y su personal configuran e integran el ambiente de produccin y comienzan una rigurosa serie de pruebas para garantizar la estabilidad y la capacidad de recuperacin del sistema y de los datos. Se incluyen pruebas de resistencia y falla del ambiente de produccin, preparando el camino para colocar la solucin en produccin. Tanto Sun como su personal recientemente entrenado, llevan a cabo la aprobacin de las pruebas del ambiente de produccin. Estas pruebas se basan en el procedimiento de trabajo y los objetivos
ULSA 10
Fbrica de Software
establecidos para los niveles de servicio. El equipo SunReady evala los resultados de las pruebas de resistencia y falla, efectuando cualquier cambio necesario al manual de operacin. Una vez que usted aprueba el ambiente de produccin, todo estar listo para que la solucin entre en marcha.
Planeacin de la implementacin Implementar el ambiente de produccin Completar las pruebas de resistencia para validar la capacidad y el rendimiento del ambiente Completar las pruebas de falla para verificar tanto las capacidades de recuperacin automticas como por procesos Efectuar pruebas de aprobacin del ambiente de produccin Ajustar y validar el manual de ejecucin, basndose en los resultados de las pruebas Obtener aprobacin del ambiente en el servidor de produccin Obtener aprobacin del plan de entrega para proveer soporte al ambiente de produccin
3.8. Fase 5: Colocacin del ambiente en produccin En la fase final, el ambiente se coloca en produccin. Una vez concluida esta fase, el ambiente de produccin SunReady estar activo. Su equipo del centro de cmputo desempea un papel esencial en este proceso. Tanto el rendimiento como la disponibilidad son monitoreados muy de cerca segn el procedimiento de trabajo y los objetivos de los niveles de servicio. Se inicia un perodo de transicin por parte de su equipo SunReady, para garantizar que su personal se sienta confortable con el ambiente de produccin desde el punto de vista administrativo y operacional. Se concluye as la implementacin de la Metodologa SunReady y pueden evaluarse sus requerimientos de soporte para el ambiente de produccin. 3.9. Colocacin del ambiente en produccin Colocar el ambiente en produccin Monitorear el rendimiento y la disponibilidad durante el perodo de transicin Implementar los servicios de soporte contratados
ULSA
11
Fbrica de Software
Servicios de soporte para el ambiente SunReady Para atender una amplia variedad de requerimientos posteriores a la implementacin, Sun ofrece servicios de soporte para el ambiente SunReady. Los especialistas de Sun proporcionan un proceso para garantizar que cualquier cambio en los requerimientos de los niveles de servicio tambin se refleje en el ambiente de produccin. Los especialistas de Sun prestan los servicios de soporte y se mantienen al tanto de su operacin, monitorean y elaboran los informes sobre los niveles de servicio y recomiendan los cambios necesarios para optimizar el rendimiento y satisfacer sus objetivos.
3.10. Beneficios de la Metodologa SunReady Un ambiente de produccin personalizado, diseado para ayudarlo a cumplir con sus compromisos de niveles de servicio con sus usuarios Menor riesgo operacional a travs de una metodologa de cinco fases que incluye el anlisis, integracin y pruebas del nivel de produccin Un proceso de servicio integral que garantiza que la arquitectura tcnica est soportada por procesos slidos y personal adecuadamente entrenado Una infraestructura preparada para el futuro que evoluciona fcilmente al ritmo de las crecientes demandas de su ambiente Transferencia del conocimiento operacional de Sun a su personal a travs de la evaluacin de habilidades, asesora y programas de entrenamiento personalizados Operacin autosuficiente y soporte para su ambiente Sun a travs de procesos totalmente documentados Implementacin correcta y econmica, basada en la tecnologa para centros de cmputo lder del mercado y las capacidades bsicas de comercio electrnico
http://ve.sun.com/service/sunps/Methodology_Span.html
ULSA
12
Fbrica de Software
ULSA
13
Fbrica de Software
4._Administrado: Medidas detalladas de las actividades del proceso y calidad del producto son registradas. El proceso de software y el producto entregado son cuantitativamente entendidos y controlados. 5._Optimizado: Existe una mejora continua de las actividades, la que se logra, a travs, de un feedback con estas mismas y tambin a partir de innovadoras ideas y tecnologas. La recoleccin de datos es automatizada y usada para identificar elementos ms dbiles del proceso, se hacen rigurosos anlisis de causas y prevencin de defectos. Synapsis S.A. se encuentra ubicada en el nivel 1 de madurez, y con el objetivo de visualizar hacia dnde se enfocarn las propuestas que se harn en este proyecto, se describir con mayor detalle las caractersticas de madurez del nivel 2.
Fbrica de Software
Estndares y planes para los proyectos de software son definidos, y la organizacin garantiza que ellos sean seguidos fielmente. La organizacin en este nivel puede definirse como disciplinada, porque la planificacin y seguimiento de proyectos de software es estable y los anteriores xitos pueden ser repetidos.
reas claves: Identifican objetivos a ser alcanzados para llegar a un nivel de madurez especial. Prcticas claves: Procedimientos y actividades que contribuyen a alcanzar los objetivos. Indicadores claves: Ayudan a determinar el cumplimiento de los objetivos, forma la base para el procedimiento de evaluacin.
El nivel de madurez se establece como aqul en que se satisfacen todas las reas claves en forma continua. Estas reas claves priorizan los esfuerzos para mejorar el proceso de desarrollo de software en la organizacin. Las reas claves correspondientes al nivel 2 son:
Administracin de requerimientos Planificacin de proyectos de software Supervisin y seguimiento de proyectos de software Gestin de subcontratos de software Aseguramiento de calidad de software Administracin de la configuracin de software
Fbrica de Software
permitan establecer los compromisos necesarios para desarrollar el proyecto. La planificacin incluye pasos para estimar la cantidad de trabajo y los recursos necesarios.
Es independiente del lenguaje, herramienta o metodologa utilizada en la implementacin Pueden ser estimados a partir de la especificacin de requisitos o especificaciones de diseo, haciendo posible de este modo la estimacin del esfuerzo de desarrollo en etapas tempranas del mismo.
En resumen, los puntos de funcin aparecen con ventajas substanciales por sobre las lneas de cdigo, para fines de estimacin temprana del tamao del software, y por ende, del esfuerzo de desarrollo. Adems es una medida ampliamente utilizada, y con xito, en muchas organizaciones que desarrollan software en forma masiva [Varas95].
ULSA 16
Fbrica de Software
Las Funciones Transaccionales representan la funcionalidad provista al usuario de los procesos de datos de una aplicacin. El conteo de tipos de funciones transaccionales determina la cantidad de Entradas Externas, Salidas Externas y Consultas Externas. Entradas Externas (EI): Cada entrada de usuario que proporciona al software diferentes datos orientados a la aplicacin. Las entradas deben ser distinguidas de las peticiones, que se contabilizan por separado. En general cada archivo lgico requerir de tres tipos de entradas: agregar, cambiar y borrar. Tambin se define como datos o informacin de control que llega desde fuera de los lmites de la aplicacin o proyecto que est siendo medido.
ULSA 17
Fbrica de Software
Salidas Externas (EO): Cada salida que proporciona al usuario informacin orientada a la aplicacin. La salida se refiere a reportes, datos a pantalla, mensajes de error, etc. Los elementos de datos individuales dentro de un informe no se cuentan por separado. Tambin se define como datos o informacin de control que se enva desde fuera de los lmites de la aplicacin. Consultas Externas (EQ): Es una entrada interactiva que resulta de la generacin de algn tipo de respuesta en forma de salida interactiva. Se cuenta cada peticin por separado. Tambin se define como una combinacin de entradas (requerimientos) y salidas (recuperacin) de informacin desde la aplicacin. El conteo de Funciones de Datos determina la cantidad de Archivos Lgicos Internos y de Archivos de Interfaz Externa perteneciente a la aplicacin que est siendo contabilizada. Archivos Lgicos Internos (ILF): Cada maestro lgico (o sea, una agrupacin lgica de datos que puede ser una parte de una gran base de datos o un archivo independiente). Tambin se define como datos relacionados lgicamente o informacin de control que se encuentra dentro de los lmites de la aplicacin. Archivos Interfaz Externos (EIF): Todas las interfaces legibles por la mquina (por ejemplo, archivos de datos en cinta o disco) que son utilizados para transmitir informacin a otro sistema. Tambin se define como datos relacionados lgicamente o informacin de control que se encuentran fuera de los lmites de la aplicacin.
ULSA
18
Fbrica de Software
1 RET
Baja
Baja
Media
2 a 3 RETs 4 o ms RETs
Baja Media
Media Alta
Alta Alta
Tabla que permite obtener la complejidad para un EO. 1 a 5 DETs 0 a 1 FTR 2 a 3 FTRs 4 o ms FTR s
Tabla 4-3: Complejidad de EO [IFPUG]
0 a 1 FTR
2 FTRs 3 o ms FTR s
Tabla 4-5: Complejidad de EQ - lado Output [IFPUG]La complejidad total de la EQ se obtiene comparando las complejidades determinadas para el lado Input y para el lado Output, prevaleciendo la complejidad mayor.
Fbrica de Software
Para cada tipo de funcin y de acuerdo a su complejidad, se determin un factor de peso, el cual se utiliza para obtener el clculo de puntos de funcin bruto o no ajustados. Este clculo consiste en sumar, para cada tipo de funcin, la cantidad de elementos de cada complejidad multiplicada por el factor de peso correspondiente.
Tipo de Funcin N Entradas Externas N Salidas Externas N Consultas Externas N Archivos Lgicos Internos N Archivos de Interfaz Externa Puntos de Funcin Bruto (PFB):
Tabla 4-6: Clculo Punto de Funcin Bruto
Total
Para obtener el punto de funcin, el punto de funcin bruto se ajusta multiplicndolo por un factor, como lo indica la siguiente relacin: PF: Punto de Funcin PFB: Punto de Funcin Bruto Fa: Factor de ajuste Este factor se denomina factor de ajuste y representa los valores de ajuste de la complejidad considerando caractersticas tcnicas y operacionales del sistema. Este factor se basa en la respuesta a un cuestionario de 14 temes. Se evala cada tem en una escala de 0 a 5 segn el grado de influencia que posean en el sistema. El factor de ajuste est dado por: Gi: Grado de influencia, valor que va de 0 a 5.
Significado de la escala: 0 = La caracterstica no est presente o no influye si est presente 1 = La caracterstica tiene una influencia Incidental 2 = La caracterstica tiene una influencia moderada 3 = La caracterstica tiene una influencia promedio 4 = La caracterstica tiene una influencia significativa 5 = La caracterstica tiene una influencia fuerte, es esencial Cuestionario de 14 temes: 1. Comunicacin de datos 2. Proceso de datos distribuido 3. Rendimiento (Performance) 4. Alta utilizacin del entorno operativo 5. Volumen de transacciones 6. Entrada de datos interactiva 7. Eficiencia de uso por parte del usuario 8. Actualizacin interactiva 9. Procesamiento complejo 10. Reusabilidad del cdigo 11. Facilidad de conversin e instalacin ULSA 20
Fbrica de Software
12. Operatibilidad en cuanto al manejo de seguridad y recuperacin de errores 13. Facilidad de soportar mltiples instalaciones en diferentes organizaciones 14. Facilidad para permitir cambios o modificaciones Significado de cada tem:
1. Comunicacin de datos Los datos e informacin de control usados en la aplicacin son enviados o recibidos por las facilidades de comunicacin. Los terminales conectados localmente a la unidad de control son considerados para usar estas facilidades de comunicacin. El protocolo es un conjunto de convenciones que permiten la transferencia o intercambio de informacin entre dos sistemas o dispositivos. Todas las conexiones de datos requieren algn tipo de protocolo. 2. Proceso de datos distribuido El proceso distribuido de datos o funciones es una caracterstica de la aplicacin, dentro de los lmites de la misma. El procesamiento distribuido se refiere a la utilizacin de llamadas a procedimientos remotos para operar con datos o funciones que se encuentran en mquinas distintas de donde se encuentra instalada la aplicacin. 3. Rendimiento (Performance) Se mide los objetivos de rendimiento (performance) iniciales o probados por el usuario, en relacin a la influencia de los tiempos de respuesta (throughput) en el desarrollo, instalacin y mantencin de la aplicacin. 4. Alta utilizacin del entorno operativo La configuracin para un entorno operativo fuertemente utilizado requiere consideraciones especiales de diseo, lo que hace de sta una caracterstica propia de la aplicacin. Se refiere a si la aplicacin requerir de un procesador especial, si hay consideraciones de seguridad o si se aplican restricciones en los distintos componentes de un sistema. 5. Volumen de transacciones Esta caracterstica tiene una alta influencia en el diseo, desarrollo, instalacin y mantencin de una aplicacin. Se refiere a la periodicidad con que se requiere generar gran cantidad de transacciones. Por ejemplo, un proceso de facturacin genera una gran cantidad de transacciones al trmino de cada mes. 6. Entrada de datos interactiva Se determina la cantidad de entrada de datos en lnea y funciones de control que son provistas en la aplicacin. 7. Eficiencia de uso por parte del usuario
ULSA
21
Fbrica de Software
Son las facilidades incluidas en el diseo de una aplicacin para ayudar a obtener una mayor eficiencia de uso por parte del usuario. Por ejemplo, ayudas de navegacin, mens, ayuda y documentos en lnea, impresin remota, etc. 8. Actualizacin interactiva Se verifica si la aplicacin permite hacer una actualizacin en lnea de los archivos lgicos internos. 9. Procesamiento complejo Se determina qu componentes estn en el procesamiento que hace la aplicacin:
Control sensitivo y/o procesamiento de seguridad especfico de la aplicacin Procesamiento lgico extensivo Procesamiento de excepciones que resultan de transacciones incompletas que deben ser aprobadas otra vez.
10. Reusabilidad del cdigo Se verifica si el cdigo de la aplicacin ha sido especficamente diseado, desarrollado y mantenido para ser usado en otras aplicaciones. 11. Facilidad de conversin e instalacin Una fcil conversin e instalacin son caractersticas de una aplicacin. Se determina si existe un plan de conversin e instalacin y/o herramientas de conversin que han sido provistas y probadas durante la fase de prueba del sistema. 12. Operatibilidad en cuanto al manejo de seguridad y recuperacin de errores Se determina si la aplicacin provee una partida, respaldo y recuperacin de errores efectiva, lo que es estudiado en la fase de prueba del sistema. Se verifica si la aplicacin minimiza la necesidad de actividades manuales, tales como, montar cintas, manipulacin de papel, intervencin directa de un operador, etc. 13. Facilidad de soportar mltiples instalaciones en diferentes organizaciones Se verifica si la aplicacin ha sido diseada y desarrollada para ser instalada en mltiples sitios y para mltiples instalaciones de la misma. 14. Facilidad para permitir cambios o modificaciones Se refiere a si la aplicacin ha sido especficamente diseada y desarrollada para facilitar el cambio. Caractersticas como las siguientes pueden aplicarse:
ULSA
Se proveen consultas e informes flexibles para manipular una recuperacin de datos simple, de complejidad media o alta
22
Fbrica de Software
gestin almacenados en tablas que son mantenidas por el usuario con en lnea, pero cuyos cambios slo tienen efecto el da siguiente gestin almacenados en tablas que son mantenidas por el usuario con en lnea, pero cuyos cambios slo tienen efecto inmediatamente
En el punto 4.3. se da el marco terico de la metodologa utilizada para desarrollar el rea clave Administracin de Requerimientos. Esta metodologa para la capturar y definicin de los requerimientos, denominada Casos de Uso, fue elegida porque permite relacionar fcilmente los requerimientos solicitados por el cliente con las funciones transaccionales y de datos, necesarias para el clculo de los puntos de funcin y la consecuente planificacin del proyecto.
Capturan alguna funcionalidad visible para el usuario Pueden ser pequeos o grandes Satisfacen un objetivo del usuario
En su forma ms simple, los casos de uso son identificados mediante conversaciones con el usuario y discutiendo las distintas operaciones que el sistema debe proveer. Cada funcionalidad u objetivo discreto debe ser documentado asignndole un nombre y una breve descripcin. La funcionalidad que describe un caso de uso determinado puede ser interpretada como una Interaccin de Sistema u Objetivo de Usuario. La interaccin de sistema permite describir las operaciones que el usuario realiza para satisfacer un objetivo. El objetivo del usuario, como su nombre lo indica, refleja un objetivo que el usuario desea satisfacer. Por ejemplo, siguiendo con el ejemplo del procesador de texto, algunas interacciones de sistema podran ser "asignar formato a un prrafo", "definir un nuevo estilo" o "modificar un estilo". Sin embargo, stas no reflejan el objetivo del usuario que podra ser "mantener un formato consistente para todos los documentos". Es necesario tomar en cuenta esta diferencia al momento de modelar los casos de uso.
ULSA 23
Fbrica de Software
Los casos de uso incluyen, adems, Actores. Un actor representa una entidad externa que se relaciona directamente con el sistema. Los actores representan humanos, mquinas u otros sistemas. En definitiva, un actor corresponde al rol que juega alguna de las entidades anteriores frente al sistema. Puede haber muchos usuarios con un mismo rol. Un usuario tambin puede poseer distintos roles. Por esta razn, al considerar los actores del sistema se debe centrar el anlisis en los roles y no en las personas. Los actores son los que realizan los casos de uso. Un actor puede realizar varios casos de uso; alternativamente, un caso de uso puede ser realizado por varios actores. Los actores apoyan la identificacin de los casos de uso. Enfrentado a un sistema muy grande, intentar identificar la lista de casos de uso puede ser una tarea muy compleja. La alternativa adecuada es identificar la lista de actores del sistema y luego intentar identificar los casos de uso de cada actor. Como se mencion anteriormente, los actores no necesariamente deben ser humanos. Un actor tambin puede ser un sistema externo que requiere informacin del sistema actual. La interaccin con sistemas externos produce confusin en la definicin de los actores que representan a los sistemas externos. Es recomendable que se incluyan actores para reflejar sistemas externos slo cuando el actor (externo) requiere del caso de uso modelado. De esta forma, las entidades que estn indirectamente relacionadas con el sistema no son consideradas actores debido a que sus necesidades deben ser comunicadas al sistema mediante un actor. Cada actor utiliza el sistema de distintas maneras; de lo contrario los actores no seran distintos. Cada caso de uso describe la secuencia posible de interacciones entre el sistema y uno o ms actores como consecuencia de un estmulo inicial de alguno de los actores. Para definir los casos de uso se deben agrupar todas aquellas transacciones "similares"; aquellas que el usuario vera como variaciones de algn tema. Por ejemplo, un caso de uso para un banco podra ser "realizar una transaccin en la caja". Los casos de uso que se pueden desprender del anterior podran ser realizar un depsito, efectuar un retiro, transferencias, etc. Las excepciones corresponden a situaciones anormales e incluye las medidas que es necesario realizar para poder completar el caso de uso. Las precondiciones corresponden a las condiciones que se deben cumplir para que se pueda realizar el caso de uso. Las postcondiciones corresponden a condiciones que se deben cumplir una vez que el caso de uso ha terminado exitosamente. Fuente: http://www.sei.cmu.edu http://www.avantare.com/anteriores/ElModeloCMM.pdf http://www.ucc.edu.co/columbus/salas/sala3523.htm http://www.cutter.com/research/2000/crb000613.html http://www.cse.fau.edu/~maria/COURSES/CEN4010-SE/TOPIC3/cmm_contents.htm
ULSA
24
Fbrica de Software
Microsoft SQL Server Microsoft Visual Studio .Net Active Server Pages Microsoft Access Microsoft Visual Basic
5.1. Beneficios
Listamos abajo algunos beneficios, que muestran como aparecera con una fbrica de software y como se puede mejorar el desempeo de un Centro de Proceso de Datos: Estimacin de plazos y costos con bastante precisin. Alta productividad, permitiendo rpida reduccin de backups Reduccin de costos como factores de improductividad, actualizacin tecnolgica de equipos internos e infraestructura del rea de desarrollo. Concentracin de esfuerzos de profesionales de IT y de los usuarios mismos Mejora de procesos de productividad, control total de inventario y mejora de controles de calidad de software Sincronizacin de documentos, cdigo y aplicaciones particulares Posibilidad de contratacin de etapas especificas de desarrollo. Mayor facilidad para entrenar usuarios, tcnicos en software y equipo Lderes empresariales de la informtica promueven el desarrollo de un complejo industrial del Software en Mxico, con una inversin de unos 18 millones de dlares slo en capacitacin. Roberto Sols, lder programa Fomento al Desarrollo de la Industria del Software, dijo que ste es auspiciado desde hace un ao por empresas desarrolladas nacionales y el corporativo mexicano de Microsoft. Se trata de crear una plataforma slida de tcnicos especialistas que aliente a los inversionistas a realizar sus desarrollos en cmputo dentro del el pas, explic Eva Mara Garca, ejecutiva de Microsoft. Para Rafael Bernal, miembro de la asociacin Mexicana de la Industria de las Tecnologas de la Informacin (AMITI), las fbricas de software tienen alta rentabilidad y su principal soporte es el capital humano. Al respecto Sols expuso que en Estados Unidos un curso de capacitacin igual al que Microsoft ofrece en el marco del programa tiene un costo para los estudiantes de 60 mil dlares. Para la AMITI, la promocin de fbricas de software en Mxico est en sus prioridades ya que es una de las actividades de la Industria que mayor impacto econmico tiene en los pases que lo albergan.
ULSA 25
Fbrica de Software
Es un segmento con una enorme capacidad de generacin de empleos altamente remunerados y con un excelente factor multiplicador, lo que hace crecer la economa de los lugares que promueven este negocio dijo Bernal. Estas fbricas, agreg, tienen adems la ventaja de ser industria verde, pues no generan desechos industriales y dan a pequeas empresas la posibilidad de participar con productos terminados de gran valor agregado. Reconocido como el maquilador por excelencia de software, ha sabido explotar este negocio y est exportando hasta cuatro mil millones de dlares al ao por este concepto. Pero la enorme demanda para la maquila de productos de cmputo y el dficit mundial de profesional tcnicos est agotando su capacidad de servicios y elevando los costos del trabajo de sus programadores. El sueldo promedio de un programador en la India es de 500 dlares mensuales, estimaron los especialistas. Segn Bernal, en Mxico, el terreno de los desarrolladores de software est poco explotado y existen muy pocas industrias abocadas a esta tarea. Los ms conocidos son Softtek y Serinf, tambin existen fbricas de software que son privadas, esto es, que la tiene una empresa para sus propios desarrollos, como Ddmesis, adquirida por GE Capital, y Tecnosys, de IBM agreg. Entendemos que hay intentos de ir al exterior de parte de otras compaas de cierto tamao y hay algunos casos de pequeas compaas que estn haciendo la posible a travs de contactos personales apunt. La consultora Select, filial de International Data Corporation, considera que la actividad de las empresas desarrolladas de software en Mxico econmicamente es an incipiente. El software a la medida carece de demanda importante entre las empresas mexicanas ya que sus costos son elevados, dijo Alejandro Florean Gerente de software e Internet Working de Select. Pese a ello, durante 1999 generaron importantes utilidades estas se debieron a las necesidades que tenan las empresas de adecuar sus sistemas al ao 2000. Segn las proyecciones de Bernal, una fbrica de software con unos tres mil empleados podra ser rentable en dos o tres aos con una inversin de los 10 millones de dlares. El programa de Fomento de Desarrollo de la Industria de Software est dirigido a la capacitacin de estudiantes de escuelas pblicas de educacin tecnolgica del central estado mexicano de Guanajuato. Contempla en su fase inicial la capacitacin de 300 estudiantes como desarrolladores de informtica y pretende promover la inversin directa de capitales en el estado con su consecuente generacin de empleos. A un ao de haberse instrumentado, el programa cuenta con cincos clulas de desarrollo de software financiadas por industriales, donde los estudiantes se desenvuelven sobre proyectos reales.
ULSA
26
Fbrica de Software
Fbrica de Software
Cules son sus pronsticos para el desarrollo generalizado de esta tecnologa? Se reconocer que hay muchas tareas repetitivas de inspeccin visual que son mejor realizadas mecnicamente. Tambin existe la tendencia general de dotar de mayores capacidades preceptales a los robots y computadoras, en especial de visin, por lo que esta tecnologa seguir desarrollando y ampliando su campo de accin. Vaya, vaya, para muchos de nosotros, esto mas bien parece un sueos guajiro (como se dice aqu en Mxico) pero recuerden que nada es difcil si nos aplicamos y hacemos nuestro mejor esfuerzo. Y si otros pases han logrado una tecnologa digna de una potencia mundial como Japn o EE.UU., no veo por que Mxico no pueda tambin ser bueno para el desarrollo de software, ya que, los mexicanos contamos con gente muy capaz. http://www.comsto.org/stuff/notmex_04.htm http://www.mexico.com/frames.php
ULSA
28
Fbrica de Software
Referencia:
http://www.mural.com/tecnologia/articulo/131331/ http://zedillo.presidencia.gob.mx/pages/disc/feb98/20feb98-1.html http://148.233.5.66/qp/datos/secciones/picudos/2001/1056/picudos.html
ULSA
29
Fbrica de Software
QUEREMOS TALENTO
POSICIONAR
MEXICO
COMO
EXPORTADOR
DE
La primera fbrica de software en Amrica Latina, ubicada en Monterrey, ha sido para Softtek un elemento fundamental para penetrar a los mercados norteamericanos, pues le da la ventaja a Mxico de generar divisas netas, expresa Robespierre Agrega que uno de los objetivos de la empresa es posicionar a Mxico como proveedor y exportador de talento e inteligencia, y generador de empleos mejor pagados y con mayor posibilidad de desarrollo profesional, pues las fbricas de software son una industria que no tiene lmites en cuanto a crecimiento. El logro de nuestras metas se sustenta en estrategias radicales que ya se estn implantando. Para ello ha sido necesario generar una serie de compromisos, los cuales confirman el camino de la compaa.
TRABAJAMOS TECNOLOGIA
SIEMPRE
CON
UN
PASO
ADELANTE
DE
LA
Softtek es una de las 500 empresas ms importantes de Mxico, y su constante dedicacin para satisfacer las necesidades de sus clientes ha trascendido ms all de las fronteras, dndole una importante presencia internacional. La apertura de oficinas en nueve pases representa el inters de Softtek hacia la expansin de servicios y oportunidades de negocio, y le permite ser una importante fuente de generacin de empleos, as como de valor econmico y humano para la comunidad. Nuestra presencia internacional es una gran ventaja para nuestros clientes, al contar con una fuerte exposicin a un alto nmero de tecnologas de vanguardia que surgen diariamente en diferentes pases del mundo. Ello nos da la posibilidad de especializarnos en los diferentes procesos de adopcin de tecnologa de cada mercado, acordes en distintas prcticas de clase mundial. Adems su modelo de servicio, conjunta capacidades como la tecnologa, el conocimiento, los procesos y las personas, para ofrecer soluciones integrales a la medida de cada proyecto; con una amplia gama de opciones de entrega para las diferentes soluciones de TI, de manera conveniente, oportuna y efectiva, es decir, en modalidades de administracin, mantenimiento, o por el concepto fbrica de software, segn convenga. El incremento en ventas y la constante reinversin de nuestras utilidades, han hecho posible el desarrollo de proyectos estratgicos, convirtiendo nuestros planes de expansin en hechos tangibles que reflejan nuestra firme creencia en el espritu emprendedor como motor que permitir el desarrollo
ULSA 30
Fbrica de Software
de todo el pas. Hoy, nuestro personal ha crecido a un ritmo acelerado y constante y ponemos a disposicin del mercado una organizacin de ms de mil 500 especialistas en tecnologa de informacin, comprometidos y dedicados a lo que mejor sabemos hacer: proporcionar soluciones a la medida, ya que implantamos el software para tu evolucin..
ULSA
31
Fbrica de Software
Referencia:
http://www.technosconsultores.com/main1.html
ULSA
32
Fbrica de Software
Referencia: http://www.microsoft.com/colombia/soluciones/empresas/sistemasvertical.asp
ULSA
33
Fbrica de Software
NUESTRA MISIN
"Ser lderes en el mercado de consultora y desarrollo de sistemas" Asumiendo el momento histrico que vivimos siendo promotores del cambio y buscando la excelencia. Ofreciendo a nuestros clientes un servicio de excelencia soportado en el uso de tecnologa de punta. Buscando el desarrollo de nuestro personal por medio de una constante capacitacin profesional y personal.
REFERENCIA:
http://www.hildebrando.com.mx/infraestructura.htm http://www.hildebrando.com.mx
Fbrica de Software
7.1 Es atrevido tratar de medir "procesos de fabricacin " en software El grado de madurez de un proceso o fbrica de software, cmo se mide actualmente? Si la empresa que produce software sigue ciertas reglas y procedimientos, tiene nivel 5; con algunas fallas, alcanza nivel 4; ms fallas y le dan nivel 3. Esto es equivalente a medir el "grado de madurez en el proceso de fabricacin" de las bisagras, viendo si se llevan en la fbrica ciertas bitcoras y juntas. De seguro las fbricas organizadas producen bisagras con ms dureza que otras menos organizadas, pero (en Fsica) es ms fcil medir directamente la calidad del producto (la bisagra), midiendo su dureza, o su resistencia a los esfuerzos cortantes En particular resultan prematuros los esfuerzos para medir la "madurez de una empresa para producir software de calidad", porque ni siquiera sabemos cmo medir la calidad (dada por la ergonoma, transportabilidad, rehus,.... ) del software. Se parece a quien desee medir la "madurez del proceso de fabricacin de mujeres bellas'', cuando ni siquiera la "belleza femenina" se sabe medir bien. Medira la altura de la cama? La temperatura de la alcoba? Una desventaja del estado actual de la Computacin es que cambia mucho. Los avances se suceden rpidamente debido a la corta edad de la disciplina. Estimo que el tiempo de vida medio de un concepto en Computacin es de cinco aos. Es decir, cada cinco aos, la mitad de lo que sabemos se vuelve intil (aunque no lo olvidemos). Esto requiere : a) que el practicante de la Computacin tenga que estar constantemente estudiando, leyendo, aprendiendo, suscrito a revistas, yendo a cursos y congresos; b) que a los estudiantes de licenciatura de Computacin se les debe dotar de una fuerte base terica y matemtica, porque debern construir sobre ella (re-aprender) El nmero de personas que saben programas y de aqullos que usan las computadoras, tambin ha aumentado drsticamente Hay 110,000 estudiantes de licenciatura en Computacin en Mxico; es la ingeniera ms popular. Por estas razones quiz es aceptable seguirle llamando "Ciencia de la Computacin".
Fbrica de Software
programas de aplicacin, no conduce al dominio ni liderazgo (aunque se entiende que no todos van a innovar o a escribir libros, muchos sern usuarios o lectores). Probablemente, la Ciencia de la Computacin se desarrollara a partir do avances artesanales o ingenieriles, preferentemente nuestros, y no de cavilar sobre experiencias de otros y unificarlas o generalizarlas": no hay muchas!
Fbrica de Software
Cuando una empresa no encuentra la solucin a su problema en un paquete de software, recurre a fabricarlo a la medida, desarrollndolo dentro de la empresa (software de autoconsumo) o mandndolo a fabricar (software a la medida). Por esto, hay en Mxico. una industria de cierta importancia de software a la medida, de software de autoconsumo, de consumo de un slo cliente. Conviene apoyarse en este mercado para tratar de volver a utilizar este software, generalizndolo a fin de convertirlo en paquete. "Desarrollar software para las industrias que son fuertes en Mxico", " Qu hacer con el software hecho a la medida?", "Qu hacer para sustituir productos importados?" y "Buscar nichos de aplicacin")
Integracin
El diseador moderno de software utiliza muchos pedazos grandes, ya hechos por alguien ms. Se dice que integra esos paquetes en una solucin. La industria de programas a la medida (Software a la medida) hace a menudo integracin, aadiendo valor agregado (cdigo de enlace, modificaciones, adaptaciones) y produciendo una solucin original. Es mucho ms barato integrar pedazos grandes de cdigo ya hecho, que hacer todo desde cero.
Outsorcing
Por otra parte cuando una empresa hace outsorcing hacia un centro de cmputo en el extranjero, se pierden fuentes importantes de trabajo en computacin. A Profesionales de la computacin / En nivel tcnico medio superior a) Es menester fabricar libros y software para enseanza a este nivel. b) Los cursos deben estar de acuerdo con la realidad. por ejemplo, evitar dos materias ya obsoletas (Pascal, cobol). Para esto, conviene pagarles a los profesores competitivamente, para as poder obtener educadores actualizados. c) En general, me da la impresin de que en esta rea reaccionamos, no somos innovadores. d) Hace falta construir programas (de cmputo) educativos (courseware) para este nivel. e) Los niveles de salarios de los profesores de cmputo son bajos (puesto que existe u mercado externo que fija sus salarios), y es difcil conseguir profesores con experiencia.
Fbrica de Software
vida profesional que se espera de un egresado. Es importante repartir las materias de computacin durante los ocho o nueve semestres que dura la carrera, y no amontonarlas en los dos ltimos aos (bajo la presin de un "tronco comn" con otras ingenieras): Tambin hay que darles algunas cuantas materias "de moda'' o actuales, para que el egresado salga inmediatamente a produccin. Es el filo del machete. Termino con los siguientes comentarios: f) Es importante fabricar libros de computacin a nivel de licenciatura. Cada profesor de licenciatura debera estar escribiendo sus apuntes, convirtindolos en libros, que tengan en la contraportada un disquete con ejemplos y programas. g) Hace falta fabricar courseware, tutoriales por computadora, videos interactivos, laboratorios virtuales, buscadores de informacin..Esto ayudara a mitigar la falta de profesores con experiencia en hacer software. h) Los niveles de salarios de los profesores de cmputo son bajos (puesto que existe un mercado externo que fija sus salarios), y es difcil de conseguir profesores con experiencia.
En Posgrado
Se requieren en este nivel libros de texto y monografas. Cada profesor debera escribir su libro. i) Los niveles de salarios de los profesores de cmputo son bajos puesto que existe un mercado externo que fija sus salarios, y es difcil conseguir profesores con experiencia).
Programacin de Sistemas
Aqu entran todos los programas que ayudan a mejor utilizar el equipo de cmputo, excepto los sistemas operativos (que por tradicin se ven o se ensean aparte): ensambladores, cargadores, ligadores, expansores de macros intrpretes, compiladores (tambin se ven en una materia aparte en licenciatura), y otros programas que mejor administran el equipo.
ULSA 38
Fbrica de Software
Mi recomendacin es que el profesional de la Computacin dedique cierto tiempo a desarrollar sus propias herramientas. Por ejemplo, yo uso un archivo de texto que contiene parmetros de inicializacin, de manera que el usuario pueda especificar (con la ayuda de un editor de texto, con cierta dificultad) el color del fondo de sus pantallas, el tipo de letra, etc. Y tambin le ofrezco un programa en un ambiente grfico que, al interaccionar con el usuario, llena tal archivo (y ahora s, es fcil de usar).
Herramientas CASE
Estas herramientas ayudan en el proceso de fabricacin de software. Por ejemplo, Hotware es un paquete (hecho en Mxico) para disear prototipos rpidos. Otro ejemplo es el generador de reportes RepCob (Ver "Buscar nichos de aplicacin"). Hay documentadores automticos, machotes de aplicaciones (llamados Wizards en Access), editores de especificaciones, convertidores de diagramas entidad-relacin-atributo a definiciones de tablas y vistas, etc. Muchas herramientas CASE proveen an poco valor agregado, por lo que una herramienta bien diseada, en conjunto con usuarios, tiene nicho. Existe una gran oportunidad aqu, la sugerencia es trabajar en problemas reales, junto con usuarios (programadores, analistas) que proporcionen opiniones independientes sobre la utilidad de lo desarrollado.
Cmo se mide?
La investigacin es un trabajo creador que produce cosas originales: nuevos mtodos, nuevas tarjetas electrnicas, nuevos conceptos, patentes, teoremas, ecuaciones de estado. No busca que las cosas inventadas sean tiles Busca que sean nuevas, originales. Tpicamente, se miden (o se notan) en tesis de grado, publicaciones en revistas de investigacin artculos cientficos, etc. La Computacin es una ciencia que acaba de nacer, y se manifiesta como un arte. Por ende, hay poco de investigacin, pocas teoras, pocos conceptos nuevos. Si tiene un grupo que dice hacer investigacin, exjales que publiquen en revistas con arbitraje internacional (casi todo lo nuevo se hace fuera de Mxico), y no tan slo en congresos o conferencias. Proteja sus inventos c innovaciones con patentes, marcas industriales, etc.
Fbrica de Software
desesperen. La tentacin es muy grande para "pasarse al otro lado de la barda" y dedicarse a producir software y aplicaciones y no a investigar. Un esfuerzo saludable reciente es la creacin de la revista Computacin y Sistemas, de cobertura iberoamericana, que publica artculos originales en ingls, espaol y portugus. El CIC est apoyando su creacin y consolidacin.
Investigacin aplicada
Cuando inventamos algo (apartado "Investigacin en Computacin"), a menudo queremos aplicarlo. Conversamente, cuando un organismo tiene un problema, busca cmo solucionarlo. El desarrollo de las aplicaciones de una ciencia viene dictado por dos fuerzas: el empuje lo de la generacin de nuevos conocimientos o mtodos y el tirn lo de la necesidad de resolver problemas reales. El criterio principal para desarrollar aplicaciones es que sean tiles, es decir, que haya un usuario que les atribuya cierto valor. No es investigacin aplicada "el hacer una aplicacin para ver quien la va a usar despus". Esto es hacer "trabajos para ponerlos en la estantera". Tampoco debemos hacer desarrollos que "de seguro alguien nos lo va a comprar", a menos que estemos muy seguro de eso. Todos los desarrollos tiles son investigacin aplicada?. No todos son desarrollos aplicados, o sea, aplicaciones. Que sean investigacin aplicada requiere adems que sean aplicaciones de cosas relativamente resientes, de descubrimientos o innovaciones nuevas ; en cierto sentido, que las aplicaciones (desarrollos tiles) sean ellas mismas novedosas.
Transferencia de tecnologa
ULSA 40
Fbrica de Software
Podemos tomar la opcin de utilizar los avances cientficos que ya se llevaron a cabo en otros lados, y transferirlos (transferencia de tecnologa) a productos o aplicaciones que nosotros desarrollemos. No es trivial. Hay que saber qu, de los muchos conocimientos o mtodos nuevos, va a ser til para resolver determinada necesidad o nicho de mercado. Por lo general, el "cliente" mexicano se presta ms a colaboraciones con la academia (en computacin). Por lo general, los cientficos mexicanos (en computacin) son ms puros y no se quieren ensuciar las manos, que sus colegas de EE.UU, digamos.
Fbrica de Software
Notimex Junio 23 de 2002.-Ciudad de Mxico.- El gobierno mexicano presentar en fecha prxima el Programa Nacional para el Desarrollo de la Industria del Software, que ser parte del sistema eMxico, y buscar el desarrollo de industria del software, informaron fuentes del sector. Para el vicerrector de la Universidad de las Amricas del estado central de Puebla, Ricardo Villafana, tener un negocio verdaderamente exitoso y de fbricas de software requiere de un enfoque en la mercadotecnia y no en las posibles ventas que se tengan. "Si se quiere crear una verdadera industria del software (programas de cmputo), se debe averiguar si en realidad existe un mercado, entenderlo y conocer muy bien que caractersticas tiene y en qu producto se interesa", consider Villasana. Agreg que desafortunadamente la intencin del gobierno mexicano por impulsar el desarrollo de fbricas de software podra perderse en el intento, si no se manejan claramente los puntos principales que se requieren para tener un negocio exitoso. Estos puntos, aclar, son la participacin gubernamental federal y estatal, el apoyo de la banca, la participacin de las empresas proveedoras, compaas que van a ser parte del mercado, y la participacin directa de las instituciones financieras. Para Luis Daniel Soto, director de plataforma .NET de Microsoft Mxico, coincidi en que la construccin de programas de cmputo no es tan sencilla como aparenta y las empresas no nacen de la nada, todo debe ser un conjunto de talentos y tecnologa, asegur. Soto aadi que por las dificultades que representa desarrollar fbricas de software, el Plan Nacional del gobierno mexicano debe tener un buen planteamiento. "El Plan Nacional para el Desarrollo de la Industria del Software debe contemplar a todos los jugadores de la industria, para no provocar que se produzca un desequilibrio en toda la economa Nacional", coment Soto. Segn informacin de Bermdez, la inversin que requiere el desarrollo de los parques tecnolgicos, es muy difcil de estimar porque depende de los niveles, de costos de gastos de cada pas y de de cada regin. "En Brasil, por ejemplo, nicamente la planeacin de un parque con todas las funciones de mobiliario, cuesta ms o menos un milln de dlares, incluye planear el lugar para establecerse, la inversin, los fondos, pero no incluye la construccin, la cual tambin vara pues hay algunas muy cara", explic Bermdez. En opinin del vicerrector Villafana nunca se debe perder de vista que el negocio no es fabricar software, sino usarlo de forma inteligente, y recomend estudiar la demanda existente y cual ser el mercado a explotar para maximizar resultados. "Ahora se tiene que iniciar una educacin de la utilizacin del software, principalmente en las instituciones de educacin superior, ya que ah se encuentra el posible mercado del futuro", dijo Villafana.
ULSA 42
Fbrica de Software
Soto manifest que tambin se debe aprovechar la cercana geogrfica y la coincidencia de horarios con Estados Unidos, ya que son elementos indispensables para estar en buenas posibilidades de desarrollar este proyecto. Y agreg que estos motivos son los principales motores que impulsan el inters del gigante tecnolgico para que la industria de TI contine avanzando de manera fluida en el pas. "Sentimos este plan como una oportunidad que se puede hacer real y que hacia dentro de Microsoft, seamos vistos como una de las regiones ms exitosas con una mejor prctica en desarrollo", finaliz Soto
Referencia http://www.reforma.com/tecnologia/articulo/205655/
ULSA
43
Fbrica de Software
Fbrica de Software
posicionar
la
regin
en
el
mapa
tecnolgico
mundial.
Fbrica de Software
Aranda destac que la problemtica de su estado es que se le ubica como el "gigante dormido", porque tienen atraso y distanciamiento con las tecnologas, esto a diferencia de estados circunvecinos. "Registramos una fuga muy fuerte de estudiantes por no contar con capacitacin en tecnologa, ahora las cuatro instituciones de educacin superior del estado contemplan las carreras en nuevas tecnologas",seal. Agreg que la meta es que las fbricas de software generen una industria que engrandezca al estado.
ULSA
46
Fbrica de Software
An no hay desarrollo
Roco Ruiz, subsecretaria de comercio de la Secretara de Economa, explic que entre los objetivos del nuevo programa estn el lograr una produccin de software por 5 mil millones de dlares anuales para el 2010, el alcanzar el promedio mundial de gasto en tecnologas de informacin (TI), y el convertir al pas en el centro latinoamericano de soporte y desarrollo de servicios basados en TI. Mxico, agreg, no ha desarrollado una industria del software importante, porque se le dedica muy pocos recursos, adems las empresas que existen son muy pequeas y no existe ninguna empresa con alto nivel de la calidad suficiente para competir internacionalmente. Tan slo el gasto en tecnologas de la informacin y comunicaciones en el pas representa el 3.2 por ciento del PIB, lo cual sita al pas en el nmero 50 a nivel mundial, por lo que se tiene la meta de llegar al promedio mundial de 7.5 por ciento del PIB. En el mbito de software, se tiene la meta de llegar al 0.61 por ciento del PIB, dijo la funcionaria. "Tenemos buena oportunidad y podemos desarrollarnos como lo hizo India e Irlanda, a travs de la capacitacin de la gente. Es una industria que usa cerebro de obra y es importante que tengamos programas de educacin acordes de las necesidades de la industria", expres Ruiz. Por ello, dijo, trabajan en un programa nacional donde no slo interviene la Secretara de Economa, sino Bancomext, INEGI, Nafin, secretara de educacin y con asociaciones privadas como Amiti y Amece, para que sea una accin que apoye los requerimientos de la industria.
ULSA 47
Fbrica de Software
En qu consiste el programa?
El programa contemplar siete lneas de accin a seguir. La primera es promover las exportaciones y la atraccin de inversiones; la segunda es contar con educacin y formacin de personal competente en el desarrollo del software, en cantidad y calidad convenientes. Como tercer lineamiento est con el contar con un marco regulatorio promotor de la industria. Para ello, dijo Ruiz, buscan adecuar la legislacin en materia de propiedad industrial y piratera de software. "Hay que avanzar la legislacin para que no sea un tope en la digitalizacin de procesos. Los cdigos de comercios locales y federales tienen que tener las caractersticas para que procesos electrnicos tengan la misma validez en un juicio, que si presentamos el papelito", enfatiz la subsecretaria de comercio interior. En el cuarto punto se busca desarrollar el mercado interno, mediante la integracin digital de cadenas de suministro, creando una demanda de trmites y servicios gubernamentales. "En el gobierno y empresas sin papeles (se busca que) el software signifique un ahorro en dinero a las industrias y no sea una inversin, sino que eficiente los procesos en las empresas", agreg. Otro lineamiento ser fortalecer a la industria local. Aqu, dijo, pensando en el desarrollo de la industria nacional se apoyar el software libre, fortalecerlo mediante financiamiento para capital de trabajo, capacitacin y certificacin de sus sistemas de calidad de procesos. Como sexto punto est el alcanzar niveles internacionales en capacidad de procesos. "Trabajaremos en impulsar una entidad local de certificacin, fomentar a la investigacin y desarrollo, as como crear el Premio Nacional de Calidad en Tecnologas de Informacin", seal. Y por ltimo est el promover la construccin de infraestructura fsica y de telecomunicaciones. El documento, dijo, incluye un diagnstico de la industria, hacia dnde va y cmo se necesita.
Manos a la obra
Ruiz indic que a pesar de que todava no se ha anunciado formalmente ya estn trabajando en ciertas lneas de accin hacia una industria de tecnologa en Mxico, y un ejemplo es que en Nuevo Len se trabaja cercanamente con un parque tecnolgico que estar en la ciudad de Monterrey. "Este parque, a diferencia de otros est dentro de la ciudad, cerca de un campo de golf, universidades y zonas residenciales altas. Con un enfoque ms de universidades y desarrollos de investigacin", seal.
ULSA 48
Fbrica de Software
As, dijo, es como hay que pensar en estos parques, porque no se pueden pensar fuera del ncleo de la ciudad, porque trabajarn en ellos ingenieros de alta tecnologa de cierto nivel. Aadi otro parque en el que se trabaja est en Jalisco, en el cual se estn pensando enfocarlo al cluster que tienen ellos en el Valle del Silicio Mexicano, es decir que buscan estar muy de la mano con el desarrollo de los productos. Adicionalmente, dijo, otras acciones que realizan es invertir en digitalizacin de cadenas comerciales, para lo cual desarrollan software para pequeos comercios de abarrotes y los ensean a trabajar en l. "Generamos muestras pilotos exitosos en diversos municipios que se irn pasando a otras cadenas, para ir reconvirtiendo al comercio a la industria de los servicios. Tambin queremos trabajar con un municipio para hacer de forma digital los pagos de sus servicios y convertirlo en programa piloto exitoso", indic Ruiz.|
ULSA
49
Fbrica de Software
Fbrica de Software
El sueldo promedio de un programador en la India es de 500 dlares mensuales, estimaron los especialistas. Segn Bernal, en Mxico, el terreno de los desarrolladores de software est poco explorado y existen muy pocas industrias abocadas a esta tarea. Los ms conocidos son Softtek y Serinf, tambin existen fbricas de software que son privadas, esto es, que la tiene una empresa para sus propios desarrollos, como Ddmesis, adquirida por GE Capital, y Tecnosys, de IBM, agreg. Entendemos que hay intentos de ir al exterior de parte de otras compaas de cierto tamao y hay algunos casos de pequeas compaas que estn haciendo la posible a travs de contactos personales apunt. La consultora Select, filial de International Data Corporation, considera que la actividad de las empresas desarrolladas de software en Mxico econmicamente es an incipiente. El software a la medida carece de demanda importante entre las empresas mexicanas ya que sus costos son elevados, dijo Alejandro Florean Gerente de software e Internet Working de Select. Pese a ello, durante 1999 generaron importantes utilidades estas se debieron a las necesidades que tenan las empresas de adecuar sus sistemas al ao 2000. Segn las proyecciones de Bernal, una fbrica de software con unos tres mil empleados podra ser rentable en dos o tres aos con una inversin de los 10 millones de dlares. El programa de Fomento de Desarrollo de la Industria de Software est dirigido a la capacitacin de estudiantes de escuelas pblicas de educacin tecnolgica del central estado mexicano de Guanajuato. Contempla en su fase inicial la capacitacin de 300 estudiantes como desarrolladores de informtica y pretende promover la inversin directa de capitales en el estado con su consecuente generacin de empleos. A un ao de haberse instrumentado, el programa cuenta con cincos clulas de desarrollo de software financiadas por industriales, donde los estudiantes se desenvuelven sobre proyectos reales.
Referencia:
http://clubs.terra.com.mx/cienciaytecnologia/articulos/Invmexcyt/4775/ http://www.vermic.com/productos.htm
http://www.cem.itesm.mx/asociaciones/aesc/simposium2.html
ULSA
51
Fbrica de Software
11.1. Informacin del X Simposium Internacional de Sistemas Computacionales realizado por la Asociacin de Estudiantes de Sistemas Computacionales
Empresa: Aztec Tech Games Ponente: Ing. Mario Rodrguez Puesto: Director General Conferencia: Modelos 3D: del papel a la batalla Resumen: Aztec Tech Games es una empresa 100% mexicana que est en el proceso de elaboracin de su primer video juego con presencia internacional. La conferencia trata de cmo llevar a un personaje del boceto en papel hasta su montaje final en el juego. Empresa: Softtek Ponente: Ing. Roberto Montelongo Conferencia: Fbricas de Software Resumen: Softtek es una empresa ampliamente reconocida, especialmente por ser una de las empresas ms fuertes en la fabricacin de software. En esta conferencia nos darn una breve resea de lo que hace una empresa como fbrica de software y sus necesidades.
Referencia: http://www.cem.itesm.mx/asociaciones/aesc/simposium2.html
ULSA
52
Fbrica de Software
12.- Conclusiones
Despus de haber realizado el presente trabajo de investigacin podemos llegar a las siguientes conclusiones: La implementacin de una fabrica de software, solo es posible cuando se logran completar con xito las capas superiores de los diferentes modelos como CMM, Triullum, Spice entre otros. En Mxico podemos desarrollar paquetes, Buscar la generalizacin del producto y posteriormente buscar mercados internos y luego, externos (exportar). Con la implementacin de metodologas para el uso de Fabricas de Software, se puede lograr: 1. Reduccin de Costos. 2. Medios efectivos para controlar recursos econmicos, laborales y organizacionales. 3. Estandarizacin de polticas y procedimientos dentro de una organizacin. En Mxico todava no existe una cultura de organizacin y sobretodo de visualizacin de problemas por procesos. En Mxico las pocas aplicaciones y esfuerzos encaminados a llevar a cabo fabricas de software, estn basado solo en productos de Microsoft. Otros pases similares al nuestro lo han demostrado: Israel, India, Chile, Espaa, Costa Rica A mediano y largo plazo, la posibilidad de independizarse de los desarrollos y productos basados en Microsoft, se lograra mediante campaas mercado lgicas que promuevan el uso de otro tipo de aplicaciones como Linux, Unx, Mac entre otros. Tambin sera conveniente que la industria mexicana y el sector pblico, creyera ms en si misma, por otro lado sera conveniente que viramos qu desarrollar (cosas tiles) para la industria, los negocios, el gobierno Visualizando el futuro inmediato, con el crecimiento de pases como China, India y Pakistan en el mundo informtico, el Gobierno Mexicano deber prestar atencin a este tipo de esfuerzos y crear organismos descentralizados que guen a las empresas Mexicana. Debemos concentrar en los que dirigen centros de investigacin, el dinero para apoyar la investigacin que se encuentra fragmentado, en comits, comisiones, consejos, y finalmente, establecer incubadoras para brindar apoyo a micro-empresas Se pudo observar la carencia de herramientas, polticas, procedimientos y metodologas en algunas organizaciones y empresas mexicanas.
ULSA
53
Fbrica de Software
La "Mtrica" es una rama de la computacin (dentro de "Ingeniera de Programas" o Ingeniera de Software) que estudia cmo hacer mediciones, hay libros, reuniones y congresos. Desgraciadamente, esto no la convierte en ciencia.- Esta medicin se invent en los Estado Unidos y hay un Instituto (Software Engineering Institute) que la practica como negocio. Se est tratando de introducir este tipo de medicin (y de negocio) a Mxico. Finalmente se recomienda buscar primero al cliente y luego hacer el producto, para no hacer productos para la vitrina de exhibicin y porque el cliente sabe lo que necesita, nosotros no.
ULSA
54