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

UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. Omar Rosales . o Baja calidad del software. Problemas que aparecen en el desarrollo del software al desarrollar. o Dificultad de mantenimiento de programas con un diseño poco estructurado. 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. mantener y atender la demanda de nuevas aplicaciones. 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. Elaborado por: Prof. 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. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA  Esta crisis fue el resultado de la introducción de la tercera generación del hardware. año en el que la organización NATO desarrolló la primera conferencia sobre desarrollo de software.  El hardware dejo de ser un impedimento para el desarrollo de la informática.

ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA 5.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. 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.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.

mejorar la calidad de los productos de software aumentar la productividad y trabajo de los ingenieros del software. Principios de la Ingeniería del Software Abstracción Permite parcelar la complejidad. Uniformidad Todos los módulos deben tener una notación similar. 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. Modularidad Sirve para parcelar la solución en módulos independientes con fuerte cohesión interna. Omar Rosales . 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. Completitud Deben estar desarrollados todos los aspectos del sistema. 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. la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de 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.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. 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. 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.

 Conjunto estructurado de actividades requeridas para desarrollar o evoluciònun sistema de software. 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 . en este caso.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]. Concretamente "define quién está haciendo qué. 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). estos requerimientos transformados en diseño y el diseño implementado en código. 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.  Debe estar explícitamente modelado si va a ser bien administrado.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA . cuándo hacerlo y cómo alcanzar un cierto objetivo" [Jacobson 1998]. El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software. documentado y certificado para su uso operativo". el código es probado. Elaborado por: Prof. Omar Rosales .  Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse.

del sw.  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.  En esta fase recae el mayor porcentaje del coste de un sistema.  Cómo ha de realizarse la prueba. Fase de Mantenimiento  Comienza una vez construido el sistema. Se escriben y documentan los programas. 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.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. y se prueba el software construido. 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). cualquier sistema se encontrará al menos en una de las siguientes fases genéricas: Ø Definición ~ Análisis (del sistema. tamaño o complejidad del proyecto. Elaborado por: Prof. Omar Rosales .  Cómo realizar el paso de traducción del diseño al lenguaje de programación.) Ø desarrollo ~ Diseño. cuando se empieza a utilizar. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA Visión general del proceso/etapas de ISw Con independencia del área de aplicación. prueba Ø mantenimiento. codificación.

Diseño funcional descendente.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. informes. Omar Rosales . 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. 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.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.. 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.. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA 7. El sistema se observa en términos de las funciones que suministra Elaborado por: Prof.) 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 .

Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. Otra clasificación Elaborado por: Prof. desde la fase inicial hasta la fase final.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. Omar Rosales . 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. Éste es el propósito de la prueba de integración que está cuidadosamente documentada. Prueba beta (o validación).UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA . encapsula datos y operaciones Ciclo de vida del software El término ciclo de vida del software describe el desarrollo de software. Análisis de los requisitos y su viabilidad: recopilar. Diseño en detalle: definición precisa de cada subconjunto de la aplicación. para garantizar que el software cumple con las especificaciones originales. Diseño general: requisitos generales de la arquitectura de la aplicación. donde cada elemento del sistema (objeto). El sistema se observa como una sociedad de objetos. permite a los desarrolladores concentrarse en la calidad del software. examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. en los plazos de implementación y en los costos asociados. 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. Implementación Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo). Integración: para garantizar que los diferentes módulos se integren con la aplicación. 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. es decir. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación.

dibujos o diagramas que se hace sobre el desarrollo de un programa. 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. . detecta un problema o una necesidad que para su solución y/o satisfacción es necesario realizar un desarrollo de software. en esta etapa se procede a desarrollar el correspondiente programa que solucione el problema mediante el uso de una herramienta computacional determinada. procedimientos. 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.PRUEBAS: Los errores humanos dentro de la programación de los computadores son muchos y aumentan considerablemente con la complejidad del problema. La importancia de la documentación radica en que a menudo un programa escrito por una persona. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). incluyendo las precondiciones y las poscondiciones de cada función.ANÁLISIS: En esta etapa se debe entender y comprender de cual es la problemática a resolver. . . es modificado por otra. 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. b. .DOCUMENTACIÓN: Es la guía o comunicación escrita en sus diferentes formas. Cuando se termina de escribir un programa de computador. es importante determinar la estrategia que se va a utilizar para resolver el problema. ya sea en enunciados. Esta etapa es conocida bajo el CÓMO se va a solucionar.IMPLEMENTACIÓN: partiendo del análisis y diseño de la solución. forma detallada en el cual se la información Esta etapa es . de tal manera que se obtenga necesaria y suficiente para afrontar su respectiva solución. La documentación se compone de tres partes: a. verificando el entorno encuentra dicho problema. 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.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA.DISEÑO: Una vez que se tiene la suficiente información del problema a solucionar. Omar Rosales . conocida como la del QUÉ se va a solucionar.

ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA Diccionario de Datos Código Fuente (programa) c. 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. es necesario contar con una buena documentación del mismo. 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. Elaborado por: Prof. . es importante mantener una estructura de actualización. Para realizar un adecuado mantenimiento.MANTENIMIENTO: una vez instalado un programa y puesto en marcha para realizar la solución del problema previamente planteado o satisfacer una determinada necesidad. con el fin de que el usuario lo pueda manejar para que obtenga el resultado deseado. Manual de Usuario: Describe paso a paso la manera como funciona el programa.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. Omar Rosales .

Sign up to vote on this title
UsefulNot useful