Está en la página 1de 7

INGRNIERIA DEL SOFTWARE Un enfoque desde la gua SWEBOK CAPITULO I La gua SWEBOK surge por el deseo de IEEE de crear

una acreditacin para el ingeniero de software. Los objetivos fundamentales la gua SWEBOK son: 1. Caracterizar los conocimientos del cuerpo de conocimiento de la ingeniera del Software. 2. Promover una visin consistente y universal de la disciplina. 3. Establecer las diferencias entre la ingeniera del software y otras disciplinas relacionadas, como las ciencias de la computacin, la gestin de proyectos, o las matemticas. 4. Servir de base para la certificacin de profesionales. La gua SWEBOK describe las reas principales de la ingeniera del software, a cada una de las cuales dedica un captulo separado (denominados reas de conocimiento), donde adems se resumen las referencias clave de cada rea.

En una conferencia de desarrolladores de software, uno de los ponentes lanz la siguiente pregunta a los asistentes: Si estuviesen ustedes subiendo a un avin y les dijeran que el software de control del aparato fue desarrollado por el equipo de programadores de su empresa, quin de los presentes desembarcara de inmediato?. Entre el bosque de manos alzadas solo una persona permaneci sin moverse. El ponente se dirigi a esa persona para preguntarle qu hara el, quien con un aire tranquilo replic: No me preocupara en absoluto, con el software de mi empresa es muy poco probable que el avin pudiese ni siquiera despegar. LA CRISIS DEL SOFTWARE

El trmino aparece desde los aos sesenta, para hacer referencia a ciertos problemas especficos y persistentes de la ingeniera del software. Algunos autores han llegado a considerar estos problemas como una enfermedad crnica (en lugar de una simple crisis) para resaltar el carcter persistente de los mismos. Podemos clasificar estos problemas como:

Problemas asociados al desarrollo, como los retrasos en los plazos de los proyectos, o la baja productividad de los desarrolladores. Problemas de uso de los productos finales, como por ejemplo deficiencias de calidad.

Software es el conjunto completo de programas, procedimientos y documentacin relacionada que se asocia con un sistema, y especialmente con un sistema de computadora. En un sentido especfico, el software son los programas de computadora. Sistematicidad, disciplina y cuantificacin Una actividad es sistemtica cuando es metdica en cuanto al procedimiento o al plan. Una actividad es disciplinada cuando est sujeta al control con respecto a ciertos estndares, entendiendo el trmino estndar en su acepcin ms genrica de norma o patrn, y no como especiacin formal respaldada por un organismo de estandarizacin. Decimos que una actividad es cuantificable si tanto su realizacin como sus resultados pueden medirse. Tanto el producto final del desarrollo, como el propio proceso de desarrollo de software en s pueden ser, y normalmente son, sometidos a medicin con diferentes fines. Lo dicho reafirma la nocin de que la programacin como actividad casual o espordica no puede ser considerada ingeniera del software, lo que no quiere decir que dicha actividad no tenga valor o que no pueda producir resultados interesantes

CONCEPTOS BASICOS DE LA INGENIERIA DE SOFTWARE Como toda ingeniera, donde se crean objetos con una cierta funcin, la ingeniera del software trata fundamentalmente de actividades llevadas a cabo por personas (ingenieros, pero tambin en cierta medida, usuarios u otros intervinientes) que producen, usan o modifican artefactos. Por ello, hay considerar tambin elementos tales como mtodos, especiaciones y modelos, entre otros.

La Ingeniera de software es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, la operacin y el mantenimiento del software.

Una actividad es un proceso que tiene lugar en el tiempo y en el espacio, y en el cual un agente acta con unos objetivos determinados. Las actividades en la ingeniera del software abarcan por tanto cualquier accin con un propsito claro dentro de esta ingeniera, lo que incluye actividades de gestin, produccin, comunicacin y documentacin.

Un artefacto es algo tangible creado con un propsito prctico. Son artefactos de la ingeniera del software todos aquellos elementos creados en actividades propias de la disciplina, tales como el cdigo, los documentos o los diagramas, entre otros. Un mtodo, en sentido general, es la especificacin de una secuencia de acciones orientadas a un propsito determinado. En el rea de la ingeniera del software, los mtodos determinan el orden y la forma de llevar a cabo las actividades.

En la ingeniera del software, se denomina metodologa a un conjunto de mtodos coherentes y relacionados por unos principios comunes. En sentido general se denira como la ciencia del mtodo, es decir, el estudio de los mtodos de una disciplina o actividad

Una especiacin es una descripcin detallada y precisa de algo existente (o que existir) o de una cierta situacin, presente o futura. En la ingeniera del software, una especiacin del software que se desea construir da lugar a especificaciones ejecutables denominadas programas de computadora. El ciclo de vida de un producto o proyecto software es la evolucin del mismo desde el momento de su concepcin hasta el momento en que deja de usarse, y puede describirse en funcin de las actividades que se realizan dentro de l. Un proceso software es un conjunto coherente de polticas, estructuras organizativas, tecnologas, procedimientos y artefactos que se necesitan para concebir, desarrollar, implantar y mantener un producto software. De hecho, los modelos de ciclo de vida no son otra cosa que modelos de procesos, pero con una diferencia de nfasis, pues un modelo de ciclo de vida solamente describe las fases fundamentales, y es por tanto una abstraccin de muy diversos procesos

CAPITULO II MODELOS Y PROCESOS El objetivo general de este captulo es introducir el concepto de proceso de software en el sentido de su definicin, uso, evaluacin, medida, gestin, cambio y mejora. El software se ha convertido en las ltimas dcadas en un elemento fundamental en las sociedades modernas. Junto a esa importancia creciente, se ha generalizado una preocupacin por la calidad del software que ha fomentado el desarrollo de diferentes reas de estudio en la ingeniera del software.

Un proceso, entendido de manera general, es una serie de pasos que incluyen actividades, Restricciones y recursos que resultan en un producto determinado con ciertas caractersticas. Un proceso es una secuencia de pasos que se lleva a cabo para un propsito determinado. IEEE Un proceso proporciona, adems de otros beneficios, facilidad de mantenimiento, capacidad de seguimiento y consistencia. Facilidad de mantenimiento, la capacidad de seguimiento, por su parte, hace que se puedan medir los productos de las actividades, y la consistencia facilita la homogeneidad en la documentacin y el diseo. Puesto que generalmente se considera que dichos atributos contribuyen a la calidad de un software, se resume que la calidad en el proceso resulta en calidad en el producto.

Un proceso de software es un conjunto coherente de polticas, estructuras organizativas, Tecnologas, procedimientos y artefactos que se necesitan para concebir, desarrollar, implantar y mantener un producto software. Es necesario clarificar la diferencia entre proceso de software y proyecto de software, pues a menudo se confunden algunos de los trminos que aparecen en ella. Los trminos proceso y proyecto en relacin al software, o el trmino ciclo de vida, que pueden ser aplicados a diferentes conceptos, resultan confusos y a menudo se usan incorrectamente en la literatura. Un proyecto es un esfuerzo que se lleva a cabo una sola vez, que tiene objetivos bien definidos y que se produce dentro de un plazo determinado.

Un proyecto de ingeniera del software es un proyecto cuyo objetivo es obtener un producto de software que satisfaga ciertos requisitos, en el plazo previsto y dentro del presupuesto. El ciclo de vida de un desarrollo de software es el periodo de tiempo que comienza cuando se toma la decisin de desarrollar un producto de software y que concluye cuando se entrega el software. Por lo anterior se considera que proceso de software, proceso de desarrollo y proceso de ciclo de vida del software son trminos sinnimos Mtodo vs. Metodologa Aunque mtodo y metodologa son generalmente utilizados como sinnimos, el trmino Metodologa hace en realidad referencia al estudio de los mtodos. El concepto de mtodo en ingeniera del software es muy general, mucho ms que el de proceso de ciclo de vida.

Un mtodo en ingeniera del software impone una estructura a ciertas actividades de ingeniera con el objetivo de hacer esas actividades sistemticas y, en definitiva, ms eficaces. Los mtodos por lo general proporcionan ciertas notaciones, un vocabulario especfico, procedimientos para llevar a cabo ciertas tareas, y directrices para evaluar tanto la ejecucin de las actividades como el producto. Pero hay mtodos que cubren todo el ciclo de vida, y otros que son especficos de una fase o de una actividad en concreto. Por ello, diferenciaremos el concepto de mtodo del de proceso de ciclo de vida. Los modelos de proceso del ciclo de vida son definiciones de alto nivel de las fases por las que transcurren los proyectos de desarrollo software. No son guas concretas y detalladas, sino definiciones generales que muestran las dependencias entre las fases. Son ejemplos de estos modelos el ciclo de vida en cascada, el ciclo de vida en espiral o el desarrollo basado en prototipos. A partir de uno de estos modelos, se pueden especificar procesos de ciclo de vida del software ms concretos y detallados. El Proceso Unificado se puede adaptar el proceso de cualquier organizacin en particular, es un marco general de procesos basado en un pequeo conjunto de principios que se consideran fundamentales en todo proceso. Estos principios son los siguientes: Iterativo e incremental. Las actividades se realizan en ciclos de desarrollo y el resultado de cada uno de esos micro--ciclos es un incremento del sistema Dirigido por los casos de uso. Los casos de uso, que no son otra cosa que especificaciones de requisitos funcionales, se utilizan como gua de todas las actividades del proceso. Centrado en la arquitectura. La arquitectura software es el diseo de alto nivel que constituye el armazn del sistema. El proceso se centra en la construccin temprana de un prototipo arquitectnico que si bien implementa de forma completa slo un pequeo subconjunto de la funcionalidad, permite descubrir los problemas tcnicos fundamentales al principio del proyecto. Orientado a los riesgos. El proceso requiere identificar y priorizar los riesgos del proyecto

Las fases del Proceso Unificado, en su secuencia temporal, son las siguientes: Comienzo o incepcin Elaboracin: En esta fase se identifican y especifican la mayora de los requisitos Construccin Transicin: En esta fase se entrega el software a los usuarios, e incluye la formacin asistencia necesaria. ASPECTOS IMPORTANTES DE LOS PROCESOS DE SOFTWARE No existe un nico proceso de software que determine la forma correcta de hacer las cosas independientemente de la organizacin, el proyecto y las circunstancias Hay que diferenciar los procesos entendidos como ``las actividades de desarrollo que realmente ocurren en una organizacin X'' de la discusin general sobre cmo son y qu propiedades tienen los distintos tipos de procesos. Los procesos no son slo para las grandes organizaciones. Los procesos son tiles tambin para las pequeas organizaciones y, debidamente adaptados, tambin lo son para los pequeos desarrollos

MODELOS DE CICLO DE VIDA DEL SOFTWARE Modelo en Cascada El modelo del ciclo de vida en cascada es tal vez el ms ampliamente difundido dentro de los mtodos clsicos, y si bien no existe una nica formulacin del mismo, su caracterstica distintiva es la de llevar a cabo distintas fases de desarrollo en secuencia, comenzando cada una de ellas en el punto en que termin la anterior. Modelo en V El modelo del ciclo de vida ``con forma de V'' es una evolucin del modelo en cascada en el que se enfatizan las actividades de verificacin y validacin. Modelos de proceso basados en prototipos Un prototipo software es un modelo ejecutable de un sistema futuro que implementa slo una pequea parte de la funcionalidad, pero permite a los clientes, usuarios y desarrolladores adquirir experiencia con la arquitectura y la funcionalidad. Esto posibilita la evaluacin temprana de riesgos evitando que los fallos o discordancias con las necesidades reales se manifiesten al final del proceso, cuando se ha gastado la mayor parte del esfuerzo del mismo. Modelo en espiral A menudo se considera que el modelo del ciclo de vida en espiral rene las mejores caractersticas del uso de prototipos y de los modelos de ciclo de vida en cascada Procesos giles Se denomina mtodos de desarrollo giles a un conjunto de mtodos que enfatizan el enfoque iterativo, la adaptabilidad del proceso y la colaboracin. Los mtodos giles se caracterizan adems por el hecho de que reducen la documentacin y los procedimientos al mnimo. Por ello, se les suele contraponer con mtodos anteriores en los que se produce una gran profusin de documentos y comprobaciones formales, a los que a veces se les aplica la metfora de mtodos ``de gran ceremonia''. No siguen ciertas normas de disciplina pero s utilizan la planificacin. Procesos basados en componentes Un componente es una pieza de software auto--contenida, que ofrece unos servicios definidos en sus interfaces y que est preparado para integrarse en otras aplicaciones. Los componentes pueden venderse de forma separada, o, dentro de una misma organizacin, puede reutilizarse un componente desarrollado en proyectos anteriores para as reducir el tiempo de desarrollo de los proyectos en curso.

CAPITULO III MEDICION Los objetivos fundamentales de este captulo se centran en poner los cimientos de una actividad, la medicin, necesaria para todas las dems actividades del ciclo de vida del software.

Dentro de la definicin de la Ingeniera de software se dice que es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, la operacin y el mantenimiento del software. La medicin est pues inexorablemente ligada como una actividad necesaria a lo largo de todo el ciclo de vida del software Medida Es la asignacin de un smbolo o nmero resultado de una medicin a una entidad para caracterizar un atributo. Es la evaluacin cuantitativa del grado en el cual un producto o proceso software posee un atributo determinado.
ESCALAS DE MEDICION Conjunto de valores que permite establecer relaciones entre medidas. Con frecuencia dicho conjunto es continuo, est ordenado y viene delimitado por un punto inicial y otro final.

Escala nominal Aquella formada por categoras entre las cuales no existe ningn orden, por lo que la nica relacin que se puede aplicar es la de igualdad. Por ejemplo, la escala nominal para determinar el sexo. Escala ordinal Aquella en que se definen categoras pero, a diferencia de la escala nominal, existe una relacin de orden "es menor que" entre ellas.

También podría gustarte