Sunteți pe pagina 1din 5

Capas Ingeniera De Software La ingeniera de software es una tecnologa multicapa, cualquier enfoque de ingeniera debe apoyarse sobre un compromiso

de organizacin de calidad. El fundamento de la ingeniera de software es la capa del proceso. El proceso de la ingeniera de software es la unin que mantiene juntas las capas de tecnologa y que permiten un desarrollo racional y oportuno de la ingeniera de software. El proceso define un marco de trabajo para un conjunto de reas clave de proceso que se deben establecer para la entrega de la tecnologa de la ingeniera de software. Los mtodos abarcan una gran gama de tareas que incluyen anlisis de requisitos, diseo, construccin de programas, pruebas y mantenimiento. Las herramientas de la ingeniera de software proporcionan un enfoque automtico o semiautomtico para el proceso y para los mtodos. Enfoque en capas Herramientas.- proporcionan un soporte automtico o semi automtico a los procesos y a los mtodos. Mtodos.- indican cmo construir tcnicamente el software Procesos.-son el fundamento de la ingeniera de software. Un enfoque de Calidad.- son la base o cimientos de la ingeniera de software.

Un sistema informtico est compuesto por hardware y software. En cuanto al hardware, su produccin se realiza sistemticamente y la base de conocimiento para el desarrollo de dicha actividad est claramente definida. La fiabilidad del hardware es, en principio, equiparable a la de cualquier otra mquina construida por el hombre. Sin embargo, respecto del software, su construccin y resultados han sido histricamente cuestionados debido a los problemas asociados, entre ellos podemos destacar los siguientes: Los sistemas no responden a las expectativas de los usuarios. Los programas fallan con cierta frecuencia. Los costes del software son difciles de prever y normalmente superan las estimaciones. La modificacin del software es una tarea difcil y costosa. El software se suele presentar fuera del plazo establecido y con menos prestaciones de las consideradas inicialmente. Normalmente, es difcil cambiar de entorno hardware usando el mismo software. El aprovechamiento ptimo de los recursos (personas, tiempo, dinero, herramientas, etc.) no suele cumplirse. Segn el Centro Experimental de Ingeniera de Software (CEIS), el estudio de mercado The Chaos Report realizado por StandishGroupInternactional en 1996, concluy que slo un 16% de los proyectos de software son exitosos (terminan dentro de plazos y costos y cumplen los requerimientos acordados). Otro 53% sobrepasa costos y plazos y cumple parcialmente los requerimientos. El resto ni siquiera llega al trmino. Algunas deficiencias comunes en el desarrollo de software son: Escasa o tarda validacin con el cliente. Inadecuada gestin de los requisitos. No existe medicin del proceso ni registro de datos histricos. Estimaciones imprevistas de plazos y costos. Excesiva e irracional presin en los plazos. Escaso o deficiente control en el progreso del proceso de desarrollo. No se hace gestin de riesgos formalmente. No se realiza un proceso formal de pruebas. No se realizan revisiones tcnicas formales e inspecciones de cdigo. El primer reconocimiento pblico de la existencia de problemas en la produccin de software tuvo lugar en la conferencia organizada en 1968 por la Comisin de Ciencias de la OTAN en Garmisch (Alemania), dicha situacin problemtica se denomin crisis del software. En esta conferencia, as como en la siguiente realizada en Roma en 1969, se estipul el inters hacia los aspectos tcnicos y administrativos en el desarrollo y mantenimiento de productos software. Se pretenda acordar las bases para una ingeniera de construccin de software. Segn Fritz Bauer lo que se necesitaba era establecer y usar principios de ingeniera orientados a obtener software de manera econmica, que sea fiable y funcione eficientemente sobre mquinas reales . Esta definicin marcaba posibles cuestiones tales como: Cules son los principios robustos de la ingeniera aplicables al desarrollo de software de computadora? Cmo construimos el software econmicamente para que sea fiable? Qu se necesita para crear programas de computadora que funcionen eficientemente no en una mquina sino en diferentes mquinas reales?. Sin embargo, dicho planteamiento adems deba incluir otros aspectos, tales como: mejora de la calidad del software, satisfaccin del cliente, mediciones y mtricas, etc. El IEEE Standard Glossary of Software EngineeringTerminology (Stad. 610.12-1990) ha desarrollado una definicin ms completa para ingeniera del software:

- (1) La aplicacin de un enfoque sistemtico, disciplinado y cuantificable para el desarrollo, operacin y mantenimiento del software; es decir, la aplicacin de ingeniera al software. - (2) El estudio de enfoques en (1). Pressman caracteriza la Ingeniera de Software como una tecnologa multicapa , ilustrada en la Figura 1.

Dichas capas se describen a continuacin: Cualquier disciplina de ingeniera (incluida la ingeniera del software) debe descansar sobre un esfuerzo de organizacin de calidad. La gestin total de la calidad y las filosofas similares fomentan una cultura continua de mejoras de procesos que conduce al desarrollo de enfoques cada vez ms robustos para la ingeniera del software. El fundamento de la ingeniera de software es la capa proceso. El proceso define un marco de trabajo para un conjunto de reas clave, las cuales forman la base del control de gestin de proyectos de software y establecen el contexto en el cual: se aplican los mtodos tcnicos, se producen resultados de trabajo, se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente. Los mtodos de la ingeniera de software indican cmo construir tcnicamente el software. Los mtodos abarcan una gran gama de tareas que incluyen anlisis de requisitos, diseo, construccin de programas, pruebas y mantenimiento. Estos mtodos dependen de un conjunto de principios bsicos que gobiernan cada rea de la tecnologa e incluyen actividades de modelado y otras tcnicas descriptivas. Las herramientas de la ingeniera del software proporcionan un soporte automtico o semiautomtico para el proceso y los mtodos, a estas herramientas se les llama herramientas CASE(Computer-Aided Software Engineering). Dado lo anterior, el objetivo de la ingeniera de software es lograr productos de software de calidad (tanto en su forma final como durante su elaboracin), mediante un proceso apoyado por mtodos y herramientas. Fuente: http://www.dsic.upv.es/asignaturas/facultad/lsi/doc/IntroduccionProcesoSW.doc Capas de la ingeniera de software Independientemente de la complejidad del sistema y de su rea de aplicacin la ingeniera de software puede considerarse una tecnologa multicapa, donde la primer capa enfatiza que los cimientos de la ingeniera de software estn orientadas hacia la calidad (Pressman). Un proceso de software es el conjunto de actividades, mtodos, prcticas ytecnologas aplicables a todos los proyectos de software. Un proceso bsico (tambin conocido como ciclo de vida bsico) est conformado por el anlisis, diseo, codificacin, pruebas y mantenimiento. Los mtodos, o modelos, de la ingeniera de software indican cmo realizar los pasos necesarios del ciclo de vida (cada uno con un enfoque distinto). As pues, est el modelo de Construccin de Prototipos, el modelo de Desarrollo Rpido de Aplicaciones, el de Procesos Evolutivos - que se divide en el modelo incremental, en espiral, de ensamblaje de componentes y de desarrollo

concurrente - el modelo de Mtodos Formales, y por ltimo las Tcnicas de Cuarta Generacin (Pressman). Las herramientas ayudan a organizar tareas de trabajo, controlar y supervisar los progresos y administrar la calidad tcnica. Su objetivo principal es proporcionar un soporte automtico o semiautomtico, para los procesos y para los mtodos. Herramientas CASE Ingeniera de software asistida por computadora. Desde el inicio de la industria del software, ha existido la necesidad de herramientas automatizadas para ayudar al diseador del software. En los inicios de los 80s las herramientas disponibles eran editores de texto, traductores, recopiladores, ensambladores y lenguajes de programacin. A medida que las computadoras se utilizaban en varias disciplinas como herramientas para facilitar el trabajo, aument la importancia que tenan en nuestras actividades cotidianas, y el nmero de software aument dramticamente. Para poder cubrir esta demanda se introdujeron metodologas para intentar crear estndares de desarrollo y se cre un soporte automatizado para el desarrollo y mantenimiento de software. Este es llamado ingeniera del software asistida por computadora (CASE, Computer Arded Software Engineering). Una herramienta CASE es un producto computacional enfocado a apoyar una o ms tcnicas dentro de un mtodo de desarrollo de software (Jarzabek). "La evolucin de la tecnologa CASE representa una evolucin del desarrollo de aplicaciones, pasando de una artesana a una disciplina de la ingeniera" (Martn). Una de las razones para la creacin de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas, permitiendo a los analistas tener ms tiempo para el anlisis y diseo y minimizar el tiempo para codificar y probar. Las herramientas CASE pueden proveer muchos beneficios en todas las etapas del proceso de desarrollo de software; algunas de ellas son (INEI): y Hacer el trabajo de diseo de software ms fcil y agradable. y Verificar el uso de todos los elementos en el sistema diseado. y Ayudar en la documentacin del sistema. y Ayudar en la creacin de relaciones en las bases de datos. y Generar estructuras de cdigo. y Reduccin del costo de produccin de software. El uso de herramientas CASE permite una mejora en la calidad de los desarrollos realizados, logrando el aumento en la produccin a travs de la automatizacin de determinadas tareas. Para conseguir estos objetivos es necesario contar con una organizacin y una metodologa de trabajo, adems de la propia herramienta (INEI). Clasificacin de las herramientas CASE Existen diversas taxonomas de las herramientas CASE, que utilizan varios criterios para su clasificacin. Podran clasificarse atendiendo a (INEI): y Las plataformas que soportan. y Las fases del ciclo de vida del desarrollo que cubren. y La arquitectura de las aplicaciones que producen y Su funcionalidad Es posible crear una confusin al ubicar una herramienta CASE dentro de una categora, cuando otras personas pueden creer que pertenece a otra categora (Pressman). Una de las clasificaciones ms aceptadas en la industria del software es en funcin de las fases del ciclo de vida abarcadas,

que se agrupan de la siguiente manera: herramienta individual, CASE superiores (U-CASE), CASE inferiores (L-CASE) y CASE integrados (ICASE) (INEI). Una herramienta individual (Tool CASE) es el tipo ms simple de herramientas CASE, prestan su apoyo en una actividad de ingeniera del software concreta, no se comunican con otras herramientas y no est unida a una base de datos del proyecto (Pressman). Los CASE superiores (Upper CASE) son herramientas que automatizan las actividades desarrolladas durante las primeras fases de desarrollo (anlisis y diseo). Por otro lado los CASE inferiores (Lower CASE) se enfocan a las ltimas fases de desarrollo (codificacin, pruebas y mantenimiento) (Philipson). Las herramientas I-CASE (Integrated CASE) combinan herramientas diferentes permitiendo que la informacin de ingeniera del software est disponible para todas las herramientas que se necesiten. "Se proporciona un aspecto comn para todas las herramientas; y se integra una filosofa de desarrollo, implicando un enfoque de ingeniera de software estandarizado que aplique prcticas modernas y mtodos ya probados" (Pressman).

S-ar putea să vă placă și