1 / 16

CAPITULO II

CAPITULO II. INGENIERIA DEL SOFTWARE. 1. EL PROCESO.

adie
Download Presentation

CAPITULO II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CAPITULO II INGENIERIA DEL SOFTWARE

  2. 1. EL PROCESO definimos un proceso de software como un marco de trabajo de las tareas que se requieren para construir software de alta calidad. ¿Es «proceso» sinónimo de ingeniería del software? La respuesta es «sí» y «no». Un proceso de software define el enfoque que se toma cuando el software es tratado por la ingeniería. Pero la ingeniería del software también comprende las tecnologías que tiene el proceso -métodos técnicos y herramientas automatizadas-. Aún más importante es que la ingeniería del software la realizan personas creativas, con conocimiento, que deberían trabajar dentro de un proceso del software definido y avanzado que es apropiado para los productos que construyen y para las demandas de su mercado. La intención de este capítulo es proporcionar un estudio del estado actual del proceso del software y puntualizar sobre el estudio detallado de los temas de gestión y técnicos presentados en este libro.

  3. 2.CAPAS DE LA INGENIERIA DEL SOFTWARE El fundamento de la ingeniería del software es la capa de proceso. El proceso de la ingeniería del software es la unión que mantiene juntas las capas de tecnología y que permite un desarrollo racional y oportuno de la ingeniería del software. El proceso define un marco de trabajo para un conjunto de Úreas clave de proceso (ACPs) [PAU93] que se deben establecer para la entrega efectiva de la tecnología de la ingeniería del software. Las áreas claves del proceso forman la base del control de gestión de proyectos del software y establecen el contexto en el que se aplican los métodos técnicos, se obtienen productos del trabajo (modelos,documentos, datos, informes, formularios, etc.), se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente

  4. 2.1.1. Proceso, métodos y herramientas Los métodos de la ingeniería del software indican«cómo» construir técnicamente el software. Los métodos abarcan una gran gama de tareas que incluyen anáisis de requisitos, diseño, construcción de programas,pruebas y mantenimiento. Los métodos de la ingenieríadel software dependen de un conjunto de principios básicos que gobiernan cada área de la tecnología e incluyenactividades de modelado y otras técnicas descriptivas. Las herramientas de la Ingeniería del software pro-porcionan un enfoque automático o semiautomático para el proceso y para los métodos. Cuando se integran herramientas para que la información creada por una herramienta la pueda utilizar otra, se establece un sistema desoporte para el desarrollo del software llamado ingeniería del software asistida por computadora (CASE).

  5. las prácticas de ingeniería del software de una compañía y establece cinco niveles de madurez del proceso,que se definen de la forma siguiente: Nivel 1: Inicial. El proceso del software se caracteriza según el caso, y ocasionalmente incluso de formacaótica. Se definen pocos procesos, y el éxito dependedel esfuerzo individual. Nivel 2: Repetible. Se establecen los procesos degestión del proyecto para hacer seguimiento del coste,de la planificación y de la funcionalidad. Para repetiréxitos anteriores en proyectos con aplicaciones similares se aplica la disciplina necesaria para el proceso. Nivel 3: Definido. El proceso del software de lasactividades de gestión y de ingeniería se documenta, seestandariza y se integra dentro de un proceso de software de toda una organización. Todos los proyectos utilizan una versión documentada y aprobada del proceso de la organización para el desarrollo y mantenimientodel software. En este nivel se incluyen todas las características definidas para el nivel 2. Nivel 4: Gestionado. Se recopilan medidas detalladas del proceso del software y de la calidad del producto. Mediante la utilización de medidas detalladas,se comprenden y se controlan cuantitativamente tanto los productos como el proceso del software. En estenivel se incluyen todas las características definidaspara el nivel 3. Nivel 5: Optimización. Mediante una retroalimentación cuantitativa del proceso, ideas y tecnologías innovadoras se posibilita una mejora del proceso. En estenivel se incluyen todas las características definidas para el nivel 4.

  6. 2.3- MODELOS DEL PROCESO DEL SOFTWARE Para resolver los problemas reales de una industria, uningeniero del software o un equipo de ingenieros debeincorporar una estrategia de desarrollo que acompañeal proceso, métodos y capas de herramientas descritosen la Sección 2.1.1 y las fases genéricas discutidas enla Sección 2.1.2. Esta estrategia a menudo se llamamodelo de proceso o paradigma de ingeniería del software. Se selecciona un modelo de proceso para la ingeniería del software según la naturaleza del proyecto de la aplicación, los métodos y las herramientas a utilizarse, y los controles y entregas que se requieren. Enun documento intrigante sobre la naturaleza del proceso del software, L.B.S. Raccoon [RAC95] utiliza fractales como base de estudio de la verdadera naturalezadel proceso del software completo, las etapas descritas anteriormente se aplicanrecursivamente a las necesidades del usuario y a la especificación técnica del desarrollador del software.

  7. 2.4- MODELO LINEAL SECUENCIAL el modelo lineal secuencial sugiere unenfoque sistemático, secuencial, para el desarrollo delsoftware que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento. Análisis de los requisitos del software. El procesode reunión de requisitos se intensifica y se centra especialmente en el software. Diseño. El diseño del software es realmente un proceso de muchos pasos que se centra en cuatro atributosdistintos de programa: estructura de datos, arquitectura de software, representaciones de interfaz y detalleprocedimental (algoritmo). Generación de código. El diseño se debe traduciren una forma legible por la máquina. El paso de generación de código lleva a cabo esta tarea. Pruebas. Una vez que se ha generado el código,comienzan las pruebas del programa. Mantenimiento. El software indudablemente sufrirácambios después de ser entregado al cliente (una excepción posible es el software empotrado). INGENIERIA DE SISTEMAS/ INFORMACION ANALISIS DISEÑO CODIGO PRUEBA C

  8. 2.5- EL MODELO DE CONSTRUCCION DE PROTOTIPOS En la mayoría de los proyectos, el primer sistema construido apenas se puede utilizar. Puede ser demasiado lento, demasiado grande o torpe en su uso, o las tres a la vez. No hay otra alternativa que comenzar de nuevo, aunque nos duela pero es más inteligente, y construir una versión rediseñada en la que se resuelvan estos problemas ... Cuando se utiliza un concepto nuevo de sistema o una tecnología nueva, se tiene que construir un sistema que no sirva y se tenga que tirar, porque incluso la mejor planificación no es omnisciente como para que esté perfecta la primera vez. Por lo tanto la pregunta de la gestión no es si construir un sistema piloto y tirarlo. Tendremos que hacerlo. La Única pregunta es si planificar de antemano construir un desechable, o prometer entregárselo a los clientes.. .

  9. 2.6- EL MODELO DRA El Desarrollo Rápido de Aplicaciones (DRA) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto.. Modelado de Gestión. El flujo de información entre las funciones de gestión se modela de forma que responda a las siguientes preguntas: ¿Qué información con- duce el proceso de gestión? ¿Qué información se genera?¿Quién la genera? ¿A dónde va la información? ¿Quién la procesa? El modelado de gestión se describe con más detalle en el Capítulo 10. Modelado de datos. El flujo de información definido como parte de la fase de modelado de gestión se refina como un conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las características (llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos. El modelado de datos se trata en el Capítulo 12. Modelado del proceso. Los objetos de datos definidos en la fase de modelado de datos quedan transformados para lograr el flujo de información necesario para implementar una función de gestión. Las descripciones del proceso se crean para añadir, modificar, suprimir, o recuperar un objeto de datos. Pruebas y entrega. Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo.

  10. EL MODELO DRA

  11. 2.7- MODELO EVOLUTIVO DEL PROCESO DEL SOFTWARE 2.7.1. El modelo incremental 2.7.2. El modelo espiral

  12. 2.7.3. El modelo espiral WINWIN (Victoria&Victoria) 2.7.4. El modelo de desarrollo concurrente

  13. 2.8- DESARROLLO BASADO EN COMPONENTES El modelo de desarrollo basado en componentes con-duce a la reutilización del software, y la reutilización proporciona beneficios a los ingenieros de software. Según estudios de reutilización, QSM Associates, Inc. informa que el ensamblaje de componentes lleva a una reducción del 70 por 100 de tiempo de ciclo de desarrollo, un 84 por 100 del coste del proyecto y un índice de productividad del 26.2, comparado con la norma de industria del 16.9 [YOU94]. Aunque estos resultados están en función de la robustez de la biblioteca de componentes, no hay duda de que el ensamblaje de componentes proporciona ventajas significativas para los ingenieros de software. El proceso unificado de desarrollo de software

  14. 2.9-EL MODELO DE METODOS FORMALES El modelo de métodos formales comprende un conjunto de actividades que conducen a la especificación matemática del software de computadora. Los métodos formales permiten que un ingeniero de software especifique, desarrolle y verifique un sistema basado en computadora aplicando una notación rigurosa y matemática. Algunas organizaciones de desarrollo del software actualmente aplican una variación de este enfoque, llamado ingeniería del software de sala limpia [MIL87, DYE921. software libre de defectos. Sin embargo, se ha hablado de una gran preocupación sobre su aplicabilidad en un entorno de gestión: 1. El desarrollo de modelos formales actualmente es bastante caro y lleva mucho tiempo. 2. Se requiere un estudio detallado porque pocos responsables del desarrollo de software tienen los antecedentes necesarios para aplicar métodos formales. 3. Es difícil utilizar los modelos como un mecanismo de comunicación con clientes que no tienen muchos conocimientos técnicos.

  15. 2.10- TECNICAS DE CUARTA GENERACION El término técnicas de cuarta generación (T4G) abarca un amplio espectro de herramientas de software que tienen algo en común: todas facilitan al ingeniero del software la especificación de algunas características del software a alto nivel. Luego, la herramienta genera automáticamente el código fuente basándose en la especificación del técnico. Cada vez parece más evidente que cuanto mayor sea el nivel en el que se especifique el software, más rápido se podrá construir el programa. El paradigma T4G para la ingeniería del software se orienta hacia la posibilidad de especificar el software usando formas de lenguaje especializado o notaciones gráficas que describa el problema que hay que resolver en términos que los entienda el cliente. Actualmente, un entorno para el desarrollo de software que soporte el paradigma T4G puede incluir todas o algunas de las siguientes herramientas: lenguajes no procedimentales de consulta a bases de datos, generación de informes, manejo de datos, interacción y definición de pantallas, generación de códigos, capacidades gráficas de alto nivel y capacidades de hoja de cálculo, y generación automatizada de HTML y lenguajes similares utilizados para la creación de sitios web usando herramientas de software avanzado.

  16. 2.11-TECNOLOGIAS DEL PROCESO Los modelos de procesos tratados en las secciones anteriores se deben adaptar para utilizarse por el equipo del proyecto del software. Para conseguirlo, se han desarrollado herramientas de tecnología de procesos para ayudar a organizaciones de software a analizar los procesos actuales, organizar tareas de trabajo, controlar y supervisar el progreso y gestionar la calidad técnica [BAN95]. 2.12- PRODUCTO Y PROCESO Si el proceso es débil, el producto final va a sufrir indu- dablemente. Aunque una dependencia obsesiva en el proceso también es peligrosa. En un breve ensayo, Mar- garet Davis [DAV95] comenta la dualidad producto y proceso:

More Related