• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
SeccióN De TéCnicas  De IngenieríA De Software(2007)
 

SeccióN De TéCnicas De IngenieríA De Software(2007)

on

  • 1,605 views

cuestionario de ingenieria de software, modelos de proceso de proceso de desarrollo de software, producto y proceso.

cuestionario de ingenieria de software, modelos de proceso de proceso de desarrollo de software, producto y proceso.

Statistics

Views

Total Views
1,605
Views on SlideShare
1,602
Embed Views
3

Actions

Likes
2
Downloads
42
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    SeccióN De TéCnicas  De IngenieríA De Software(2007) SeccióN De TéCnicas De IngenieríA De Software(2007) Presentation Transcript

    • Sección de técnicas de ingeniería de software
      Escuela especializada en ingeniería (ITCA-FEPADE)
      Docente:
      Lic. Mario quintanilla
      Alumno:
      Denny Osael López Medina.
      Sección: s-1-b
    • cuestionario
      1.¿Existe alguna diferencia entre Programa, Software y aplicación? Describa la definición de cada uno de estos términos, relaciónelos y posteriormente encuentre las diferencias (si las hay), o las similitudes (si las hay)
       
      Programa:
      Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar correctamente. Al conjunto general de programas, se lo denomina software y así, se refiere al equipamiento lógico o soporte lógico de una computadora digital.
       
      Software:
      Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación.]
      El software no son solo programas, sino todos los documentos asociados y la configuración de datos que se necesitan para hacer que estos programas operen de manera correcta
       
      Aplicación:
      En informática, una aplicación es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo.
    • 2. ¿Qué es ingeniería?
      La ingeniería es el conjunto de conocimientos y técnicas científicas aplicadas, que se dedica a la resolución u optimización de los problemas que afectan directamente a la humanidad.
       
      3.¿Qué es Ingeniería de Software? Ingeniería de software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.
       
      Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a infinidad de áreas: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.
      4.¿Por qué se dice que “el Software no se crea ni se construye, si no se desarrolla”
      Creo que se refiere a que no ha sido creado sino que en el transcurso de los años solamente se ha ido mejorando e incluso sigue mejorándose en la actualidad.
      5.Qué es calidad?
      Calidad, significa desarrollar, diseñar y producir y mantener un producto que sea el mas económico, el mas útil y siempre satisfactorio para el consumidor.
      Calidad, es la aplicación de los principios y técnicas estadísticas en todas las fases de la producción, dirigida a la fabricación mas económica de un producto (servicio) que es útil en grado máximo y que tiene mercado.
    • 6.¿Qué es calidad de software?
      La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario.
      Concordancia del software producido con los requerimientos explícitamente establecidos, con los estándares de desarrollo prefijados y con los requerimientos implícitos no establecidos formalmente, que desea el usuario.
      7.¿Porqué se dice que “No existe software Terminado”
      Cuando decimos esto nos referimos que cuando un software es entregado siempre tiene un o muchos errores que se deben corregir
       
      8.¿En qué consiste un Proyecto de Desarrollo de Software?
      Con un proyecto de desarrollo de software se pretende dotar con los recursos necesarios al s software para que un buen funcionamiento y que pueda trabajar con mayor eficiencia y que cumpla con las necesidades o requerimientos del usuario.
       
      9.¿Cuáles son las etapas del Desarrollo de Software?
      Los "procesos de desarrollo de software" poseen reglas preestablecidas, y deben ser aplicados en la creación del software de mediano y gran porte, ya que en caso contrario lo más seguro es que el proyecto o no logre concluir o termine sin cumplir los objetivos previstos, y con variedad de fallos inaceptables (fracasan, en pocas palabras).
       
    • El proceso de desarrollo puede involucrar numerosas y variadas tareas, desde lo administrativo, pasando por lo técnico y hasta la gestión y el gerenciamiento. Pero casi rigurosamente siempre se cumplen ciertas etapas mínimas; las que se pueden resumir como sigue:
      Captura, Elicitación, Especificación y Análisis de requisitos
      Diseño
      Codificación
      Pruebas (unitarias y de integración)
      Instalación y paso a Producción
      Mantenimiento
      10.¿Cuál es la diferencia entre el término ingeniería de software y el simple desarrollo o producción de software?
      Ingeniería de software: es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.
       
      11.¿Cuáles son los Modelos de desarrollo de software?
      Modelos de desarrollo de software
      La ingeniería de software tiene varios modelos, paradigmas o filosofías de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos:
      Modelo en cascada o Clásico (modelo tradicional)
      Modelo en espiral (modelo evolutivo)
      Desarrollo por etapas
      Desarrollo iterativo y creciente o Iterativo e Incremental
      RAD (Rapid ApplicationDevelopment)
      Desarrollo concurrente
      RUP (Modelo Racional)
      Proceso Unificado
    • 12.Revisar el video acerca de “¿Qué pasaría si los programadores hicieran los aviones?”
      ¿Por qué se da ese fenómeno?
      Porque cuando un programa ó sistema es puesto a funcionar muchas veces tiene que hacer correcciones o ajustes pero no antes porque solamente se pueden corregir cuando en sistema está funcionando normalmente.
       
      ¿Cuál es el mensaje que te deja el video?
      Nos da una perspectiva concreta de la verdad de los programadores.
      Se muestra en el video que los programadores van armando el avión a medida va volando corrigiendo y añadiendo las partes que le hacen falta hasta que lo terminan.
      ¿Se hará realmente lo correcto?
      A aunque no lo queramos aceptar esa es la realidad de los programadores cuando entregamos cierto sistema casi siempre tenemos que hacerle ajustes añadirle ó cambiarle muchas cosas hasta que esté completo.
       
      ¿Qué estrategias proporciona la Ingeniería de Software para solventar esta situación?
      Practica del conocimiento científico en el diseño y construcción de programas.
      Establecimiento y uso de principios sólidos de la ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente.
      La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo operación (funcionamiento) y mantenimiento del software.
      Disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iníciales de la especificación del sistema hasta el mantenimiento de este después que se utiliza.
    •  
      13.Revisar el video “Ariane Flight 501”
      ¿Qué fue lo que sucedió?
      El software del Ariane Flight 501 estaba mal diseñado lo que ocasiono que 40 segundos después se partiera y explotara.
       
      ¿Qué efectos tienen las fallas del software sobre el cohete?
      Los efectos fueron devastadores pues el cohete se partió en dos y exploto matando a sus tripulantes lo que ocasiono no solo pérdidas económicas sino pérdidas humanas.
       
      ¿Cómo afectan nuestras vidas que el software no sea de calidad?
      Cuando el software es de mala calidad tiende a no cumplir con las necesidades para las que fueron hechos, creando un conflicto en el trabajo del usuario.
       
      ¿Cómo podremos garantizar calidad en el desarrollo de software?
      Haciendo pruebas meticulosas para evitar desastres de cómo el del “Ariane Flight 501”
      En estos casos no se pueden permitir cometer errores de ese tipo pues cuestan no solo dinero sino que también que las vidas de personas inocentes.
       
    • Modelos de desarrollo de software.
      El proceso de desarrollo del software
      Un proceso de desarrollo de software tiene como propósito la producción eficaz y eficiente de un producto software que reúna los requisitos del cliente. Este proceso es intensamente intelectual, afectado por la creatividad y juicio de las personas involucradas . Aunque un proyecto de desarrollo de software es equiparable en muchos aspectos a cualquier otro proyecto de ingeniería, en el desarrollo de software hay una serie de desafíos adicionales, relativos esencialmente a la naturaleza del producto obtenido. A continuación se explican algunas particularidades asociadas al desarrollo de software y que influyen en su proceso de construcción.
      Un producto software en sí es complejo, es prácticamente inviable conseguir un 100% de confiabilidad de un programa por pequeño que sea. Existe una inmensa combinación de factores que impiden una verificación exhaustiva de las todas posibles situaciones de ejecución que se puedan presentar (entradas, valores de variables, datos almacenados, software del sistema, otras aplicaciones que intervienen, el hardware sobre el cual se ejecuta, etc.).
      El proceso de desarrollo de software no es único. No existe un proceso de software universal que sea efectivo para todos los contextos de proyectos de desarrollo. Debido a esta diversidad, es difícil automatizar todo un proceso de desarrollo de software.
    • Modelos de procesos de software
      Codificar y corregir (Code-and-Fix)
      Este es el modelo básico utilizado en los inicios del desarrollo de software. Contiene dos pasos:
      • Escribir código.
      • Corregir problemas en el código.
      • Se trata de primero implementar algo de código y luego pensar acerca de requisitos, diseño, validación, y mantenimiento.
      • Este modelo tiene tres problemas principales [7]:
      • Después de un número de correcciones, el código puede tener una muy mala estructura, hace que los arreglos sean muy costosos.
      • Frecuentemente, aún el software bien diseñado, no se ajusta a las necesidades del usuario, por lo que es rechazado o su reconstrucción es muy cara.
      • El código es difícil de reparar por su pobre preparación para probar y modificar.
    • Modelo en cascada
      El primer modelo de desarrollo de software que se publicó se derivó de otros procesos de ingeniería [8]. Éste toma las actividades fundamentales del proceso de especificación, desarrollo, validación y evolución y las representa como fases separadas del proceso.
      El modelo en cascada consta de las siguientes fases:
      • Definición de los requisitos: Los servicios, restricciones y objetivos son establecidos con los usuarios del sistema. Se busca hacer esta definición en detalle.
      • Diseño de software: Se particiona el sistema en sistemas de software o hardware. Se establece la arquitectura total del sistema. Se identifican y describen las abstracciones y relaciones de los componentes del sistema.
      • Implementación y pruebas unitarias: Construcción de los módulos y unidades de software. Se realizan pruebas de cada unidad.
      • Integración y pruebas del sistema: Se integran todas las unidades. Se prueban en conjunto. Se entrega el conjunto probado al cliente.
      • Operación y mantenimiento: Generalmente es la fase más larga. El sistema es puesto en marcha y se realiza la corrección de errores descubiertos. Se realizan mejoras de implementación. Se identifican nuevos requisitos.
    • Desarrollo evolutivo
      La idea detrás de este modelo es el desarrollo de una implantación del sistema inicial, exponerla a los comentarios del usuario, refinarla en N versiones hasta que se desarrolle el sistema adecuado. En la Figura 6 se observa cómo las actividades concurrentes: especificación, desarrollo y validación, se realizan durante el desarrollo de las versiones hasta llegar al producto final.
      Una ventaja de este modelo es que se obtiene una rápida realimentación del usuario, ya que las actividades de especificación, desarrollo y pruebas se ejecutan en cada iteración.
      Existen dos tipos de desarrollo evolutivo:
      Desarrollo Exploratorio: El objetivo de este enfoque es explorar con el usuario los requisitos hasta llegar a un sistema final. El desarrollo comienza con las partes que se tiene más claras. El sistema evoluciona conforme se añaden nuevas características propuestas por el usuario.
      Enfoque utilizando prototipos: El objetivo es entender los requisitos del usuario y trabajar para mejorar la calidad de los requisitos. A diferencia del desarrollo exploratorio, se comienza por definir los requisitos que no están claros para el usuario y se utiliza un prototipo para experimentar con ellos. El prototipo ayuda a terminar de definir estos requisitos.
    • MÉTODO ESPIRAL
      Su Modelo de Ciclo de Vida en Espiral tiene en cuenta fuertemente el riesgo que aparece a la hora de desarrollar software. Para ello, se comienza mirando las posibles alternativas de desarrollo, se opta por la de riesgo más asumible y se hace un ciclo de la espiral. Si el cliente quiere seguir haciendo mejoras en el software, se vuelve a evaluar las distintas nuevas alternativas y riesgos y se realiza otra vuelta de la espiral, así hasta que llegue un momento en el que el producto software desarrollado sea aceptado y no necesite seguir mejorándose con otro nuevo ciclo.
      Cada ciclo de desarrollo se divide en cuatro fases:
      • Definición de objetivos: Se definen los objetivos. Se definen las restricciones del proceso y del producto. Se realiza un diseño detallado del plan administrativo. Se identifican los riesgos y se elaboran estrategias alternativas dependiendo de estos.
      • Evaluación y reducción de riesgos: Se realiza un análisis detallado de cada riesgo identificado. Pueden desarrollarse prototipos para disminuir el riesgo de requisitos dudosos. Se llevan a cabo los pasos para reducir los riesgos.
      • Desarrollo y validación: Se escoge el modelo de desarrollo después de la evaluación del riesgo. El modelo que se utilizará (cascada, sistemas formales, evolutivo, etc.) depende del riesgo identificado para esa fase.
      • Planificación: Se determina si continuar con otro ciclo. Se planea la siguiente fase del proyecto.
    • Desarrollo por etapas
      El modelo de desarrollo de software por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
      Pueden distinguirse las siguientes fases:
      Especificación conceptual
      Análisis de requerimientos
      Diseño inicial
      Diseño detallado, codificación, depuración y liberación
      Estas diferentes fases se van repitiendo en cada etapa del diseño.
    • Desarrollo iterativo y creciente
      Desarrollo iterativo y creciente (o incremental) es un proceso de desarrollo de software, creado en respuesta a las debilidades del modelo tradicional de cascada.
      Para apoyar el desarrollo de proyectos por medio de este modelo se han creado frameworks (entornos de trabajo), de los cuales los dos más famosos son el RationalUnifiedProcess y el DynamicSystemsDevelopmentMethod. El desarrollo incremental e iterativo es también una parte esencial de un tipo de programación conocido como Extreme Programming y los demás frameworks de desarrollo rápido de software.
      Ciclo de vida
      La idea principal detrás de mejoramiento iterativo es desarrollar un sistema de programas de manera incremental, permitiéndole al desarrollador sacar ventaja de lo que se ha aprendido a lo largo del desarrollo anterior, incrementando, versiones entregables del sistema. El aprendizaje viene de dos vertientes: el desarrollo del sistema, y su uso (mientras sea posible). Los pasos claves en el proceso son comenzar con una implementación simple de los requerimientos del sistema, e iterativamente mejorar la secuencia evolutiva de versiones hasta que el sistema completo esté implementado. En cada iteración, se realizan cambios en el diseño y se agregan nuevas funcionalidades y capacidades al sistema.
      El proceso en sí mismo consiste de:
      Etapa de inicialización
      Etapa de iteración
      Lista de control de proyecto
    • Desarrollo rápido de aplicaciones
      El Desarrollo Rápido de Aplicaciones (DRA) (rapidapplicationDevelopment RAD) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. DRA es una adaptación a "Alta velocidad" en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un "sistema completamente funcional" dentro de periodos cortos de tiempo. Cuando se utiliza principalmente para aplicaciones de sistemas de información, el enfoque DRA comprende las siguientes fases:
      • 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 conduce el proceso de gestión? ¿Qué información se genera? ¿Quién la genera? ¿A dónde va la información? ¿Quién la proceso?
      • 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.
      • Modelado de 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. Es la comunicación entre los objetos.
      • Generación de aplicaciones: El DRA asume la utilización de técnicas de cuarta generación. En lugar de crear software con lenguajes de programación de tercera generación, el proceso DRA trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea necesario). En todos los casos se utilizan herramientas automáticas para facilitar la construcción del software.
      • Pruebas de 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.
    • Proceso Unificado de Rational
      El Proceso Unificado de Racional (RationalUnifiedProcess en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
      El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
      También se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el RationalMethodComposer (RMC), que permite la personalización de acuerdo a necesidades.
      Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una especificación más detallada, el RationalUnifiedProcess, que se vendiera como producto independiente.
      Principios de desarrollo
      El RUP está basado en 6 principios clave que son:
      Adaptar el proceso
      Equilibrar prioridades
      Demostrar valor iterativamente
      Colaboración entre equipos
      Elevar el nivel de abstracción
      Enfocarse en la calidad
    • Proceso Unificado
      El Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational o simplemente RUP.
      El Proceso Unificado no es simplemente un proceso, sino un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos. De la misma forma, el Proceso Unificado de Rational, también es un marco de trabajo extensible, por lo que muchas veces resulta imposible decir si un refinamiento particular del proceso ha sido derivado del Proceso Unificado o del RUP. Por dicho motivo, los dos nombres suelen utilizarse para referirse a un mismo concepto.
      El nombre Proceso Unificado se usa para describir el proceso genérico que incluye aquellos elementos que son comunes a la mayoría de los refinamientos existentes. También permite evitar problemas legales ya que Proceso Unificado de Rational o RUP son marcas registradas por IBM (desde su compra de Rational Software Corporation en 2003.
      Desde entonces los autores que publican libros sobre el tema y que no están afiliados a Rational utilizan el término Proceso Unificado, mientras que los autores que pertenecen a Rational favorecen el nombre de Proceso Unificado de Rational.
      Características
      Iterativo e Incremental
      Dirigido por los casos de uso
      Centrado en la arquitectura
      Enfocado en los riesgos
    • producto
      ¿Qué es producto?
      El software es un producto que diseñen y construyen los ingenieros de software.
      es decir: Un producto de software es un producto diseñado para un usuario"
      ¿ Quién lo hace?
      Los ingenieros de software lo construyen, y virtualmente cualquier persona en el mundo industrializado lo utiliza bien directa o indirectamente.
      producto obtenido?
      Desde el punto de vista de un ingeniero de software, el producto obtenido son los programas, documentos y los datos que configuran el software de computadora. Pero desde el punto de vista de los usuarios en la información que hace de algún modo el mundo mejor a los usuarios.
    • ¿Qué es proceso?
      El proceso de ingeniería de software se define como "un conjunto de etapas parcialmente ordenadas con la intención de logra un objetivo, en este caso, la obtención de un producto de software de calidad”. El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo". Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo" .
      El proceso de desarrollo de software requiere por un lado un conjunto de conceptos, una metodología y un lenguaje propio. A este proceso también se le llama el ciclo de vida del software que comprende cuatro grandes fases: concepción, elaboración, construcción y transición. La concepción define le alcance del proyecto y desarrolla un caso de negocio. La elaboración define un plan del proyecto, especifica las características y fundamenta la arquitectura. La construcción crea el producto y la transición transfiere el producto a los usuarios.
    • Capas de la Ingeniería de Software.
      Dichas capas se describen a continuación:
      • Cualquier disciplina de ingeniería (incluida la ingeniería del software) debe descansar sobre un esfuerzo de organización de calidad. La gestión total de la calidad y las filosofías similares fomentan una cultura continua de mejoras de procesos que conduce al desarrollo de enfoques cada vez más robustos para la ingeniería del software.
      • El fundamento de la ingeniería de software es la capa proceso. El proceso define un marco de trabajo para un conjunto de áreas clave, las cuales forman la base del control de gestión de proyectos de software y establecen el contexto en el cual: se aplican los métodos técnicos, se producen resultados de trabajo, se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente.
      • Los métodos de la ingeniería de software indican cómo construir técnicamente el software. Los métodos abarcan una gran gama de tareas que incluyen análisis de requisitos, diseño, construcción de programas, pruebas y mantenimiento. Estos métodos dependen de un conjunto de principios básicos que gobiernan cada área de la tecnología e incluyen actividades de modelado y otras técnicas descriptivas.
      • Las herramientas de la ingeniería del software proporcionan un soporte automático o semi-automático para el proceso y los métodos, a estas herramientas se les llama herramientas CASE (Computer-Aided Software Engineering).
      Dado lo anterior, el objetivo de la ingeniería de software es lograr productos de software de calidad (tanto en su forma final como durante su elaboración), mediante un proceso apoyado por métodos y herramientas.
    • Capas de la Ingeniería de Software
    • A pesar de la variedad de propuestas de proceso de software, existe un conjunto de actividades fundamentales que se encuentran presentes en todos ellos [4]:
      Especificación de software: Se debe definir la funcionalidad y restricciones operacionales que debe cumplir el software.
      Diseño e Implementación: Se diseña y construye el software de acuerdo a la especificación.
      Validación: El software debe validarse, para asegurar que cumpla con lo que quiere el cliente.
      Evolución: El software debe evolucionar, para adaptarse a las necesidades del cliente.
      Además de estas actividades fundamentales, Pressman [1] menciona un conjunto de “actividades protectoras”, que se aplican a lo largo de todo el proceso del software. Ellas se señalan a continuación:
      Seguimiento y control de proyecto de software.
      Revisiones técnicas formales.
      Garantía de calidad del software.
      Gestión de configuración del software.
      Preparación y producción de documentos.
      Gestión de reutilización.
      Mediciones.
      Gestión de riesgos.
    • caracteriza un proceso de desarrollo de software como se muestra en la Figura 3. Los elementos involucrados se describen a continuación:
      Un marco común del proceso, definiendo un pequeño número de actividades del marco de trabajo que son aplicables a todos los proyectos de software, con independencia del tamaño o complejidad.
      Un conjunto de tareas, cada uno es una colección de tareas de ingeniería del software, hitos de proyectos, entregas y productos de trabajo del software, y puntos de garantía de calidad, que permiten que las actividades del marco de trabajo se adapten a las características del proyecto de software y los requisitos del equipo del proyecto.
      Las actividades de protección, tales como garantía de calidad del software, gestión de configuración del software y medición, abarcan el modelo del proceso. Las actividades de protección son independientes de cualquier actividad del marco de trabajo y aparecen durante todo el proceso.