You are on page 1of 12

Introduccion a La Ingenieria Del Software Importancia Ingenieria Del Software

Este trmino fue introducido a finales de los 60 a raz de la crisis del software. Esta crisis fue el resultado de la introduccin de la tercera generacin del hardware. El hardware dejo de ser un impedimento para el desarrollo de la informtica; redujo los costos y mejoro la calidad y eficiencia en el software producido La crisis se caracterizo por los siguientes problemas: Imprecisin en la planificacin del proyecto y estimacin de los costos. Baja calidad del software. Dificultad de mantenimiento de programas con un diseo poco estructurado, etc. Por otra parte se exige que el software sea eficaz y barato tanto en el desarrollo como en la compra. Tambien se requiere una serie de caractersticas como fiabilidad, facilidad de mantenimiento y de uso, eficiencia, etc. 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. Objetivos de los proyectos de sistemas Para que los objetivos se cumplan las empresas emprenden proyectos por las siguientes razones: Las cinco C Capacidad Los sistemas de informacin mejoran esta capacidad en tres formas.

Aumentan la velocidad de procesamiento:

Los sistemas basados en computadora pueden ser de ayuda para eliminar la necesidad de clculos tediosos y comparaciones repetitivas. Un sistema automatizado puede ser de gran utilidad si lo que se necesita es un procesamiento acelerado.

Aumento en el volumen:

La incapacidad para mantener el ritmo de procesamiento no significa el abandono de los procedimientos existentes. Quiz stos resulten inadecuados para satisfacer las demandas actuales. En estas situaciones el analista de sistemas considera el impacto que tiene la introduccin de procesamiento computarizado, si el sistema existente es manual. Es poco probable que nicamente el aumento de la velocidad sea la respuesta. El tiempo de procesamiento por transaccin aumenta si se considera la cantidad de actividades comerciales de la empresa junto con su patrn de crecimiento.

Recuperacin ms rpida de la informacin:

Las organizaciones almacenan grandes cantidades de datos, por eso, debe tenerse en cuenta donde almacenarlos y como recuperarlos cuando se los necesita. Cuando un sistema se desarrolla en forma apropiada, se puede recuperar en forma rpida la informacin.

Costo

Vigilancia de los costos:

Para determinar si la compaa evoluciona en la forma esperada, de acuerdo con lo presupuestado, se debe llevar a cabo el seguimiento de los costos de mano de obra, bienes y gastos generales. La creciente competitividad del mercado crea la necesidad de mejores mtodos para seguir los costos y relacionarlos con la productividad individual y organizacional.

Reduccin de costos:

Los diseos de sistemas ayudan a disminuir los costos, ya que toman ventaja de las capacidades de clculo automtico y de recuperacin de datos que estn incluidos en procedimientos de programas en computadora. Muchas tareas son realizadas por programas de cmputo, lo cual deja un nmero muy reducido de stas para su ejecucin manual, disminuyendo al personal. Control

Concepto Ingenieria Software


La Ingeniera del software es una disciplina o rea de la Informtica o Ciencias de la Computacin, que ofrece mtodos y tcnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy da es cada vez mas frecuente la consideracin de la Ingeniera del Software como una nueva rea de la Ingeniera, y el Ingeniero del Software comienza a ser una profesin implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya, reconocida consideracin social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.

La ingeniera del software trata con reas muy diversas de la Informtica y de las Ciencias de la Computacin,tales como construccin de compiladores, sistemas operativos o desarrollos de Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de informacin y aplicables a una infinidad de reas tales como: negocios, investigacin cientfica, medicina, produccin, logstica, banca,

Metodo Tecnica Y Herramienta Ingenieria Software


Metodo Un mtodo es una serie de pasos sucesivos, conducen a una meta. El objetivo del profesionista es llegar a tomar las decisiones y una teora que permita generalizar y resolver de la misma forma problemas semejantes en el futuro. Por ende es necesario que siga el mtodo ms apropiado a su problema, lo que equivale a decir que debe seguir el camino que lo conduzca a su objetivo. Tecnica Conjunto de saberes prcticos o procedimintos para obtener un resultado. Requiere de destreza manual e intelectual, y generalmente con el uso de herramientas. Las tcnicas se transmiten de generacin en generacin. La tcnica nace en la imaginacin y luego se llevan a la concrecin, siempre de forma emprica. En cambio la tecnologa surge de forma cientfica, reflexiva y con ayuda de la tcnica (desde el punto de vista histrico). Herramienta Subprograma o mdulo encargado de funciones especficas y afines entre s para realizar una tarea. Una aplicacin o programa puede contar con mltiples herramientas a su disposicin. Por ejemplo, el corrector ortogrfico puede ser una herramienta en una aplicacin para redactar documentos, pero no es una aplicacin en s misma.

Herramientas Case

Las herramientas CASE (Computer Aided Software Engineering, Ingeniera de Software Asistida por Ordenador) son diversas aplicaciones informticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en trminos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseo del proyecto, calculo de costes, implementacin de parte del cdigo automticamente con el diseo dado, compilacin automtica, documentacin o deteccin de errores entre otras. Objetivos 1. Mejorar la productividad en el desarrollo y mantenimiento del software. 2. Aumentar la calidad del software. 3. Mejorar el tiempo y coste de desarrollo y mantenimiento de los sistemas informticos. 4. Mejorar la planificacin de un proyecto 5. Aumentar la biblioteca de conocimiento informtico de una empresa ayudando a la bsqueda de soluciones para los requisitos. 6. Automatizar, desarrollo del software, documentacin, generacin de cdigo, pruebas de errores y gestin del proyecto. 7. Ayuda a la reutilizacin del software, portabilidad y estandarizacin de la documentacin 8. Gestin global en todas las fases de desarrollo de software con una misma herramienta. 9. Facilitar el uso de las distintas metodologas propias de la ingeniera del software. Clasificacin Aunque no es fcil y no existe una forma nica de clasificarlas, las herramientas CASE se pueden clasificar teniendo en cuenta los siguientes parmetros: 1. Las plataformas que soportan.

2. Las fases del ciclo de vida del desarrollo de sistemas que cubren. 3. La arquitectura de las aplicaciones que producen. 4. Su funcionalidad. La siguiente clasificacin es la ms habitual basada en las fases del ciclo de desarrollo que cubren: Upper CASE (U-CASE), herramientas que ayudan en las fases de planificacin, anlisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML. Middle CASE (M-CASE), herramientas para automatizar tareas en el anlisis y diseo de la aplicacin.

La Ingeniera del Software, trmino utilizado por primera vez por Fritz Bauer en la primera conferencia sobre desarrollo de software patrocinada por el Comit de Ciencia de la OTAN celebrada en Garmisch, Alemania, en octubre de 1968, puede definirse segn Alan Davis como la aplicacin inteligente de principios probados, tcnicas, lenguajes y herramientas para la creacin y mantenimiento, dentro de un coste razonable, de software que satisfaga las necesidades de los usuarios El trmino ingeniera del software empez a usarse a finales de la dcada de los sesenta, para expresar el rea de conocimiento que se estaba desarrollando en torno a las problemticas que ofreca el software en ese momento. En esa poca, el crecimiento espectacular de la demanda de sistemas de computacin cada vez ms y ms complejos, asociado a la inmadurez del propio sector informtico (totalmente ligado al electrnico) y a la falta de mtodos y recursos, provoc lo que se llam la crisis del software (en palabras de Edsger Dijkstra) entre los aos 1965 y 1985. Durante esa poca muchos proyectos importantes superaban con creces los presupuestos y fechas estimados, algunos de ellos eran tan crticos (sistemas de control de aeropuertos, equipos para medicina, entre otros) que sus implicaciones iban ms all de las prdidas millonarias que causaban. La crisis del software pas, no tanto por la mejora en la gestin de los proyectos, sino en parte porque no es razonable estar en crisis ms de veinte aos, y en

Historia Ingenieria Software

parte porque se estaban haciendo progresos en los procesos de diseo y metodologas. As pues, desde 1985 hasta el presente, han ido apareciendo herramientas, metodologas y tecnologas que se presentaban como la solucin definitiva al problema de la planificacin, previsin de costes y aseguramiento de la calidad en el desarrollo de software. Entre las que se encuentran la programacin estructurada, la programacin orientada a objetos, a los aspectos, las herramientas CASE, el lenguaje de programacin ADA, la documentacin, los estndares, CORBA, los servicios web y el lenguaje UML (entre otros) fueron todos anunciados en su momento como la solucin a los problemas de la ingeniera del software, la llamada bala de plata (por silver bullet). Y lo que es ms, cada ao surgen nuevas ideas e iniciativas encaminadas a ello. En combinacin con las herramientas, tambin se han hecho esfuerzos por incorporar los mtodos formales al desarrollo de software, argumentando que si se probaba formalmente que los desarrollos hacan lo que se les requera, la industria del software sera tan predecible como lo son otras ramas de la ingeniera.

Crisis Ingenieria Software


El entorno actual de desarrollo de sistemas software viene adoleciendo de:

Retrasos considerables en la planificacin

Poca productividad Elevadas cargas de mantenimiento Demandas cada vez ms desfasadas con las ofertas Baja calidad y fiabilidad del producto Dependencia de los realizadores esto es lo que se ha denominado comnmente como crisis del software Cmo se define crisis?

La palabra crisis se defien en el diccionario como un punto decisivo en el curso de algo; momento, etapa, o evento decisivo o crucial. Sin embargo para el software no ha habido ningn punto crucial, slo una lenta evolucin. La crisis en la industria del software ha permanecido durante muchos aos, lo cual parece una contradiccin par el trmino. Lo que si se podra decir es que hay un problema crnico en el desarrollo de software. Ello ha venido originado por una falta de:

Formalismo y metodologa

Herramientas de soporte Administracin eficaz

Metas Ingenieria Software


Las metas de la ingeniera de software son, por un lado, mejorar la calidad de los procesos de fabricacin de software y mejorar la calidad de los productos de software y, por otro lado, aumentar la productividad y satisfaccin profesional de los ingenieros de esta disciplina.

Mitos Sobre Software


MITOS DEL SOFTWARE

Muchas de las causas de la crisis del software pueden ser encontradas en una mitologa que surge durante los primeros aos del desarrollo del software Los mitos del software propagaron informacin errnea y con fusin - Los mitos del software tienen varios atributos que los hacen insidiosos: Aparecen como declaraciones responsables de hechos Tuvieron un sentido intuitivo Frecuentemente fueron promulgados por expertos que estaban al da Surgen en los primeros aos del desarrollo _____________ | | | Coste | | | | | | del | | 60 | | __________ | | Cam | ___________ | | | 100x | bio | | 1x | | 1,5 6x | | | |__|_________|__|________|____|___________|_______ Definicin Desarrollo Mantenimiento Si se pone atencin en dar la definicin inicial,los cambios solicitados pueden pronto acomodarse facil ente, con relativamente poco coste Cuando los cambios se solicitan durante el diseo diseo del software, el impacto en el coste crece rpidamente. Cuando se solicita al final de un proyecto, los cam bios pueden producir un orden de magnitud ms caro que el mismo cambio pedido al principio. Mitos_de_Gestin Los gestores estn normalmente bajo la presin de cumplir presupuestos, hacer que no se retrase el proyecto y mejorar la calidad. El gestor se agarra a un mito del software aun que tal creencia slo disminuya la presin temporalmente Mito: Porqu debemos cambiar nuestra forma de desarro llar el Software? Estamos haciendo el mismo tipo de programacin a hora que hace diez aos Realidad: Aunque el dominio de la aplicacin puede ser el

mismo, la demanda de una mayor productividad y calidad, y el papel critico del software en obje tivos comerciales estratgicos, ha aumentado sus tancialmente Mito : Tenemos un libro que est lleno de estandares y procedimientos para construir software Realidad: Pero se usa?,conocen los trabajadores su existencia?,refleja las practicas modernas en desarrollo del software?,es completo?. En muchos casos la respuesta a todas estas preguntas es no Mito : Nuestra gente dispone de las herramientas de desarrollo de software ms avanzadas, despus de todo les compramos las computadoras mas nuevas Realidad: Se necesita mucho ms que el ltimo modelo de computadora, herramientas de software, las cua les son mucho mas importantes que el hardware para conseguir buena calidad y productividad. Mitos_de_los_realizadores Los mitos en los que an creen muchos programadores se han fomentado durante cuatro dcadas de cultura Informtica Las viejas formas y actitudes tardan en morir Mito: No hay realmente ningn metodo para el anlisis,dise o y prueba que funcione bien, yo simplemente me voy a mi terminal y comienzo a codificar Realidad: Existen en la industria mtodos comprobados para el diseo,anlisis y prueba, ninguno es infali ble, pero el uso de una metodologa para el de sarrollo del software est implcito en todos ellos Mito: Una vez que escribimos el programa y hacemos que fun cione, nuestro trabajo ha terminado. Realidad: Mientras ms pronto se comience a escribir cdigo ms se tarda en terminarlo El desarrollo del software abarca tres actividades Definicin Desarrollo Mantenimiento Adems los datos industriales indican que entre el 50% y 70% de todo el esfuerzo dedicado a un programa se realizara despus de que se le haya entregado al cliente por primera vez.

Enfoque De Ingenieria En Informatica


La ingeniera informtica es la profesin que consiste en la aplicacin de los fundamentos de la ciencia de la computacin, la electrnica y la ingeniera de software, para el desarrollo de soluciones integrales de cmputo La ingeniera informtica es la profesin que consiste en la aplicacin de los fundamentos de la ciencia de la computacin, la electrnica y la ingeniera de software, para el desarrollo de soluciones integrales de cmputo y comunicaciones, capaces de procesar informacin de manera automtica. En el aspecto lgico y formal, la ingeniera informtica se fundamenta en la teora de autmatas, los lenguajes formales, la teora de la informacin, el diseo de algoritmos, el reconocimiento de patrones, la inteligencia artificial y la ingeniera del conocimiento. En el aspecto de integracin, la ingeniera informtica comprende multitud de tcnicas y conocimientos especficos para el diseo, construccin y mantenimiento de software, sujetos a restricciones de calidad, tiempo y coste. El conjunto de estas tcnicas se conoce como ingeniera del software. Adems de los aspectos puramente tcnicos de los sistemas informticos, la ingeniera informtica se ocupa los aspectos de tipo organizativo, social y legal. Por ejemplo, los relacionados con la planificacin, direccin y control de proyectos informticos; la auditora y control; la realizacin de peritajes informticos

Tendencias Ingenieria Software


Una de las preocupaciones actuales ms urgentes de la industria del software es crear sistemas confiables y de mayor calidad con menor inversin de tiempo y costo, que resuelvan problemas cada vez ms complejos. Es preciso utilizar tcnicas avanzadas de la ingeniera de software que ayuden a aliviar el esfuerzo en las diferentes etapas del ciclo de vida. Tal como lo manifiestan J. Martin y J. Odell[Martin 94], en el software se necesita un avance en: *Complejidad *Capacidad de diseo *Flexibilidad *Rapidez de desarrollo

*Facilidad de modificacin *Confiabilidad La Tecnologia Orientada a Objetos ha demostrado ser una excelente herramienta para resolver problemas de gran envergadura y complejidad, permitiendo obtener sistemas interoperables, modulares, evolutivos y con alto ndice de reusabilidad. La reutilizacin conduce a un desarrollo ms rpido y programas de mejor calidad. Las tcnicas orientadas a objetos combinadas con otras herramientas como las CASE (ingeniera de software asistida por coputadora), programacin visual, generadores de cdigo, metodologas basadas en depositos, bases de datos, bibliotecas de clases que maximicen la reutilizacin, tecnologa cliente servidor, etc.; pueden proporcionar la magnitud de cambio necesario para lograr ese salto anteriormente mencionado. En este captulo se describen los principales factores que determinan la calidad del software y se introducen los principios y conceptos y conceptos bsicos en que se basa para producir software de alta calidad y confiabilidad Ingeniera de software es la disciplina o rea de la informtica que ofrece mtodos y tcnicas para desarrollar y mantener software de calidad. Esta ingeniera trata con reas muy diversas de la informtica y de las Ciencias de la Computacin, tales como construccin de compiladores, Sistemas Operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de Sistema de Informacin y aplicables a infinidad de reas (negocios, investigacin cientfica, medicina, produccin, logstica, banca, control de trfico, meteorologa, derecho, Internet Intranet, etc.).

You might also like