P. 1
INGENIERIA DE SOFTWARE clase 3

INGENIERIA DE SOFTWARE clase 3

|Views: 55|Likes:
Publicado porOmar Rosales

More info:

Published by: Omar Rosales on Mar 08, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/15/2011

pdf

text

original

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

mantener y atender la demanda de nuevas aplicaciones.  El hardware dejo de ser un impedimento para el desarrollo de la informática. o Dificultad de mantenimiento de programas con un diseño poco estructurado. etc Este problema se identificó por primera vez en 1968. año en el que la organización NATO desarrolló la primera conferencia sobre desarrollo de software. e “ingeniería del software” para describir el conjunto de conocimientos que existían en aquel estado inicial. 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. Elaborado por: Prof. Omar Rosales . o Baja calidad del software. Problemas que aparecen en el desarrollo del software al desarrollar.UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. 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.

UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA “FEDERICO BRITO FIGUEROA” LA VICTORIA. Omar Rosales . actividad de Elaborado por: Prof. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA 5. 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..

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. 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. definiendo interfaces estrictos que sirvan de interacción entre los distintos modelos. mejorar la calidad de los productos de software aumentar la productividad y trabajo de los ingenieros del software. Localización Deben estar agrupados todos aquellos elementos que están afectados por un mismo hecho. Principios de la Ingeniería del Software Abstracción Permite parcelar la complejidad. 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. Completitud Deben estar desarrollados todos los aspectos del sistema. Facilitar el control del proceso de desarrollo de software. Uniformidad Todos los módulos deben tener una notación similar. 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. la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software. 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. Omar Rosales .

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

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

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

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

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

Elaborado por: Prof. ESTADO ARAGUA DEPARTAMENTO DE INFORMÁTICA Diccionario de Datos Código Fuente (programa) c.MANTENIMIENTO: una vez instalado un programa y puesto en marcha para realizar la solución del problema previamente planteado o satisfacer una determinada necesidad. 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. 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. con el fin de que el usuario lo pueda manejar para que obtenga el resultado deseado. es importante mantener una estructura de actualización. 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 . . Para realizar un adecuado mantenimiento.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->