Ingeniería de software—Capítulo 13 Puntos de conocimiento de la gestión de proyectos de software (Fin)

Esta columna son las notas personales del blogger, el objetivo principal es utilizar el tiempo fragmentado para memorizar los puntos de conocimiento de la ingeniería blanda, ¡declaro por la presente!

 

Directorio de artículos

1. ¿Cuál es la definición de gestión?

2. ¿Estado de gestión de proyectos de software? (importancia)

3. El proceso de gestión de proyectos de software comienza con un conjunto de actividades de planificación del proyecto, y ¿cuál es la base para la planificación?

4. ¿Existen métodos para estimar el tamaño del software?

5. ¿Qué es la tecnología de línea de código?

 6. ¿Cuáles son las principales ventajas de la tecnología de línea de código?

7. ¿Cuáles son las principales desventajas de la tecnología de línea de código?

8. ¿Cuál es la unidad de tecnología de puntos de función para medir el tamaño del software?

9. ¿Existe un modelo de estimación de carga de trabajo?

10. La carga de trabajo es función de la escala del software, ¿cuál es su unidad habitual?

11. ¿Qué es un diagrama de Gantt?

12. ¿Cuáles son las principales ventajas y desventajas del diagrama de Gantt (Gantt)?

13. ¿Qué es un diagrama de red de ingeniería?

14. ¿Cuáles son los métodos de organización de personal para el desarrollo de software? Describa brevemente las características, ventajas y desventajas de cada método.

15. ¿Qué es la calidad del software?

16. ¿Cuáles son las principales medidas para el aseguramiento de la calidad del software?

17. ¿Qué es la gestión de configuración de software?

18. ¿Qué es la línea de base? ¿Cómo puede ser cambiado?

19. ¿Cuáles son las cinco tareas principales de la gestión de configuración de software?

20. ¿Qué es un modelo de madurez de la capacidad (CMM)?

 21. ¿Cuáles son los cinco niveles de madurez de capacidad, de menor a mayor?

Resumen al final del capítulo.


1. ¿Cuál es la definición de gestión?

La denominada gestión es el proceso de asignar y utilizar racionalmente diversos recursos para lograr los objetivos fijados a través de una serie de actividades como la planificación, la organización y el control.

2. ¿Estado de gestión de proyectos de software? (importancia)

La gestión de proyectos de software comienza antes de cualquier actividad técnica y continúa durante todo el ciclo de vida del software.

3. El proceso de gestión de proyectos de software comienza con un conjunto de actividades de planificación del proyecto, y ¿cuál es la base para la planificación?

La planificación se basa en estimaciones de esfuerzo y estimaciones de plazos de finalización

Para estimar el esfuerzo del proyecto y el plazo de finalización, primero es necesario estimar el tamaño del software.

4. ¿Existen métodos para estimar el tamaño del software?

  1. tecnología de línea de código
  2. tecnología de punto de función

5. ¿Qué es la tecnología de línea de código?

Es decir, con base en la experiencia y los datos históricos de desarrollo de productos similares en el pasado , estime la cantidad de líneas de programa fuente necesarias para realizar una función.

 6. ¿Cuáles son las principales ventajas de la tecnología de línea de código?

El código es el "producto" de todos los proyectos de desarrollo de software y es fácil contar líneas de código

7. ¿Cuáles son las principales desventajas de la tecnología de línea de código?

  1. El programa fuente es solo un componente de la configuración del software y no es razonable usar su tamaño para reemplazar el tamaño de todo el software.
  2. La cantidad de líneas de código requeridas para implementar el mismo software en diferentes lenguajes no es la misma
  3. Este enfoque no es adecuado para lenguajes no procedimentales.

8. ¿Cuál es la unidad de tecnología de puntos de función para medir el tamaño del software?

Medición del tamaño del software en puntos de función (FP)

9. ¿Existe un modelo de estimación de carga de trabajo?

  1. Modelo univariado estático (modelo COCOMO básico)
  2. Modelos multivariantes estáticos (modelo COCOMO2, COCOMO con estructura intermedia)
  3. Modelos multivariantes dinámicos (modelos putnam)

[Nota]: No se puede aplicar ningún modelo de estimación a todos los tipos de software

10. La carga de trabajo es función de la escala del software, ¿cuál es su unidad habitual?

hombre mes (pm)

11. ¿Qué es un diagrama de Gantt?

El diagrama de Gantt (Gantt) es una herramienta establecida desde hace mucho tiempo y ampliamente utilizada para hacer horarios

12. ¿Cuáles son las principales ventajas y desventajas del diagrama de Gantt (Gantt)?

La ventaja principal:

  1. Capaz de describir visualmente la situación de descomposición de tareas
  2. Intuitivo y conciso, fácil de entender y dibujar.

Principales desventajas:

  1. No representa explícitamente las dependencias entre trabajos.
  2. Las partes clave del cronograma no están claras , y es difícil determinar qué partes deben ser los principales objetos de control y de ataque.
  3. La parte con potencial en el plan y el tamaño del potencial no están claros, lo que a menudo resulta en una pérdida de potencial

13. ¿Qué es un diagrama de red de ingeniería?

El diagrama de red de ingeniería es otra herramienta gráfica de uso común al hacer un cronograma , y ​​es una herramienta poderosa para el análisis y diseño de sistemas . Tanto el diagrama de Gantt como el diagrama de red de ingeniería deben usarse para formular y administrar el cronograma, de modo que se complementen entre sí.

14. ¿Cuáles son los métodos de organización de personal para el desarrollo de software? Describa brevemente las características, ventajas y desventajas de cada método.

  • Grupo de Programadores Democráticos

Características : los miembros del equipo son completamente iguales, disfrutan de una democracia plena y toman decisiones técnicas a través de consultas.

Ventajas : 1. Los miembros del equipo tienen una actitud positiva hacia la búsqueda de errores del programa, lo que ayuda a encontrar errores más rápido y conduce a un código de alta calidad.

           2. Los miembros del equipo disfrutan de una democracia plena, el grupo tiene un alto grado de cohesión y la fuerte atmósfera técnica en el grupo conduce a superar las dificultades técnicas.

Desventajas : Si el nivel técnico de los integrantes del grupo no es alto o son novatos sin experiencia, ya que no existe una autoridad clara que oriente el trabajo de desarrollo

          Si el proyecto no se lleva a cabo, habrá una falta de coordinación necesaria entre los miembros del equipo, lo que eventualmente puede llevar al fracaso del proyecto.

  • grupo principal de programadores

Características : 1. Especialización 2. Jerarquía

Ventajas : 1. Hay programadores maestros experimentados para guiar el desarrollo

           2. La comunicación entre los programadores se realiza a través del programador principal, lo que reduce los costos de comunicación y mejora la eficiencia del desarrollo y la producción.

Desventajas : 1. No es práctico en muchos aspectos, como que el programador principal no solo debe tener una tecnología excelente, sino también excelentes habilidades de gestión.

             Dichos talentos son difíciles de encontrar; los programadores de back-end son aún más difíciles de encontrar; las secretarias de programación también son difíciles de encontrar.

           2. Los miembros del equipo no estarán dispuestos a encontrar errores

        

 

  • grupo de programadores modernos

Características : Optimice el grupo de programadores principal, cancele la mayor parte del trabajo administrativo del programador principal y divídalo en líderes técnicos y

           persona administrativa

Ventajas : combina las ventajas del grupo de programadores democráticos y el grupo de programadores principal

Desventaja : la autoridad de gestión del líder del equipo técnico y el líder del equipo administrativo debe estar claramente dividida antes de que comience el trabajo, de lo contrario, puede causar confusión.

         Dado que la cantidad de programadores no debe ser demasiado grande, cuando el proyecto de software es grande, los programadores deben dividirse en varios grupos , y la estructura organizativa se muestra en la siguiente figura:

 

15. ¿Qué es la calidad del software?

La calidad del software es el grado en que el software se ajusta a los requisitos definidos explícita e implícitamente

16. ¿Cuáles son las principales medidas para el aseguramiento de la calidad del software?

  1. Pruebas no basadas en la ejecución (revisión y revisión)
  2. Pruebas basadas en ejecución (pruebas de software)
  3. Prueba de la corrección del programa (método matemático)

17. ¿Qué es la gestión de configuración de software?

La administración de la configuración del software se ejecuta a lo largo de todo el ciclo de vida y es un conjunto de actividades que administran los cambios a lo largo del ciclo de vida del software para identificar, controlar e informar los cambios para garantizar que los cambios se implementen correctamente.

18. ¿Qué es la línea de base? ¿Cómo puede ser cambiado?

Una línea de base es un elemento de configuración de software que ha pasado una revisión formal y puede servir como base para un mayor desarrollo.

Solo se puede cambiar si se ha pasado un proceso formal de control de cambios.

19. ¿Cuáles son las cinco tareas principales de la gestión de configuración de software?

  1. identificar objeto
  2. control de versiones
  3. cambio de control
  4. auditoría de configuración
  5. informe de estado

20. ¿Qué es un modelo de madurez de la capacidad (CMM)?

El modelo de madurez de la capacidad (CMM) es un modelo que se utiliza para evaluar la madurez de la capacidad del proceso de software de las organizaciones de software y se utiliza para ayudar a las organizaciones de desarrollo de software a establecer un proceso de software maduro y a gran escala.

 21. ¿Cuáles son los cinco niveles de madurez de capacidad, de menor a mayor?

  1. nivel inicial
  2. grado repetible
  3. clase definida
  4. Administrado
  5. nivel de optimización

Resumen al final del capítulo.

        La ingeniería de software incluye dos aspectos de tecnología y gestión , y es el producto de la estrecha combinación de tecnología y gestión. Solo bajo una gestión científica y estricta, los métodos técnicos avanzados y las excelentes herramientas de software pueden ejercer realmente su poder. Por lo tanto, una gestión eficaz es la clave del éxito de los proyectos de ingeniería de software a gran escala .

        La gestión de proyectos de software comienza con la planificación del proyecto y la primera actividad de planificación es la estimación . Para estimar el esfuerzo del proyecto y el plazo de finalización, primero es necesario predecir el tamaño del software .

        Las técnicas comúnmente utilizadas para medir el tamaño del software incluyen principalmente la técnica de línea de código y la técnica de punto de función . Ambas técnicas tienen ventajas y desventajas. La tecnología apropiada debe seleccionarse de acuerdo con las características del proyecto y la familiaridad de las personas involucradas en la planificación del trabajo con las dos tecnologías.

        De acuerdo con la escala del software, se puede estimar la carga de trabajo requerida para completar el proyecto.Los modelos de estimación comúnmente utilizados son el modelo univariante estático, el modelo multivariante dinámico y el modelo COCOMO2 . Para que el resultado de la estimación se acerque más al valor real, por lo general se utilizan al menos dos de los tres modelos anteriores al mismo tiempo . Al comparar y coordinar las estimaciones obtenidas con diferentes modelos, es posible obtener estimaciones más precisas. El modelo de estimación de costos generalmente también proporciona una ecuación para estimar el tiempo de desarrollo de software. El tiempo de desarrollo estimado es el tiempo de desarrollo normal. La experiencia muestra que el tiempo de desarrollo puede reducirse al 75% del tiempo de desarrollo normal aumentando el número de desarrolladores .

        Los gerentes deben desarrollar un cronograma lo suficientemente detallado para monitorear el progreso del proyecto y controlar todo el proyecto. Las herramientas comúnmente utilizadas para hacer cronogramas son los diagramas de Gantt y las redes de ingeniería . Estas dos herramientas tienen sus propias ventajas y desventajas. Por lo general, los diagramas de Gantt y las redes de ingeniería se usan juntas para formular cronogramas y monitorear el progreso del proyecto.

        Los desarrolladores de alta calidad y una estructura organizativa razonable del equipo del proyecto son las claves del éxito de un proyecto de software . Hay tres estructuras organizativas típicas: grupo de programadores democráticos, grupo de programadores principales y grupo de programadores modernos.Las ocasiones aplicables de estos tres métodos organizativos no son las mismas. El aseguramiento de la calidad del software es una actividad que se realiza en cada paso del proceso del software. Las medidas de aseguramiento de la calidad del software incluyen principalmente pruebas no basadas en la ejecución (también conocidas como revisión), pruebas basadas en la ejecución (es decir, comúnmente denominadas pruebas) y certificación de corrección del programa . La revisión del software es una de las actividades más importantes de aseguramiento de la calidad del software. Su ventaja es que los errores del software se pueden encontrar y eliminar a tiempo cuando el costo de corregir los errores es relativamente bajo.

        La gestión de la configuración del software es una actividad de protección aplicada a todo el proceso del software, y es un grupo de actividades para gestionar los cambios en todo el ciclo de vida del software. El objetivo de la gestión de la configuración del software es hacer que los cambios sean más correctos y fáciles de adaptar , y reducir la cantidad de trabajo dedicado a modificar el software cuando sea necesario.

        El modelo de madurez de capacidad (CMM) es una estrategia eficaz para mejorar el proceso de software. Su idea básica es que debido a que el problema es causado por un método inadecuado de gestión del proceso de software, la adopción de nuevas tecnologías no mejorará automáticamente la productividad y la calidad del software, y se deben realizar esfuerzos para mejorar la gestión del proceso de software . De hecho, la mejora del proceso de software no se puede lograr de la noche a la mañana. Por lo tanto, CMM introduce cambios gradualmente de manera incremental . Define claramente los niveles de madurez de 5. Una organización de desarrollo de software puede usar una serie de pequeños pasos de mejora para ingresar a un nivel de madurez más alto.

 

Repetidamente, con los pies en la tierra; nunca olvidar, ¡habrá ecos! 

Supongo que te gusta

Origin blog.csdn.net/qq_52487066/article/details/131681637
Recomendado
Clasificación