Fue fundada en 1947 como la primera sociedad cientfica y educativa acerca de la Computacin. Es la mayor sociedad de la informtica educativa y cientfica del mundo, proporciona recursos que permitan avanzar en la informtica como ciencia y como profesin. Adems ofrece premier del campo de la computacin de la Biblioteca Digital y sirve a sus miembros y la profesin de la informtica con las publicaciones de vanguardia, conferencias y recursos profesionales. Cuenta con varios Grupos de Inters Especial (SIGs) Grupos de Inters Especial de ACM ofrece una gran cantidad de conferencias, publicaciones y actividades en la escala de lo local a lo global, que proporciona oportunidades ilimitadas para compartir los conocimientos tcnicos y el conocimiento de primera mano de las ltimas tendencias de desarrollo. A continuacin algunas reas y Sigs ms estrechamente asociados con cada rea. Sigai - Inteligencia Artificial SIGBio Bioinformtica SIGARCH -Arquitectura de Computadores SIGECOM - Comercio Electrnico SIGLOG -Lgica y Computacin
Algunas Membresas de ACM Programas de Seguros Descuentos y ofertas especiales Bibliotecas Membresas Corporativas Beneficios para estudiantes y profesionales Publicaciones Ingeniera de Software I
Te permite acceder a las diferentes publicaciones y revistas en lnea ,boletines y actas de congresos, subscripciones a bibliotecas etc. Conferencias ACM tiene un espacio especial donde uno puede informarse de las diversas conferencias a realizarse, con calendario completo de los eventos, la organizacin, fecha de presentacin etc. Actividades Educativas ACM promueve la educacin a travs de iniciativas que respondan a las necesidades cambiantes de los estudiantes y profesionales en tecnologas de cmputo y de informacin. Premios Lugar donde se puede encontrar todos los ganadores ACM, procesos de nombramientos y una gua completa para el establecimiento de un premio, entre otras informaciones importantes. Centro de Formacin y Empleos ACM cuenta con un lugar perfecto para quienes buscan trabajo y para los empleadores de la industria de la comunicacin para comunicarse entre s. Existen infinidad de personas que buscan una oportunidad tanto en puestos de trabajo informticos, como en el mundo acadmico y empresarial: profesores, cargos universitarios, programador etc., que tan solo pueden enviar su CV para acceder a estas oportunidades.
FUENTE: http://www.acm.org/
SEI (Software Engineering Institute)
Es un instituto federal estadounidense de investigacin y desarrollo, fundado por Congreso de los Estados Unidos en 1984 para desarrollar modelos de evaluacin y mejora en el desarrollo de software. Ingeniera de Software I
Durante cuatro dcadas, el SEI ha estado ayudando a las organizaciones gubernamentales y de la industria para adquirir, desarrollar, operar y mantener sistemas de software que son innovadores, asequibles, duraderos y confiables. Productos y Servicios SEI ofrecen una amplia gama de productos, incluyendo la formacin presencial, la certificacin, y ms-para servir a las necesidades de los clientes y socios en todo el mundo de aprendizaje. Su misin es fomentar la adopcin de las mejores prcticas a travs de la formacin y cuentan con cursos que son creados y entregados por reconocidos expertos que tienen experiencia prctica en las disciplinas que ensean. Incluyen ejercicios prcticos y escenarios en el mundo real slo una cuestin de das, adems SEI Formacin proporciona las herramientas necesarias para crear y mantener el software, los sistemas y organizaciones que estn eficientes, seguros y confiables. Certificaciones El SEI otorga certificaciones a personas que demuestran el dominio de un conjunto especfico de capacidades, habilidades y conocimientos en relacin a un rea de conocimiento en particular. Y estas tienen su beneficios como aumentar el rendimiento de la organizacin as como tambin cada una de las personas certificadas ganan capacidades y habilidades para ayudar a la organizacin a alcanzar sus objetivos de negocio, etc. reas de Trabajo SEI cuenta con varias reas de trabajo como: Rendimiento y fiabilidad, Medicin y Anlisis, Arquitectura de Software, Sistema de Sistemas entre otros.
Investigacin y Desarrollo de la SEI La investigacin y la ingeniera personal SEI incluyen lderes reconocidos en la adquisicin, calidad de software, la garanta de software y la ciberseguridad. Su trabajo se centra en la mejora del desarrollo en estas reas: Ingeniera de Software Ciberseguridad Enfoque de Seguridad Departamento de Defensa de los Estados Unidos(DoD) capacidades de los componentes crticos
Bibliotecas Virtuales, donde puedes acceder a los diversos temas de tu inters Calendario de Eventos, donde puedes encontrar los diversos eventos y talleres a realizarse. Consultora en el SEI El SEI acepta compromisos para ayudar a las organizaciones aplicar las mejores prcticas en las siguientes reas de trabajo financiados: Ingeniera de Software I
Apoyo Adquisicin Medicin y Anlisis Rendimiento y Fiabilidad Procesos y Mejora del Rendimiento Gestin de Riesgos Arquitectura de Software Lneas de Producto Software Sistema de Sistemas
FUENTE: http://www.sei.cmu.edu
IEEE( Institute of Electrical and Electronics Engineers)
IEEE es la mayor asociacin profesional del mundo dedicada al avance de la innovacin tecnolgica y excelencia en beneficio de la humanidad Afiliacin y Servicios Los valores clave de IEEE membresa son la innovacin tcnica, el acceso a la informacin de vanguardia, oportunidades de networking, y beneficios exclusivos para miembros. Beneficios de la membresa IEEE ofrece un acceso a la informacin tcnica ms importante de la industria, oportunidades de contactos, herramientas de desarrollo de carrera, y muchos otros beneficios exclusivos para sus miembros. Sociedades y Comunidades Como asociacin tcnica ms grande del mundo, IEEE est compuesta por una variedad de grupos, que trabajan en publicaciones, conferencias, y la Ingeniera de Software I
construccin de comunidades tcnicas. Hay dos maneras de involucrarse con IEEE: Por rea de inters (grupos de conocimiento): Grupos IEEE conocimiento son comunidades membresas y voluntarias impulsadas, proporcionando la investigacin de vanguardia y conocimientos sobre diversos temas. Y por ubicacin geogrfica (en su rea): IEEE est dividido en diez regiones geogrficas de todo el mundo. Dentro de las regiones, hay secciones locales, captulos y grupos de afinidad. Redes virtuales Una red virtual es una comunidad basada en la Web de las personas que tienen un propsito compartido o intereses comunes. Publicaciones y Normas IEEE ofrece una amplia gama de publicaciones de calidad y normas que hacen que el intercambio de conocimientos tcnicos y la informacin posible entre los profesionales de la tecnologa. Conferencias y Eventos IEEE produce publicaciones de la conferencia de vanguardia en diversas reas de la tecnologa que son reconocidos por el mundo acadmico y la industria en todo el mundo. Y en la pgina podemos encontrar publicaciones de las conferencias, ejecucin, las reuniones y eventos de las mismas. Educacin y Formacin IEEE ofrece una amplia gama de aprendizaje, promocin de las carreras, y oportunidades de empleo dentro de las ciencias de la ingeniera, la investigacin y otras reas tecnolgicas. Ofertas de empleo en IEEE Como parte de un equipo global, los miembros del personal tienen la oportunidad de colaborar con un conjunto diverso de colegas cuyo talento y compromiso con la integridad de ellos uno de los activos ms valiosos de la organizacin hacer.
FUENTE: http://www.ieee.org/
Ingeniera de Software I
SWEBOK (Software Engineering Body Of Knowledge) Gua de la Ingeniera de Software Cuerpo del Conocimiento
SWEBOK est estructurada en 12 captulos completamente divididos en subcaptulos, que explican todos los componentes del cuerpo de conocimiento de la ingeniera del software, basados en reas del conocimiento. CAPITULO 2 -Requerimientos del Software El rea del conocimiento de los requisitos de software (KA), se refiere al anlisis, especificacin y validacin de los requisitos de software. Fundamentos de los requisitos SW Un requisito de software es una caracterstica que se debe exhibir para solucionar un cierto problema en el mundo real. Es importante tambin que cada requisito sea comprobable, pensando tambin en las implicaciones que esto puede conllevar. Se pueden clasificar de la siguiente manera: Requisitos de Producto Se refiere a generar los parmetros del problema a solucionar para ser traducido a un software. Requisitos de Proceso Se refiere ya a la parte tcnica y a lo que voy a utilizar para realizar el software (lenguaje de programacin, por ejemplo). Requisitos Funcionales Son las capacidades o funciones del software. Requisitos No Funcionales Son los que actan para obligar a llegar a la solucin pero no son parte integral del software. Caractersticas Inesperadas Son requisitos que se toman pero no pueden comprobarse hasta que est funcionando el software en condiciones reales. Requisitos del Sistema y de Software Se refiere a todo lo que necesita el software para funcionar desde el punto de vista de hardware, software, recurso humano, informacin, instalaciones, servicios, etc. Los requisitos de software se derivan de los del sistema. 2. Proceso de los requisitos Inicia de manera aislada y se va refinando con el modelo de ciclo de vida del software y necesita ser adaptado a la organizacin y al contexto del proyecto. Agentes de Proceso Incluye a todas las personas, usuarias o no, que participan en el desarrollo del proyecto. Es un grupo interdisciplinario que aporta informacin para la construccin del software. Pueden ser usuarios, clientes, analistas de mercado, reguladores, ingenieros de software, etc. Ayuda y Gerencia de Proceso Se refiere a toda la parte presupuestal y de gerencia para llevar a cabo el proyecto. Calidad y Mejora de Proceso Ingeniera de Software I
Se refiere al coste generado por control de calidad y a los niveles de cumplimiento para lograr el objetivo principal y por ende, la satisfaccin del cliente. 3. Captura de los Requisitos Se refiere al cmo se van a recolectar los requisitos por parte del ingeniero de software. Es aqu donde es clave la comunicacin con el cliente y con todas las personas implicadas en el proceso. Fuentes de los Requisitos Deben ser confiables y sometidas a verificacin para confirmar que la persona que suministra la informacin es idnea para hacerlo y que se tom el tiempo para analizar su conveniencia. Tcnicas de Captura de Requisitos A menudo, el ingeniero de software utiliza tcnicas de captura de requisitos, tales como: Entrevistas, Prototipos, Reuniones, Observacin 4. Anlisis de Requisitos Es una auditora a todo lo que se recopil. De aqu salen los requisitos del sistema y por ende los de software. Permite establecer limitaciones y viabilidad del proyecto. Clasificacin de los requisitos Pueden clasificarse en: Funcionales o no funcionales, De producto o de proceso, Derivado, Prioritario, Estable o Voltil Modelo Conceptual Se debe elegir un modelo conceptual que ayude a entender de una mejor manera el problema. Es una habilidad con la que debe contar el ingeniero de software, apoyado en herramientas que le ayuden a contextualizar el software, como el caso de UML o el uso de la matemtica discreta. La IEEE tiene tres estndares para el modelado. Estos son: IEEE Std 1320.1 (conceptual) IDEF0 (funcional) IEE Std 1320.2, IDEF1X97 (de informacin)
Asignacin Arquitectnica del Diseo y los Requisitos Es la fusin de toda la parte de requisitos con la parte de diseo. Es inseparable esta combinacin; una es parte integral de la otra y es fcil su comprensin, apoyndose en el modelo conceptual. El estndar IEEE Std 1471-2000 puede servir de apoyo en esta prctica. Negociacin de los requisitos 5. Especificacin de Requisitos Se refiere a plasmar en un documento todos los requisitos aprobados. Someterlos a verificacin por parte de los actores del proyecto. Es usual que se hagan tres documentos: Definicin del sistema o documento de exigencias Requisitos de sistema Requisitos de software Es importante esta parte porque sin aprobar alguno o todos los documentos, es imposible pasar a la etapa de diseo. El estndar IEEE Std 830 [IEEE830-98], apoya este proceso de especificacin de requisitos. Ingeniera de Software I
6. Validacin de los Requisitos Su objetivo es determinar que los documentos realizados sean comprensibles y de acuerdo a los estndares determinados. Por esto, deben someterse a una auditora final realizada por todo el personal implicado en el desarrollo del software (cliente), para asegurarse de que lo plasmado all es lo que se solicit. Revisiones de los requisitos Se nombra un comit revisor, que incluye a un representante del cliente, con el fin de evaluar los documentos ya mencionados. El estndar IEEE Std 1028 proporciona ayuda valiosa en la tarea de revisin. Prototipado Es un medio que utiliza el ingeniero de software para manifestar lo que entendi y para facilitar la correccin, eliminacin o adicin de requisitos. Como se evidencia, la ventaja de hacerlo es grande pero el costo puede ser alto. Pruebas de Aceptacin Son aquellas que se le aplican a cada requisito para determinar si el producto final lo satisface o no. Como conclusin para este captulo puede afirmarse que los requisitos de software deben tomarse como una prctica seria, asignndole el tiempo y los recursos necesarios que permitan continuar con un proceso ordenado para llegar a obtener un software de calidad.
CAPITULO 3 Diseo del Software Es definido por la IEEE como el proceso para definir la arquitectura, los componentes, las interfaces y otras caractersticas de un sistema.
1. Fundamentos Proceso de diseo de software Se divide en dos etapas: Diseo Arquitectnico Descompone el software en componentes y describe sus partes a nivel general, de estructura. Diseo Detallado Describe el comportamiento especfico de estos componentes. Existen tcnicas permisibles que permiten hacer un acercamiento al diseo de software. Estas son algunas: Abstraccin Es el proceso de olvidarse de la informacin para poder tratar las cosas que son diferentes como si fueran iguales. Acoplador y Cohesin El acoplador es la fuerza de las relaciones entre los mdulos y la cohesin se refiere a la relacin que existe entre estos mdulos. Descomposicin y Modularizacin Esta tcnica se utiliza para poner diversas funcionalidades en componentes ms pequeos. Encapsulacin Permite empaquetar informacin y hacerla invisible. El xito est en darle una buena funcin a esa informacin. Separacin de la interfaz y de la puesta en prctica Define un componente a travs de su interfaz grfica. Desahogo Ingeniera de Software I
Asegura que la abstraccin se hizo de manera correcta y que slo se tom lo relevante del componente. 2. Cuestiones claves del diseo de software Contribuye a entender cmo dividir, organizar y constituir los paquetes de software. Se ayuda con las siguientes llaves: Concurrencia Se refiere a cmo descomponer el software en procesos, tareas, hilos de reparto y que conserve la sincronizacin en los procesos. Distribucin de Componentes Como integrar cada parte del software con el hardware necesario para su funcionamiento. Direccin del Error y de Excepcin y Tolerancia a Fallos Define las tcnicas para prevenir y tolerar fallos en el momento en que se presenten. Interaccin y Presentacin Se refiere a la forma de mostrar y organizar las interacciones con los usuarios y la forma de documentarlas. 3. Estructura y Arquitectura de Software Es una descripcin de los subsistemas y de los componentes de un sistema de software y de las relaciones entre ellos. 4. Anlisis y Evaluacin de la Calidad del Diseo de Software
Esta parte es importante porque asegura la calidad del proceso de diseo. Se utilizan mtricas que permiten estimar de manera cuantitativa varios aspectos del tamao, estructura o de la misma calidad del software. Estas pueden ser estructuradas u orientadas a objetos.
5. Notaciones del Diseo de Software Generalmente son grficas y permiten modelar en un diagrama la propuesta de diseo. Entre ellos estn los diagramas de clases y objetos, de componentes, de despliegue, de entidad-relacin, de estructura de Jackson, de estructura de cartas y diferentes lenguajes que permiten describir la arquitectura del software y sus componentes. Tambin existe la notacin para las descripciones de comportamiento dinmico del software, en las cuales tambin se usan diagramas y lenguajes textuales. Entre ellos estn los diagramas de actividad, de colaboracin, organigrama de datos, tablas y diagramas de decisin, de secuencia, de transicin de estado y diagramas de estado de carta, lenguajes de diseo en pseudocdigo, etc.
6. Estrategias y Mtodos del Diseo de Software Permiten dirigir el proceso de diseo. La estrategia est en trminos generales y los mtodos deben ser especficos. Aqu se inicia la aplicacin del paradigma Divide y Vencers y el proceso de refinamiento. Se define tambin si se va a utilizar el diseo estructurado u orientado a objetos o basado en componentes.
CAPITULO 4 Construccin del Software Este captulo hace referencia a la creacin detallada de software operativo y significativo, por medio de una combinacin de codificacin, verificacin, pruebas unitarias, pruebas de integracin y depuracin.
1. Fundamentos La construccin del software tiene como objetivos los siguientes: Ingeniera de Software I
Minimizar la complejidad Anticiparse a los cambios Construir para verificar Aplicacin de estndares en la construccin
2. Gestin de la Construccin Modelos de Construccin Los ms conocidos y utilizados son los modelos de ciclo de vida en cascada y de entrega por etapas. Estos modelos son robustos pero solo son eficientes si se ha hecho un buen trabajo en la etapa de requisitos y de diseo. Por el contrario, los modelos prototipado evolucionista, programacin extrema y Scrum, son ms flexibles en este tema, dado que son iterativos y permiten, de manera cclica, realizar cambios, al combinar las tres etapas iniciales del desarrollo de un proyecto de software. Planificacin de la Construccin En todo proyecto, la planificacin es vital. Es aqu donde se delimita la aplicacin de requisitos, en qu orden se irn tomando y que grado de cumplimiento tienen, con respecto al objetivo principal del proyecto. De ah la importancia de elegir un modelo de ciclo de vida acorde a los requerimientos. Medicin de la Construccin Se refiere a los procedimientos utilizados para medir la eficiencia del cdigo fuente, en lo que se refiere a extensin, cdigo reutilizado, cdigo destruido, complejidad de cdigo, estadsticas de inspeccin de cdigo, tasas de rectificacin y correccin de errores y los horarios. Esto asegura el control de la calidad. 3. Consideraciones Prcticas Para solucionar un problema de la vida real a travs de un software, es totalmente necesario utilizar un lenguaje de programacin. Aqu radica el xito del proyecto de software, dado que es el ingeniero de software el encargado de aprobar el lenguaje a travs de los argumentos dados por los encargados de la elaboracin del cdigo fuente. Lenguajes de Construccin Son todos los tipos de comunicacin mediante los cuales un ser humano puede especificar una solucin ejecutable para un problema de un ordenador. Pueden ser de configuracin, de herramientas y de programacin. Estos ltimos, a su vez, estn divididos en lingsticos, formales y visuales. Pruebas de Construccin Generalmente son realizadas por el profesional que realiz el cdigo. Pueden ser unitarias o de integracin. Su propsito es reducir el tiempo entre el ingreso de fallas en el cdigo y el tiempo que se puede demorar su deteccin. Para tal fin, las normas estndar IEEE Std 829-1998 para documentacin de pruebas y la IEE Std 1008-1987 para pruebas unitarias, pueden ser de gran utilidad. Reutilizacin Definir de manera objetiva, que parte del cdigo puede ser eficientemente reutilizado para minimizar tiempos de entrega, adems debe ser reportado a las personas que lideran el proyecto, por qu y para que se va a reutilizar, ya que esto puede modificar el valor del proyecto, por ejemplo. Calidad de la Construccin Existen varias tcnicas para evaluar la calidad en la construccin del cdigo fuente de un proyecto de software. Entre ellas tenemos: Ingeniera de Software I
Las pruebas unitarias y de integracin El cdigo paso a paso Utilizacin de aserciones Depuracin Revisiones tcnicas Anlisis esttico Integracin Una parte clave del proceso de construccin es la integracin de las clases, componentes, rutinas, subsistemas que han sido construidos por separado, sobre todo si hay implicaciones tcnicas de software o hardware.
CAPITULO 5 Pruebas del Software Es una actividad que permite evaluar y mejorar la calidad del producto con el fin de detectar fallas y corregir errores. Las pruebas del software consisten en verificar el comportamiento de un programa dinmicamente a travs de un grupo finito de casos de prueba, debidamente seleccionados del, tpicamente, mbito de ejecuciones infinito, en relacin al comportamiento esperado. Divisin de los temas Fundamentos de las Pruebas del Software: Cubre las definiciones bsicas del rea de pruebas del software, la terminologa bsica y los trminos clave, as como las relaciones con otras actividades. Niveles de Prueba Objeto de la prueba: enumera los niveles en que tradicionalmente se subdividen las pruebas para software grande. Objetivos de las pruebas: considera las pruebas para situaciones o propiedades especficas y se conoce como objetivos de las pruebas.
CAPITULO 6 Mantenimiento del Software El mantenimiento de software se ha definido como el nmero total de actividades requeridas para proveer soporte efectivo al software, esto incluye un planeamiento efectivo antes. Durante y despus de la implementacin del software.
1. Aspectos Fundamentales en el mantenimiento del software: Naturaleza del mantenimiento: El mantenimiento de software debe estar dentro del ciclo de vida operacional, un mantenimiento est definido por la IEEE/EIA 12207 como las actividades de mantenimiento que permiten el desempeo correcto. Necesidad de mantenimiento: La necesidad de mantenimiento se da para garantizar que el software cumple satisfactoriamente con los requerimientos solicitados, este se aplica a cualquier desarrollo independiente del modelo de ciclo de vida utilizado, el mantenimiento se da en orden de alcanzar el desempeo adecuado y en el orden de: Corregir fallas. Improvisar el diseo. Implementar correcciones Interfaces con otros sistemas. Ingeniera de Software I
Adaptar programas a diferentes tipos de hardware, software, configuracin del sistema y facilidad de uso de telecomunicaciones. Migracin legal de software. Retiro de software. Costos Mayoritarios de mantenimiento: Los costos de mantenimiento de software son los ms costosos en todo el ciclo de vida del software.A continuacin se presentan algunos aspectos tcnicos y no tcnicos que afectan los costos de mantenimiento: Tipo de Aplicacin. Disponibilidad del mantenimiento de software. Ciclo de vida del software. Caractersticas de hardware. Calidad del diseo de software, construccin, documentacin y pruebas. Evolucin del software: En 1969 Lehman direcciono el mantenimiento del software y la evolucin de los sistemas, durante 20 aos se mantuvo su idea de la formulacin de ocho Leyes de la evolucin donde se mantuvo la idea de la evolucin en el mantenimiento del software para continuar con el desarrollo. Lientz y Swanson inicializaron la definicin de tres categoras de mantenimiento: correctivo, adaptativo y perfectivo. 2. Factores claves en el mantenimiento del software: E importante comprender que el mantenimiento de software nos proporciona una tcnica nica en los desafos de administracin para los ingenieros de software, a continuacin una manera de cmo se nos presentan algunos factores de administracin y tcnicos para el mantenimiento de software, estos se agrupan segn los tpicos siguientes: Factores tcnicos. Factores administrativos. Estimacin de costos. Medidas.
3. Proceso de mantenimiento:
Provee referencias y estndares utilizados para implementar el proceso de mantenimiento de software. Cada actividad de mantenimiento primario de software ISO/IEC 14764 es desglosada en los siguientes trminos: Proceso de implementacin. Anlisis del problema y modificaciones. Implementacin y modificacin. Mantenimiento Aceptacin/Revisin. Migracin. Retiro de Software. Tcnicas para el mantenimiento: Esta subrea nos introduce a algunas generalidades aceptadas por las tcnicas del mantenimiento de software: Comprensin del programa Los programadores gastan tiempo considerable leyendo y entendiendo programas para poder implementar cambios existen distintas herramientas que nos ayudan con este proceso. Ingeniera de Software I
Reingeniera Est definida como el examen de la alteracin del software para reconstituir una nueva forma, la reingeniera es la ms radical y expansiva forma de la alteracin otros creen que la reingeniera puede ser usada para cambios menores, siempre est enfocada en mantener la legalidad del software as como sus tcnicas, casos de estudio y sus riesgos y beneficios. Ingeniera inversa Es el proceso de analizar el software para identificar los componentes y sus relaciones para crear representaciones del software Produce grficas as como control de flujo y del cdigo fuente, un tipo de reingeniera puede ser la redocumentacin, otro tipo es la reparacin del diseo.
CAPITULO 7 Gestin de Configuracin de Software La configuracin de un software y sus caractersticas funcionales de hardware, software, firmware o la combinacin de estas son un conjunto de caractersticas tcnicas que se deben cumplir para garantizar su correcto funcionamiento. La gestin de la configuracin del software (SCM) es un proceso que soporta el ciclo de vida del software (IEEE12207.0-96) que beneficia a la gestin de proyectos, las actividades de desarrollo y mantenimiento, las actividades de garanta y a los clientes y usuarios del producto final.
1. Administracin de los procesos SCM
La SCM administra y controla la evolucin e integridad del software as como su verificacin, control, reportes y configuracin de la informacin. Una implementacin exitosa del SCM requiere un cuidado especial y planeacin y administracin. Contexto Organizacional del SCM Para desarrollar un plan SCM es necesario conocer detalladamente los procesos de la organizacin ya que el SCM interacta directamente con todos los elementos y actividades organizacionales. Constantes y gua para el proceso SCM Esto proviene de un gran nmero de fuentes tiene que ver con las polticas de la organizacin y su influencia en la administracin de los procesos. Planeacin del SCM El proceso de planeacin debe ser consistente con el contexto organizacional, y la naturaleza del proyecto (por ejemplo el tamao y su crtica) las actividades ms importantes en este contexto son: control de configuracin, control de estado, Ingeniera de Software I
control de auditora, control de liberaciones y entregas as como las herramientas de configuracin y control y sus interfaces consideradas. Plan de la SCM Los resultados de planeacin del proyecto son guardados en un plan de gestin y configuracin del software, el documento se mantiene y se actualiza o aprueba segn sea necesario a lo largo del ciclo de vida del software. Tambin es muy til hacer mediciones constantes a los procesos para hacer los cambios y/o actualizaciones correspondientes. Seguimiento de la gestin de la configuracin del software Despus del cumplimiento del proceso de la SCM puede ser necesario un cierto nivel de seguimiento para asegurarse que los procesos SCM se llevan a cabo adecuadamente, este seguimiento puede hacer parte de un proceso de auditora para garantizar la calidad del software. El uso de herramientas integradas en la SCM facilita el proceso de seguimiento. Medidas y mediciones de la SCM Proporcionan un buen medio para monitorizar la efectividad de las actividades SCM de una manera continuada, son tiles para caracterizar el estado actual del proceso y para proporcionar una base para hacer comparaciones con el tiempo.
2. Identificacin de la configuracin del software Identifica los elementos a ser controlados, establece e identifica esquemas y sus versiones, establece herramientas y tcnicas utilizadas para administrar y controlar dichos elementos. Identificar elementos a ser controlados
Un primer paso sera identificar cambios en los elementos de software que sern controlados para entender la configuracin del software en el contexto del sistema. Biblioteca de software Coleccin controlada de software as como de sus documentos relacionados y est relacionada para ayudar en el desarrollo de software, ah diferentes tipos y nos pueden ayudar en diferentes etapas, son tambin una fuente importante de informacin para mediciones del trabajo realizado y del progreso.
3. Control de la configuracin del software Le concierne la gestin de cambios durante el ciclo de vida, cubre los procesos que determinan los cambios a realizar, la autoridad para hacerlos y el soporte para la implementacin de dichos cambios. Peticin, evaluacin y aprobacin de cambios del software El primer paso es determinar los cambios a realizar, se evala el coste e impacto del cambio propuesto se acepta o rechaza dicho cambio, este se origina en cualquier momento del ciclo de vida y puede incluir una solucin propuesta y una prioridad. Implementando cambios en el software Se implementan utilizando los procesos de software definidos de acuerdo con los requerimientos de planificacin aplicables. Podran sufrir auditoras de configuracin y verificacin de la calidad del software. Esta soportada por las herramientas de la biblioteca que proporcionan gestin de versiones y soporte para el almacenamiento de cdigo. Desviaciones y Remisiones Las limitaciones que se imponen al esfuerzo de la ingeniera del software podran contener necesidades que no pueden ser satisfechas en el punto designado del Ingeniera de Software I
ciclo de vida. Una remisin es una autorizacin para abandonar una necesidad antes del desarrollo del elemento.
4. Registro del estado de la configuracin del Software La contabilidad del estado de la configuracin del software (SCSA) es la actividad de registrar y proporcionar la informacin necesaria para una gestin efectiva de la configuracin del software. Informacin del estado de la configuracin del software Genera un conjunto de informes durante el ciclo de vida, se encarga de recoger y mantener la informacin del estado de la configuracin que se ha de gestionar segn las configuraciones evolucionan. Reportes del estado de la configuracin del software Los reportes pueden ser usados para los elementos del proyecto de la organizacin, incluyendo el equipo de desarrollo, administracin de proyectos y actividades de calidad del software. Tambin sirve para responder algunas preguntas especficas de la etapa de produccin.
5. Auditora de la configuracin de software Es una actividad desarrollada independientemente para evaluar la conformidad de los productos de software, se encarga de aplicar regulaciones, estndares, planes de gua y procedimientos. Deben ser cuidadosamente planeadas, existen herramientas que apoyan la planeacin y conduccin de las auditoras para facilitar su proceso. Auditoria funcional de la configuracin del software
El propsito es asegurar la consistencia en los elementos de software auditados. La salida de la verificacin y validacin del software es la clave de entrada de este tipo de auditora. Auditora de la configuracin fsica del software El propsito es asegurar que el diseo y la documentacin de referencia es consistente con la construccin del producto de software.
Auditora durante el proceso de una lnea base de software Como lo mencionado puede ser llevado durante el proceso de desarrollo para investigar el estado actual de los elementos especficos de la configuracin. La auditora es aplicada a los elementos de la lnea base para asegurar el desempeo que sea consistente con las especificaciones. 6. Administracin de las entregas y liberaciones de software
El trmino liberacin es usado en este contexto para referirnos a las distribuciones de software y los elementos en las actividades de desarrollo. Eso incluye liberaciones internas y correcciones a las variantes de estos elementos. La informacin y documentacin entregada en las liberaciones es conocida como el documento descriptivo, este incluye los contenidos de instalacin y instrucciones de actualizacin.
CAPITULO 8 Gestin de la Ingeniera de Software Puede ser definida como las actividades de gestin de la aplicacin, planeacin, coordinacin, medicin, monitorizacin, control y reportes para asegurar el desarrollo y mantenimiento del software como sistemtico, disciplinado y cuantificable. Ingeniera de Software I
La gestin en la ingeniera del software se descompone en seis subreas principales:
1. Iniciacin y Alcance Se centra en la determinacin eficaz de los requisitos del software por medio de varios mtodos de induccin y la valoracin de la viabilidad del proyecto desde distintos puntos de vista, una vez establecida la viabilidad, la tarea pendiente es la especificacin de la validacin de requisitos y del cambio de procedimientos. 2. Planificacin de un Proyecto de Software
Est regulado por los alcances y los requisitos y por la viabilidad del proyecto, se evalan los procesos de ciclo de vida y se selecciona el ms apropiado. Se debe realizar una descomposicin jerrquica de tareas, y la realizacin de un calendario y una estimacin de costos. Ms adelante se le da un presupuesto a las tareas y la imposicin de horarios y uso de materiales, se debe llegar a la determinacin de procesos y responsabilidades para asegurar la calidad del software, verificacin, validacin y revisiones de auditoras. Planificacin de un Proceso La seleccin de un modelo de ciclo de vida o la adaptacin de un despliegue de ciclos se emprenden a la luz del alcance particular y de los requisitos del proyecto. Tambin se seleccionan mtodos y herramientas pertinentes. Determinar los entregables
Se especifica y caracteriza los productos de cada tarea, se evala la posibilidad de reutilizar componentes de desarrollos anteriores y se planifica la utilizacin de terceras personas y del software obtenido y se seleccionan los proveedores. Esfuerzo, calendario y clculo del coste Se determina el rango de esfuerzo esperado, utilizando un modelo de estimacin calibrado, basado en datos histricos sobre el esfuerzo empleado. Los requisitos de recursos (personas, herramientas) se traducen en estimaciones de costo. Reparto de recursos Los equipos, medios y personas se asocian a las tareas programadas, esta actividad est regulada y limitada por la disponibilidad de los recursos y su uso ptimo bajo estas circunstancias. Gestin de Riesgos Se completa el anlisis de riesgos, la valoracin crtica de riesgos, la mitigacin de riesgos y la planificacin de contingencias. Gestin de calidad Se define en trminos de atributos pertinentes del proyecto y en los de cualquier producto asociado a l, tanto en trminos cualitativos como cuantitativos. Los lmites de adhesin de calidad se colocan de acuerdo a las expectativas que tenga el contratista sobre el software en cuestin as como los procedimientos de verificacin y validacin del producto entregable. Gestin de planes Los informes, la supervisin y el control del proyecto deben encajar en el proyecto de ingeniera del software seleccionado y en las realidades del proyecto y deben reflejarse los artefactos que lo gestionarn. Los cambios a otros procesos de soporte ejemplo: gestin documental, resolucin de problemas tambin deben gestionarse de la misma manera.
Ingeniera de Software I
3. Promulgacin del proyecto de Software Se ejecutan los planes y se divulgan los procesos incluidos en los planes, en este proceso hay total expectativa de la adhesin plena de los requisitos del contratista y el logro de los objetivos del proyecto, son actividades fundamentales para la promulgacin la gestin, medicin, supervisin, control e informacin del proyecto. 4. Revisin y Evaluacin Se evala el proceso global hacia el logro de los objetivos y satisfaccin de los requisitos del contratista y se llevan a cabo valoraciones sobre la efectividad del proceso global hasta la fecha, del personal involucrado y de las herramientas y mtodos utilizados.
Determinar la satisfaccin de los requisitos Determinar que el objetivo principal se est cumpliendo es primordial ya que lo que nos interesa es la satisfaccin del usuario o contratista esto se debe hacer peridicamente. Se deben identificar las variaciones a las expectativas para llevar a cabo las acciones adecuadas. Tambin se debe gestionar el control de cambios a los procedimientos y a la configuracin del software. Revisar y Evaluar la Ejecucin
Las revisiones peridicas a lo realizado nos proporcionan detalles sobre la probabilidad de ser fiel a los planes, as como las posibles reas de dificultad, aqu se evalan los diferentes mtodos, herramientas y tcnicas empleadas para ver su eficacia y adecuacin y se evala constantemente la eficacia de los procesos para ver su utilidad en el contexto del proyecto, cuando sea necesario se gestionan y se llevan a cabo los cambios. 5. Cierre El proyecto llega a su fin cuando todos los planes y procesos implicados se han promulgado y completado, en esta fase se repasan ciertos criterios para el xito del proyecto. Se han entregado los procesos tal como se haban especificado y todos los productos planificados han sido entregados con caractersticas aceptables. Determinar el cierre Se logran los objetivos del proyecto y estos procesos por lo general involucran a los contratistas y acaban con la documentacin y de los informes de cualquier otro problema pendiente conocido. Actividades de cierre Se archivan los materiales del proyecto y la base de datos de medicin de la organizacin se pone al da con los datos finales del proyecto y se emprende el anlisis post-proyecto. Se hace con el fin de identificar temas. Problemas y oportunidades encontrados durante el proceso, se sacan las lecciones del proceso y luego se alimentan los conocimientos de la organizacin y los intentos de mejora. 6. Medidas de la ingeniera del software
Aqu abordamos el tema de la medicin en la ingeniera del software y su importancia para esto se sigue unas mtricas y normas establecidas por entidades como la ISO y la IEEE. Establecer y sostener el compromiso de medir Ingeniera de Software I
Se deben tener ciertos compromisos de medicin establecidos, adems de requisitos que midan los factores que contribuyen a un objetivo en particular para as gestionar los proyectos y hacerle frente a este objetivo. Planificar el proceso de medicin Para esto es necesario identificar la unidad funcional a la cul se le est aplicando para que sea caracterizada y as identificar las necesidades de informacin para proceder con los objetivos primordiales y sus respectivas prioridades. Evaluar las mediciones Este proceso se debe llevar a cabo con un criterio de evaluacin especfico para determinar las fuerzas y debilidades de los productos, se puede hacer por medio de un proceso de auditora interna o externa y debe incluir una retroalimentacin a los usuarios. CAPITULO 9 Proceso de Ingeniera de Software Se refiere al conjunto actual de actividades realizadas dentro de una organizacin que se puede ver como un solo proceso.
1. Proceso de implementacin y cambios Se centra en los cambios organizacionales, describe la infraestructura, actividades, modelos y consideraciones prcticas de un proceso de implementacin y cambios: Infraestructura del proceso
Es necesario que la infraestructura este en su lugar, es decir que los recursos estn al alcance de la mano y que se hayan asignado responsabilidades, es posible que se tengan que establecer comits para supervisar el esfuerzo del proceso de ingeniera del software.
2. Definicin de procesos Pueden ser unos lineamientos, polticas o estndares se definen para facilitar el entendimiento en la comunicacin humana, apoyar y mejorar procesos , se deben considerar algunas variaciones como la naturaleza del trabajo, el dominio de la aplicacin, el modelo de ciclo de vida y la madurez de la organizacin.
3. Valoracin del proceso Se lleva a cabo utilizando un mtodo y un modelo de valoracin que en algunos casos es visto como un modelo de apreciacin y muchas veces una evaluacin de capabilidad cuando es para la adjudicacin de algn contrato. Modelos de valoracin del proceso Recoge lo que se conoce como las buenas prcticas en el proceso de gestin de la ingeniera del software, la ISO define un modelo ejemplo de valoracin y de requisitos, se han desarrollado tambin un modelo de madurez para sistemas de ingeniera que resulta til cuando un proceso est implicado en el desarrollo y mantenimiento de un sistema incluyendo el software. Existen dos arquitecturas generales para un modelo de valoracin: continua y escalonadamente, son muy diferentes entre ellas y se deben evaluar para conocer cul es la que mejor se adapta a mis necesidades y objetivos. Mtodos de valoracin del proceso
Es garantizar un mtodo cuantitativo que evaluara los procesos, existen de varios tipos dnde se valoran distintos tpicos todos pensados en las mejoras de los procesos y la eficacia en la organizacin.
4. Medicin de los procesos y los productos Ingeniera de Software I
Aunque puede resultar compleja la medicin a la ingeniera del software existen varios aspectos que son fundamentales para la medicin y anlisis, estas mediciones se pueden realizar para apoyar los procesos de implementacin y cambio o evaluar consecuencias de estos. Medicin del proceso Se recoge, analiza e interpreta informacin cuantitativa sobre el proceso, se utiliza para identificar la fuerza y debilidad en ellos y as mismo evaluarlos despus de haber sido implementados o cambiados.
La medicin de un producto software incluye principalmente, la medicin del tamao del producto, la estructura del producto y la calidad del producto. CAPITULO 10 Instrumentos y Mtodos de la Ingeniera de Software Son los instrumentos asistidos por ordenador que son requeridos para ayudar a los procesos de ciclo de vida del software, nos ayuda a reducir la carga cognoscitiva enfocndonos ms en los aspectos creativos del proceso. Los mtodos imponen la estructura a la actividad de la ingeniera del software con el objetivo de hacerla sistemtica, por lo general proporcionan notacin y vocabulario para comprobar tanto el proceso como el producto. 1. Las herramientas de ingeniera de Software Ests corresponden a las cinco primeras reas de conocimiento de la gua, Exigencias de software, diseo de software, construccin de software, pruebas de software y mantenimiento de software. Los cuatro siguientes asuntos corresponden a las reas de conocimiento restantes: La direccin de configuracin de software, la direccin de ingeniera de software, el proceso de ingeniera de software, y la calidad del software. Las Herramientas de exigencias de Software Han sido clasificados en dos categoras: modelado e instrumentos de capacidad de rastreo. Exigencias de los instrumentos de modelado: Son usados para la obtencin, anlisis, especificacin y validez de las exigencias de software. Exigencias de los instrumentos de capacidad de Rastreo: Se hacen cada vez ms importantes debido a que la complejidad del software crece, son presentados separadamente de los instrumentos de modelado. Las Herramientas de Diseo de Software Cubre los instrumentos para crear y comprobar diseos de software, existe gran variedad de estos gracias a la diversidad en las notaciones de diseo de software y mtodos, a pesar de esta variedad no se ha encontrado una divisin convincente. Las Herramientas de Construccin de Software Son instrumentos usados para producir y traducir la representacin de programa mquina, se utilizan los redactores de programa, compiladores y generadores de cdigo, intrpretes y depuradores. Herramientas de Pruebas de Software Ingeniera de Software I
Se incluyen: Generadores de Pruebas, marcos de ejecucin de pruebas, herramientas de evaluacin de pruebas, herramientas de direccin de pruebas y de anlisis y de funcionamiento, todas estas estn enfocadas a la prueba del software construido as como de su funcionalidad, versatilidad y calidad. Herramientas de Mantenimiento de Software Abarca los instrumentos utilizados para el mantenimiento de software, dos categoras son identificadas: instrumentos de comprensin e instrumentos de reingeniera. Herramientas de comprensin: Ayudan a la comprensin humana de programas, se incluyen instrumentos como animadores o rebanadores. Herramientas de reingeniera: Es definido como el examen y la alteracin del software sustancial para reconstruirlo de una nueva forma.
Las herramientas de direccin de configuracin de Software Han sido dividas en tres categoras: rastreo, direccin de versin e instrumentos de liberacin. Rastreo: Son elementos utilizados en la conexin con las cuestiones que rastrean problemas asociados con un producto de software particular. Herramientas de direccin de versin: Estn implicados en la direccin de mltiples versiones de un producto. Herramientas de liberacin y construccin: Son usados para las tareas de liberacin y construccin de un software incluye instrumentos de instalacin que son extensamente utilizados para configurar la instalacin de un producto software.
Herramientas de direccin en la Ingeniera de Software
Esta subdivido en tres categoras: planificacin de proyecto y rastreo, manejo arriesgado, y medida. En la primera se busca una medida de esfuerzo en el proyecto y cuenta la valoracin as como la planificacin del proyecto, en la segunda se identifican la estimacin y riesgos de supervisin, finalmente en la medida se asiste la realizacin de actividades relacionadas con el programa de medida de software.
Las Herramientas de proceso de ingeniera de Software Est divida en instrumentos que modelan, instrumentos de direccin y ambientes de desarrollo de software. Las herramientas de Calidad de Software Dividas en dos categoras: inspeccin e instrumentos de anlisis. En las herramientas de revisin de auditoria se apoyan en revisin y revisiones de cuenta y en las de anlisis estticos se analizan artefactos de software como analizadores sintcticos y semnticos as como datos, el flujo de control y analizadores de dependencia.
Cuestiones de Instrumento Compuestas Cubre el tema aplicable a todas las clases de instrumentos, tres categoras identificadas: tcnicas de integracin de instrumentos, meta-instrumentos, y evaluacin de instrumento. 2. Los Mtodos de la Ingeniera del Software
Est divido en tres temas: Mtodos heursticos que tratan con accesos matemticamente basados, y mtodos de prototipazo que tratan con software que Ingeniera de Software I
trama accesos basados en varias formas de prototipazo, cada tema trata sus preocupaciones distintas no quiere decir que no tengan que ver el uno con el otro.
Mtodos Heursticos Este tema contiene cuatro categoras: estructurado, orientado a datos, orientado a objetos, y especfico de dominio. La ltima incluye mtodos especializados para desarrollar los sistemas que implican en tiempo real aspectos relacionados con la seguridad. En el mtodo estructurado se ve desde un punto de vista funcional para refinarlo y hacerlo cada vez ms detallado. En el orientado a datos se estructura el programa y se manipula. En el orientado a objetos el sistema es visto como una coleccin de objetos ms que de funciones.
Mtodos Formales Aqu se describe como el software se basa en mtodos de ingeniera basado matemticamente y se subdivide segn varios aspectos de mtodos formales entre ellos: Especificacin del lenguaje y notaciones: Aqu se especifica la lengua usada y se clasifica segn la orientacin del modelo las caractersticas o el comportamiento. Refinamiento: Aqu se trata como de refinar o transformar las especificaciones en una forma ms cercana a la deseable en un programa finalmente ejecutable. Propiedades de Verificacin/Confirmacin: Aqu se incluyen confirmaciones de teorema y la comprobacin del modelo. Mtodos de Prototipado
Cubre mtodos que implican el prototipazo de software y es subdivida en estilos de prototipazo, objetivos y tcnicas de evaluacin. Se deben incluir aspectos como: Estilos de prototipazo, objetivos del prototipazo, y las tcnicas para la evaluacin del prototipo propuesto. CAPITULO 11- Calidad del Software Se abordan los aspectos relativos a la calidad del software los cuales trascienden en cualquier ciclo de vida, en esta gua se describen un conjunto de mtodos para alcanzar la calidad, en este caso se trataran las tcnicas estticas es decir aquellas que no requieren la ejecucin del software para su evaluacin mientras las dinmicas cubren los aspectos de calidad en las pruebas del software.
1. Fundamentos de Calidad del Software Aqu se definen formalmente los aspectos a tratar y la manera como un ingeniero de software debera entender y adoptar los conceptos y caractersticas de calidad y su relevancia en el desarrollo o mantenimiento de software. Los aspectos de calidad deben estar inherentes desde el momento mismo de los requerimientos as como la medicin y criterios de aceptacin que evalan estas caractersticas. Modelos y Caractersticas de Calidad La terminologa usada en las caractersticas difiere de una taxonoma a otra ya que cada una posee niveles jerrquicos diferentes, la ISO ha definido tres modelos relacionados con la calidad en un producto de software (la calidad interna, la calidad externa y la calidad en el empleo). Ingeniera de Software I
Mejora de Calidad La tarea de la calidad puede ser mejorada cada vez ms gracias a un proceso iterativo de mejora continua que requiere control de direccin, control y retroalimentacin de muchos procesos simultneos: (1) los procesos de ciclo de vida del software, (2) el proceso de deteccin de error/defecto, retirada de los mismos y prevencin y (3) el proceso de mejora de calidad, estos procesos han sido probados y certificados por expertos en calidad que afirman que la calidad de un producto est directamente relacionada con la calidad del proceso empleado para crearlo. Existen varios instrumentos que nos permiten conocer los objetivos de la calidad como por ejemplo el Total Quality Management (TQM), process of plan, Do, Check and Act (PDCA) con estos podemos identificar fallas, desarrollar acciones detalladas y gestionar el apoyo a la gerencia y a los recursos asignados para el proyecto para trabajar la calidad en la ingeniera del software.
2. Procesos de Gestin de Calidad del Software La gestin de calidad del software (SQM) es de gran importancia y aplicacin a todas las perspectivas de procesos de software, productos y recursos, estos consisten en numerosas actividades, algunos de ellos pueden encontrar errores diariamente mientras que otros pueden resultar mas bien en valiosas revisiones. El SQM puede ser utilizado para evaluar productos intermedios as como el producto final. Algunos de los procesos especficos estn definidos por la IEEE: Procesos de aseguramiento de calidad Procesos de Verificacin Procesos de Validacin Procesos de Revisin Procesos de Auditora Revisiones de Gestin: El objetivo es supervisar el progreso, determinando el estado de los planes y programas, requerimientos confirmados y su sistema de localizacin o evaluar la efectividad de los enfoques de gestin empleados. Con esto se determina la idoneidad de los proyectos, programas y requerimientos y supervisan su progreso o inconsistencias. Revisiones Tcnicas: El propsito es evaluar el producto software para determinar si es idneo para su correspondiente uso, deben establecerse los roles especficos, una revisin tcnica requiere que las entradas obligatorias estn en su lugar con el objeto de proceder a: exposicin de objetivos, un producto software especfico, el plan especfico de gestin del proyecto, la lista de cuestiones claves asociadas al producto y el procedimiento de revisin tcnica. Inspecciones: Detecta e identifica anomalas en los productos de software, existen dos importantes elementos diferenciadores entre inspeccin y revisin y son los siguientes: un individuo que mantiene una posicin de direccin sobre cualquier miembro del equipo de inspeccin; la inspeccin ha de ser llevada por un inspector con formacin en inspecciones tcnicas. Las inspecciones por lo general requieren el autor de un producto intermedio y tambin a un lder de inspeccin, generalmente son hechas sobre una pequea seccin del producto a la vez, las anomalas encontradas deben ser documentadas y enviadas al responsable de la inspeccin, tambin es recomendable manejar Ingeniera de Software I
listas de chequeo durante la inspeccin de esta manera se clasifican las anomalas y se determinan su exactitud e integridad. Walk-throughs: El objetivo es evaluar el producto software, los objetivos principales son: Encontrar anomalas, mejorar el producto software, considerar implementaciones alternativas, evaluar la conformidad con estndares y especificaciones. Es similar a una inspeccin pero su desarrollo por lo general es menos formal, generalmente es desarrollado por el ingeniero de software para darle una oportunidad a su equipo de repasar el trabajo como una tcnica de aseguramiento. Auditoras: El objetivo es realizar una evaluacin independiente de la conformidad de productos de software y procesos a regulaciones aplicables, estndares, directrices, planes y procedimientos, est formalmente organizada con participantes que cumplen roles especficos contando con un representante de la organizacin auditada. Puede realizarse sobre casi cualquier proceso o producto en cualquier etapa de mantenimiento o desarrollo.
3. Consideraciones Prcticas:
Requerimientos de calidad del software: Aqu influyen varios factores como la planificacin la gestin y seleccin de actividades SQM y tcnicas incluyendo: Donde residir el software , requerimientos del sistema y del software, los componentes comerciales, estndares , mtodos y herramientas de software, el presupuesto y los usuarios implicados como tambin el nivel de integridad del sistema. Las tcnicas dinmicas son ejecutadas durante todo el desarrollo y el mantenimiento de software, generalmente son tcnicas de testeo o simulacin. Las pruebas examinan todos los output de la especificacin de requerimientos de software con el objeto de asegurar su trazabilidad, consistencia, completitud, correccin y ejecucin. Existen muchos tipos de pruebas entre ellos la de terceros ya que es la de un facilitador independiente por lo general acreditado por alguna autoridad su objetivo es probar el producto respecto a su conformidad con un conjunto de exigencias.
CAPITULO 12 Disciplinas Relacionadas a la Ingeniera de Software Para circunscribir la Ingeniera del Software, es necesario identificar las disciplinas con las que la Ingeniera del Software comparte un lmite comn. Este captulo identifica, en orden alfabtico, esas Disciplinas Relacionadas. Por supuesto, las Disciplinas Relacionadas tambin comparten varios lmites en comn entre ellas mismas. Usado como fuente reconocida y consensuada, este captulo identifica para cada Disciplina Relacionada: Una definicin informativa (cuando sea factible). Un listado de reas de conocimiento. Listados de disciplinas relacionadas y sus reas de conocimiento Ingeniera de la Computacin Algoritmos y Complejidad Arquitectura de ordenadores y Organizacin Ingeniera de Software I
Ingeniera de Sistemas Informticos Circuitos y Sistemas Lgica Digital Estructuras discretas Procesamiento de seales digitales Sistemas distribuidos Electrnica Sistemas embebidos
Ciencia de la Computacin Estructuras discretas Fundamentos de la programacin Algoritmos y Complejidad Arquitectura y Organizacin Sistemas operativos Sistemas centralizados Lenguajes de programacin
Gestin Finanzas Marketing y ventas Gestin de operaciones Gestin de Sistemas de Informacin
Matemticas Algebra lineal Clculo Integral y Diferencial Ecuaciones diferenciales Probabilidad
Gestin de Proyectos Gestin de Integracin del proyecto Gestin de Alcance del proyecto Gestin del tiempo del proyecto Gestin del coste del proyecto Gestin de la calidad del proyecto
Gestin de Calidad ISO 9000:2000 Sistemas de gestin de calidad Fundamentos y vocabulario
Interaccin Hombre-Mquina Gestin de la informacin Sistemas inteligentes Redes Sistemas operativos Fundamentos de la programacin Probabilidad y Estadstica Problemas sociales y profesionales Ingeniera del Software Verificacin y Prueba Diseo VLSI/ASIC
Interaccin Hombre-Mquina Grficos y computacin visual Sistemas inteligentes Gestin de la informacin Problemas sociales y profesionales Ingeniera del Software Ciencia computacional y Clculo numrico
Derecho Gestin de Recursos Humanos Economa Analisis cuantitativo Poltica y estrategia de negocio
Estadstica Anlisis numrico Matemtica discreta
Gestin de los recursos humanos del proyecto Gestin de comunicaciones del proyecto Gestin de riesgos del proyecto Gestin de consecucin del proyecto