UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA, ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE 1.- Que es la Ingeniería? La ingeniería es el conjunto de conocimientos y técnicas científicas aplicadas a la invención, perfeccionamiento y utilización de técnicas para la resolución de problemas que afectan directamente a los seres humanos en su actividad cotidiana

2.- Funciones del ingeniero 1. Investigación: Búsqueda de nuevos conocimientos y técnicas, de estudio y en el campo laboral. 2. Desarrollo: Empleo de nuevos conocimientos y técnicas. 3. Diseño: Especificar las soluciones. 4. Producción: Transformación de materias primas en productos. 5. Construcción: Llevar a la realidad la solución de diseño. 6. Operación: Proceso de manutención y administración para optimizar productividad. 7. Ventas: Ofrecer servicios, herramientas y productos. 8. Administración: Participar en la resolución de problemas. Planificar, organizar, programar, dirigir y controlar la construcción y montaje industrial de todo tipo de obras de ingeniería. 3.- Ética profesional Los ingenieros deben reconocer que la vida, la seguridad, la salud y el bienestar de la población dependen de su juicio. No se deben aprobar planos o especificaciones que no tengan un diseño seguro. Se deben realizar revisiones periódicas de seguridad y confiabilidad. Prestar servicios productivos a la comunidad. Comprometerse a mejorar el ambiente. Los ingenieros deben prestar servicios en sus áreas de competencia. Deben emitir informes públicos. Se debe expresar la información en forma clara y honesta. Deben crear su reputación profesional sobre el mérito de sus servicios. No usar equipamiento fiscal o privado para uso personal. Acrecentar honor, integridad y dignidad de la profesión. Debe continuar con el desarrollo profesional (Continuar la educación). Apoyar a sociedades profesionales. Utilizar el Ingenio para resolver problemas. Ser consciente de su responsabilidad en su trabajo. Debe conocer las teorías científicas para explicar los hechos y actuar sobre ellos. 4.- La “crisis” del software:  Este término fue introducido a finales de los 60 a raíz de la crisis del software.

Elaborado por: Prof. Omar Rosales

o Baja calidad del software. o Dificultad de mantenimiento de programas con un diseño poco estructurado. año en el que la organización NATO desarrolló la primera conferencia sobre desarrollo de software.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. redujo los costos y mejoro la calidad y eficiencia en el software producido  La crisis se caracterizo por los siguientes problemas: o Imprecisión en la planificación del proyecto y estimación de los costos. e “ingeniería del software” para describir el conjunto de conocimientos que existían en aquel estado inicial. etc Este problema se identificó por primera vez en 1968. Omar Rosales . Elaborado por: Prof.  El hardware dejo de ser un impedimento para el desarrollo de la informática. mantener y atender la demanda de nuevas aplicaciones. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA  Esta crisis fue el resultado de la introducción de la tercera generación del hardware. y en la que se acuñaron los términos “crisis del software” para definir a los problemas que surgían en el desarrollo de sistemas de software. Problemas que aparecen en el desarrollo del software al desarrollar.

. Omar Rosales . actividad de Elaborado por: Prof. La creación del software es un proceso intrínsecamente creativo y la Ingeniería del Software trata de sistematizar este proceso con el fin de acotar el riesgo del fracaso en la consecución del objetivo creativo por medio de diversas técnicas que se han demostrado adecuadas en base a la experiencia previa.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA 5.Ingeniería de Software Es la disciplina o área de la Ingeniería que ofrece métodos y técnicas para desarrollar y mantener software.

Uniformidad Todos los módulos deben tener una notación similar. mejorar la calidad de los productos de software aumentar la productividad y trabajo de los ingenieros del software. Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente. Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado. Modularidad Sirve para parcelar la solución en módulos independientes con fuerte cohesión interna. Principios de la Ingeniería del Software Abstracción Permite parcelar la complejidad. Localización Deben estar agrupados todos aquellos elementos que están afectados por un mismo hecho. definiendo interfaces estrictos que sirvan de interacción entre los distintos modelos. Facilitar el control del proceso de desarrollo de software. Completitud Deben estar desarrollados todos los aspectos del sistema. Validación y Verificabilidad El producto final debe ser fácilmente validable y verificable: ¿Estamos desarrollando el programa correcto? ¿Estamos desarrollando correctamente el programa? Elaborado por: Prof. la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software. Por ello se olvidan aspectos irrelevantes del sistema y se potencian los fundamentales Encapsulamiento u Ocultación de la información Esconder todos los detalles que no afecten a otros módulos. Omar Rosales . ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA modelado solución de problemas adquisición de conocimiento dirigida por una fundamentación Objetivos de la ingeniería de software En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA.

documentado y certificado para su uso operativo". estos requerimientos transformados en diseño y el diseño implementado en código. Omar Rosales . Algunas actividades genéricas en todos los procesos de software son: Especificación: qué debe hacer el software y cuáles son sus especificaciones de desarrollo (requerimientos y restricciones del sistema).UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA.. el código es probado.  Conjunto estructurado de actividades requeridas para desarrollar o evoluciònun sistema de software. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA . en este caso. Concretamente "define quién está haciendo qué.  Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse. El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software.  Debe estar explícitamente modelado si va a ser bien administrado. cuándo hacerlo y cómo alcanzar un cierto objetivo" [Jacobson 1998]. Elaborado por: Prof. Diseño: producción del modelo del sistema de software Desarrollo: construcción del sistema de software Validación: verificar que el software cumple con lo solicitado por el cliente (especificaciones requeridas) Evolución: cambiar/adaptar el software a las nuevas demandas Instalación: entregar el sistema al usuario y asegurar su operacionalidad Mantenimiento: reparar fallos en el sistema cuando sea descubiertos .Proceso de Ingeniería de Software El proceso de ingeniería de software se define como "un conjunto de etapas parcialmente ordenadas con la intención de logra un objetivo. la obtención de un producto de software de calidad" [Jacobson 1998]. Retos de la Ingeniería de Software  Desarrollar técnicas para construir software que pueda hacer frente a plataformas y ambientes de ejecución heterogéneos (diferentes tipos de Hardware y Software)  Desarrollar técnicas que permitan reducir los tiempos de entrega del software sin comprometer la calidad  Desarrollar técnicas que permitan que los usuarios confíen plenamente en el software 6.

Elaborado por: Prof.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA.  Se centra en los cambio asociados a: o La corrección de errores o Adaptaciones requeridas por la evolución del entorno o Mejoras producidas por los requerimientos del cliente  El software es sometido a reparaciones y modificaciones cada vez que se detecta un fallo o se necesita cubrir una nueva necesidad de los usuarios. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA Visión general del proceso/etapas de ISw Con independencia del área de aplicación.  Cómo realizar el paso de traducción del diseño al lenguaje de programación. y se prueba el software construido. tamaño o complejidad del proyecto. Se escriben y documentan los programas. prueba Ø mantenimiento. Fase de Desarrollo Se centra en el CÓMO ¿Cómo construir el sistema?  Se diseñan e implementan las estructuras de los datos y los programas  Cómo se caracterizan las interfaces.  En esta fase recae el mayor porcentaje del coste de un sistema. Omar Rosales . Fase de Mantenimiento  Comienza una vez construido el sistema. cuando se empieza a utilizar. del sw. cualquier sistema se encontrará al menos en una de las siguientes fases genéricas: Ø Definición ~ Análisis (del sistema.  Cómo ha de realizarse la prueba. codificación.) Ø desarrollo ~ Diseño. Fase de definición/Análisis  Se centra en el QUÉ ¿Qué debe hacer el sistema?  Información que ha de manejar el sistema  Necesidades de rendimiento  Restricciones de diseño  Interfaces del sistema con los usuarios y con otros sistemas  Criterios de validación  Se elaboran los documentos de requisitos del Sistema (SyRS) y del software (SRS).

.Diseño funcional descendente. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA 7. Omar Rosales . Se denomina un sistema CASE (Ingenieria del Software Asistida por Ordenador Los procedimientos Un procedimiento software se puede caracterizar por un conjunto de actividades que se pueden aplicar en el desarrollo de cualquier proyecto software así como la forma de abarcarlas durante el desarrollo del mismo  “Pegamento” que junta los métodos y las herramientas  Definen: o La secuencia en la que se aplican los métodos o Las entregas (documentos. informes. El sistema se observa en términos de las funciones que suministra Elaborado por: Prof.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA..Elementos de la ingeniería del software Tres elementos claves:  Métodos  Herramientas  Procedimientos Los Métodos: Indican cómo construir técnicamente el software.) requeridas o Los controles: ayudan a asegurar la calidad y coordinar los cambios o Directrices: ayudan a los gestores del software a evaluar el progreso * Herramientas CASE (Computer-Aided Software Engineering) Conjunto de herramientas para soportar las tareas de Ingeniería del software y diseñadas de manera que la información generada por una de ellas sirva de entrada a otras * Metodologías de Diseño . Abarcan una gran cantidad de tareas  Indican “como” construir el software  Abarcan un amplio espectro: o Planificación y estimación de proyectos o Análisis de los requisitos del sistema y del software o Diseño de estructuras de datos o Arquitectura de programas y procedimientos algorítmicos o Codificación. etc. prueba y mantenimiento Las herramientas proporcionan un soporte automático o semiautomático para la aplicación de los procedimientos y los métodos  Suministran un soporte automático para los métodos  Existen herramientas para soportar cada uno de los métodos mencionados anteriormente  Un entorno con integración de diferentes herramientas.

El ciclo de vida básico de un software consta de los siguientes procedimientos: Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Omar Rosales . para garantizar que el software cumple con las especificaciones originales. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto. Prueba beta (o validación). es decir. Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño. Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. Integración: para garantizar que los diferentes módulos se integren con la aplicación. Otra clasificación Elaborado por: Prof.Diseño orientado a objetos. para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados. Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. donde cada elemento del sistema (objeto). Diseño general: requisitos generales de la arquitectura de la aplicación. Implementación Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo). encapsula datos y operaciones Ciclo de vida del software El término ciclo de vida del software describe el desarrollo de software. Éste es el propósito de la prueba de integración que está cuidadosamente documentada. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA . Análisis de los requisitos y su viabilidad: recopilar. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación. El sistema se observa como una sociedad de objetos. en los plazos de implementación y en los costos asociados. Diseño en detalle: definición precisa de cada subconjunto de la aplicación. permite a los desarrolladores concentrarse en la calidad del software.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA.

Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). dibujos o diagramas que se hace sobre el desarrollo de un programa. La importancia de la documentación radica en que a menudo un programa escrito por una persona. . Documentación Interna: Son los comentarios o mensajes que se añaden al código fuente para hacer más claro el entendimiento de los procesos que lo conforman. conocida como la del QUÉ se va a solucionar. b.DISEÑO: Una vez que se tiene la suficiente información del problema a solucionar. Cuando se termina de escribir un programa de computador. Omar Rosales . es necesario realizar las debidas pruebas que garanticen el correcto funcionamiento de dicho programa bajo el mayor número de situaciones posibles a las que se pueda enfrentar.DOCUMENTACIÓN: Es la guía o comunicación escrita en sus diferentes formas. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA INGENIERÍA DE SISTEMAS: En esta etapa el analista luego de unminucioso y detallado estudio de los sistemas de una organización. . forma detallada en el cual se la información Esta etapa es . es modificado por otra. La documentación se compone de tres partes: a. incluyendo las precondiciones y las poscondiciones de cada función. detecta un problema o una necesidad que para su solución y/o satisfacción es necesario realizar un desarrollo de software.IMPLEMENTACIÓN: partiendo del análisis y diseño de la solución.PRUEBAS: Los errores humanos dentro de la programación de los computadores son muchos y aumentan considerablemente con la complejidad del problema.ANÁLISIS: En esta etapa se debe entender y comprender de cual es la problemática a resolver.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. Documentación Externa: Se define en un documento escrito con los siguientes puntos: Descripción del Problema Datos del Autor Algoritmo (diagrama de flujo o Pseudocódigo) Elaborado por: Prof. en esta etapa se procede a desarrollar el correspondiente programa que solucione el problema mediante el uso de una herramienta computacional determinada. . ya sea en enunciados. de tal manera que se obtenga necesaria y suficiente para afrontar su respectiva solución. es importante determinar la estrategia que se va a utilizar para resolver el problema. . procedimientos. Esta etapa es conocida bajo el CÓMO se va a solucionar. verificando el entorno encuentra dicho problema.

es necesario contar con una buena documentación del mismo. . Manual de Usuario: Describe paso a paso la manera como funciona el programa. El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA Diccionario de Datos Código Fuente (programa) c. Elaborado por: Prof. es importante mantener una estructura de actualización. verificación y validación que permitan a dicho programa ser útil y mantenerse actualizado según las necesidades o requerimientos planteados durante su vida útil. con el fin de que el usuario lo pueda manejar para que obtenga el resultado deseado.MANTENIMIENTO: una vez instalado un programa y puesto en marcha para realizar la solución del problema previamente planteado o satisfacer una determinada necesidad. Para realizar un adecuado mantenimiento.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. Omar Rosales .

Sign up to vote on this title
UsefulNot useful