programar y aplicar un software de manera correcta y organizada, cumpliendo con todas las especificaciones del cliente y el usuario final. OBJETIVOS DE LA INGENIERA DE SOFTWARE
En la construccin y desarrollo de proyectos se aplican
mtodos y tcnicas para resolver los problemas, la informtica aporta herramientas y procedimientos sobre los que se apoya la ingeniera de software.
Mejorar la calidad de los productos de software.
Aumentar la productividad y trabajo de los ingenieros
del software.
Facilitar el control del proceso de desarrollo de
software.
Suministrar a los desarrolladores las bases para
construir software de alta calidad en una forma eficiente.
Definir una disciplina que garantice la produccin y el
mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.
Importancia de la ingeniera de software
La ingeniera de software se centra en los mtodos, herramientas y procedimientos para establecer un control en el desarrollo del software, lo que permiteconstruir software de calidad de forma productiva y evitando posibles errores humanos. De hecho, la predecibilidad de los resultados es uno de los factores que garantizan la calidad de los sistemas.Un mercado emergente en nuestro pas, que refleja cmo el personal directivo de las empresas cada vez se preocupa ms de la repercusin de los procesos de ingeniera de software en sus objetivos denegocio. El IEEE (Institute of Electrical and Electronics Engineers) define la ingeniera de software como la rama de la ingeniera que aplica los principios de la ciencia de computacin y lasmatemticas para lograr soluciones eficaces econmicamente a los problemas de desarrollo de software. Desde el punto de vista que nos atae, es decir, la calidad y pruebas de software, se puede decir que setrata de la industrializacin del software, que supone convertir el proceso de desarrollo y, en particular, la fase de pruebas del software en un proceso automatizado para conseguir minimizar elimpacto de lo que llamaramos el error humano y facilitar la mejora continua, segn especifica Ana Ascasso, responsable de soluciones de calidad de Compuware en Espaa. Automatizar procesos en eldesarrollo del software supone mejorar las aplicaciones, disminuir las posibles incidencias en el mismo, lo que, para las empresas va a suponer, optimizar las funcionalidades y maximizar el rendimiento desus productos software y de su cartera de servicios. Si bien durante muchos aos, el outsourcing de pruebas se percibi como un nicho hiper-especializado ocupado por pocos actores, en la actualidadcada vez ms compaas y asociaciones, como la Escuela Tcnica Superior de Ingenieros Industriales, Gesein o ATI (Asociacin de Tcnicos de Informtica), estn muy involucrados en esta tecnologa....[continua]
Como ya sabemos la ingeniera de software es una disciplina de la ingeniera que
comprende todos los aspectos de la produccin de software, estamos hablando desde las etapas inciales donde se ve la especificacin del sistema, hasta la parte del mantenimiento despus que se utiliza dicho sistema. Para que la importancia de la ingeniera de software quede un poco mas clara tocaremos 2 puntos fundamentales:
Disciplina de la ingeniera: aqu es donde se aplican teoras, mtodos y
herramientas donde sean convenientes, pero se utilizan de manera selectiva y siempre tratando de descubrir la mejor solucin a los problemas presentados.
Todos los aspectos en la produccin de software: la ingeniera de software no solo
toca los temas de los procesos tcnicos en el desarrollo de software sino tambin en actividades donde se relaciona la gestin de proyectos, el desarrollo de herramientas, mtodos y teoras de apoyo a la produccin de software. En general, la ingeniera de software adopta un enfoque sistemtico y organizado en su trabajo, ya que es la forma ms efectiva de producir software de alta calidad. Sin embargo, aunque la ingeniera consiste en seleccionar el mtodo ms apropiado para un conjunto de circunstancias, un enfoque ms informal y creativo de desarrollo podra ser efectivo en algunas circunstancias. Es en esta parte donde se relacionan las herramientas CASE con la ingeniera de software, haciendo de estas herramientas un medio para facilitar todo el proceso que se lleva a cabo dentro de la ingeniera de software. Recordemos que CASE significa Ingeniera del Software Asistida por Computadora, estas herramientas comprenden diferentes tipos de programas que se utilizan para la ayuda en todas las actividades dentro del desarrollo del software, tales como el anlisis de requerimientos, el modelado de sistemas, la depuracin, las pruebas, etc. En la actualidad, todos los mtodos vienen con tecnologa CASE directamente relacionada, mdulos de anlisis que verifican el modelo del sistema segn las reglas del mtodo y generadores de informes que ayudan a crear la documentacin del sistema. Las herramientas CASE tambin incluyen un generador de cdigo que automticamente genera cdigo fuente a partir del modelo del sistema y de algunas guas de procesos para los ingenieros de software
Realmente la importancia de la ingeniera de software desde el punto de vista de
las herramientas CASE es vital y significativa, ya que las herramientas CASE van de la mano con todo el proceso de la ingeniera de software y son de gran utilidad como ya lo mencione antes
Conclusiones sobre la importancia de la ingeniera de software para m:
1. Como tecnloga en el rea de informtica es principal conocer el enfoque en el anlisis, tanto para aplicarlo en el trascurso de mi carrera, como en mi trabajo, ya que debo analizar desde diferentes puntos de vista un sitio. 2. Es importante saber leer, escribir y plantear un problema para desarrollar un proyecto tanto laboral como en mi vida, eso me lo da a entender la ingeniera, me permite aprender a tener todo claro y a saber escribir y saber leerlo para que no se me presenten serio problemas por no tener todo claro. 3. Me ensea a evitar cometer errores al momento de desarrollar un software, o al momento de poner en prctica mi trabajo porque si los cometo me tocara devolverme a revisar y solucionarlo, perdera tiempo en solucionarlo. 4. Es importante saber llevar una buena documentacin donde se pueda explicar todos los procedimientos ejecutados. 5. Los estndares utilizados para el desarrollo son la principal herramienta donde nos debemos basar, para seguir unas normas que haran que el proyecto se entregue con buena calidad. 6. La importancia de las mtricas dentro de la ingeniera, me dan la posibilidad de tener control de los indicadores de los proyectos.
1.2. IMPORTANCIA, PRESENTE Y FUTURO DE LA
INGENIERA DE SOFTWARE. El origen formal de la Ingeniera de Software se remonta al final de la dcada de los 60s, impulsada por el Departamento de Defensa de los Estados Unidos de Norteamrica, apoyada por los institutos y universidades de ese pas y gradualmente adoptada por los desarrolladores de software ms importantes de todo el mundo. La importancia de esta disciplina radica en dos puntos fundamentales: Una propuesta de aplicacin del mtodo cientfico a la solucin de los problemas de calidad, productividad y costo en la produccin, comercializacin y aprovechamiento del software. La necesidad de colaboracin de un equipo interdisciplinario para el logro de productos y procesos satisfactorios que tienen lugar en la industria de programas de cmputo. Estos dos puntos, pueden ser compartidos por otras ramas de la ingeniera y por otras disciplinas, sin embargo, el distintivo caracterstico de la Ingeniera de Software es el mismo producto que se pretende obtener al aplicarse: el software. La naturaleza intangible del software le da propiedades que ningn otro producto tiene, por ejemplo: la facilidad de reproduccin, la incertidumbre de su obsolescencia, la dificultad para definir sus insumos, la necesidad de medios para el almacenamiento, la adecuacin de mtodos para el control de sus inventarios y otros. Esta naturaleza del software dificult en su origen, a travs del tiempo y en muchos casos actuales, una adecuada administracin de su produccin, y por consiguiente los costos de obtenerlo eran excesivamente altos, sin embargo, la tendencia, a partir del surgimiento de la Ingeniera de Software y hacia la entrada al nuevo milenio, ha sido la obtencin masiva de productos software de la ms amplia variedad y a costos comparativamente mnimos. Un fenmeno que se est extendiendo en nuestros das y que parece tener una tendencia a predominar es la disponibilidad de software gratuito tanto de desarrollo como de productividad, sistemas operativos y aplicaciones de usuario ya sea de propsito especfico o general. As, podemos prever en el futuro inmediato y con tendencia creciente al mediano y largo plazo (de hecho hemos iniciado una etapa dentro de este paradigma), software abundante, elaborado en forma rpida, muy
eficiente y a muy bajo costo o incluso gratuito para el usuario.
Organizaciones internacionales como la Free Software Foundation promueven esta tendencia y han logrado una difusin y proliferacin de impacto en el mercado. Sin embargo, la Ingeniera de Software no solamente ha contribuido a estas expectativas, sino que avanza en apoyo de actividades complementarias al desarrollo de software, proporcionando metodologas, herramientas y tcnicas para la planeacin de la produccin de software, el anlisis y diseo de sistemas, apoyo a servicios como asesora y capacitacin, implantacin y mantenimiento de sistemas de informacin y otras aplicaciones. En sntesis, el panorama que presenta la industria de software es sumamente atractivo para el usuario final, tanto por disponibilidad como por costo, y el campo de aplicacin de la Ingeniera de Software sigue siendo suficientemente amplio como para entender porqu esta disciplina ocupa un lugar tan importante en los planes de estudio de informtica, computacin, sistemas y reas afines de todas las universidades del mundo de prestigio y en la industria de desarrollo de software e integracin de soluciones informticas en las empresas. Extrapolando los datos de Cuevas, [CUE95], las perspectivas por cuanto a la demanda y oferta de software se pueden apreciar en la siguiente grfica:
Figura 1.1 Evolucin personal informtico
Podemos darnos cuenta, en base a esta grfica, que mientras en 1982,
para una demanda de 1000 unidades de software (productos), la productividad esperada era de aproximadamente 800 y el personal
disponible suficiente para 500; en 1990 la brecha entre estas tres
variables se observa mucho mayor, ya que para una demanda de 2500, se cuenta con 1100 personas con una productividad de 1600, la perspectiva hasta este punto parece dramtica, sin embargo, en tiempos recientes (ltimos 5 aos), la disponibilidad de nuevas tcnicas y herramientas hacen que la tendencia cambie de manera importante, reduciendo esta brecha significativamente. Por otra parte, los costos por lo que a hardware, software y mantenimiento se refiere, muestran una evolucin muy favorable para el usuario, de acuerdo a la siguiente grfica proporcionada por el mismo Cuevas.
Figura 1.2 Evolucin de los costos del desarrollo de sistemas
Lo importante de esta grfica es que puede observarse una disminucin
muy significativa en os costos del hardware e incluso del software, haciendo que la componente humanware se convierta en la parte esencial, por cuanto a costo, de un proyecto o de un producto software. La grfica muestra porcentajes, pero en trminos absolutos el costo total ha disminuido tambin de manera considerable.