【Documento del Departamento】Sobre el modelo de desarrollo de software y su aplicación

tema

Sobre el modelo de desarrollo de software y su aplicación

introducción al tema

Modelo de desarrollo de software (Software Development Model) se refiere al marco estructural de todo el proceso, actividades y tareas de desarrollo de software. El proceso de desarrollo de software incluye fases como requisitos, diseño, codificación, pruebas y, a veces, mantenimiento. El modelo de desarrollo de software puede expresar de forma clara e intuitiva todo el proceso de desarrollo de software, estipula claramente las principales tareas y actividades que deben completarse y se utiliza como base para el trabajo del proyecto de software. Para diferentes proyectos de software, se pueden adoptar diferentes modelos de desarrollo de acuerdo con diferentes requisitos, como los requisitos de la aplicación, la complejidad del proyecto y la escala, y se pueden adoptar las estrategias de organización del personal, los métodos de gestión, las herramientas y los entornos correspondientes.

Concéntrese en el tema "Modelo y aplicación de desarrollo de software" y discútalo a partir de los siguientes tres aspectos por turno.

  • Describa brevemente los proyectos de desarrollo de software en los que participó y el trabajo principal que realizó.
  • Enumere varios modelos típicos de desarrollo de software y discuta brevemente las ideas principales
    y las características técnicas de cada modelo de desarrollo de software.
  • De acuerdo con el modelo de desarrollo de software utilizado en el proyecto en el que participó, explique en detalle el método de uso y el efecto de implementación.

puntos de tesis

Puntos clave para la pregunta 1 :

  • El esquema del sistema de software: los antecedentes del sistema, el iniciador, el propósito, el ciclo de desarrollo, los productos entregados, etc.
  • El papel del "yo" y el trabajo principal.

Puntos clave para la pregunta 2 :

  • Modelos de desarrollo de uso común: modelo en cascada, modelo de creación rápida de prototipos, modelo evolutivo, modelo incremental, modelo en espiral, modelo de fuente, método ágil.
  • Las ideas principales y características técnicas de cada modelo de desarrollo de software.
    Puntos clave para la pregunta 3 :
  • El modelo de desarrollo adoptado en el proyecto, y el efecto concreto de ejecución.
  • Que mas vale la pena mejorar o mejorar.

Preparación de materiales teóricos

Modelos y características de desarrollo comunes:

Modelo de cascada : siga estrictamente la secuencia fija de las etapas del ciclo de vida del software e ingrese a otra etapa después de completar una etapa. Su ventaja es que puede hacer que el proceso sea más estandarizado, lo que favorece la revisión; la desventaja es que es demasiado ideal, carece de flexibilidad y es propenso a la desviación de la demanda.
Modelo de creación rápida de prototipos : este modelo es más adecuado para muchos proyectos cuyos requisitos no son lo suficientemente claros. Adopta un método de definición dinámica de requisitos, al establecer rápidamente un prototipo de software que puede reflejar las principales necesidades de los usuarios, permitiéndoles usarlo en la computadora, comprender su esquema y luego modificarlo de acuerdo con los resultados de la retroalimentación, para que pueda Reflejar plenamente las necesidades de los usuarios, la participación y la toma de decisiones.
Modelo evolutivo : También es una especie de desarrollo de prototipos, pero a diferencia del prototipo rápido, el modelo de prototipo rápido abandonará el prototipo cuando se obtenga la demanda real. El modelo evolutivo no es el caso, evolucionará gradualmente desde el modelo inicial hasta el producto de software final, que es un método de creación de prototipos "progresivo".
Modelo incremental : adopta un modelo "incremental", que divide el producto de software en una serie de componentes incrementales, que se diseñan, codifican, integran y prueban por separado.
Modelo espiral : Combina las ventajas del modelo en cascada y el modelo evolutivo, y la característica principal es que agrega análisis de riesgo. Está compuesto por el ciclo de planificación, análisis de riesgos, ingeniería de implementación, evaluación del cliente, e inicia inicialmente la primera espiral desde el concepto del proyecto.
Modelo fuente : se utiliza principalmente para describir el proceso de desarrollo orientado a objetos, y la característica principal es la iteración. Todas las actividades de desarrollo no tienen
límites obvios, lo que permite que se lleven a cabo diversas actividades de desarrollo.
Proceso Unificado (UP): El Proceso Unificado es un marco de proceso general que se puede utilizar para una amplia variedad de sistemas de software, diferentes dominios de aplicaciones, diferentes tipos de organizaciones, diferentes niveles de rendimiento y diferentes tamaños de proyectos. UP está basado en componentes Cuando se modelan sistemas de software, UP usa UML. En comparación con otros procesos de software, UP tiene tres características notables, a saber, impulsada por casos de uso, centrada en la arquitectura, iterativa e incremental.
Método ágil : el método ágil es un método de desarrollo paso a paso, iterativo y centrado en las personas. En el método ágil, la construcción del proyecto de software se divide en múltiples subproyectos, y los resultados de cada subproyecto han sido probados y tienen las características de integración y operación. En las metodologías ágiles, desde el punto de vista del desarrollador, las principales preocupaciones son reuniones cortas y rápidas, lanzamientos pequeños, menos documentación, más colaboración, participación directa del cliente, pruebas automatizadas, ajustes de planes adaptativos y programación en pares; desde la perspectiva de un gerente, la Las principales preocupaciones son el desarrollo basado en pruebas, la integración continua y la refactorización.

ensayo modelo

Resumen

  Basado en la práctica del autor, este artículo discute la aplicación del modelo de desarrollo de software en el sistema ERP de la editorial. En la era de la información de Internet, la industria editorial tradicional se ha visto afectada y los tipos y el volumen de distribución de libros están disminuyendo. El entorno empresarial actual requiere que las casas editoriales abandonen los métodos de gestión rudimentarios anteriores y que gestionen y controlen los recursos empresariales a través de ideas de gestión sistemáticas. Es imperativo mejorar el proceso comercial de la editorial y mejorar la competitividad central de la empresa a través del sistema ERP. La complejidad del sistema ERP es relativamente alta, si desea asegurar el éxito del proyecto, debe utilizar sistemáticamente el modelo de desarrollo de software como guía. En este artículo, primero se describe brevemente el sistema ERP de la editorial. Luego enumera varios modelos principales de desarrollo, y las características de estos modelos, y analiza qué modelo es más adecuado para el proyecto ERP de la editorial. Finalmente, combinado con el sistema ERP de nuestra editorial, analiza específicamente el método de uso, el efecto de implementación y las lecciones aprendidas del método de prototipado rápido. Durante el desarrollo de este sistema, actué como director técnico.

texto

  La unidad para la que trabajo es un grupo editorial y de distribución multinacional, y la publicación de libros es uno de los segmentos comerciales importantes de nuestro grupo. Hay siete casas editoriales bajo nuestro grupo.Dado que cada casa editorial se dedica principalmente a libros en diferentes direcciones, también hay grandes diferencias en el negocio. Para fortalecer el control interno de la empresa, estandarizar los procesos comerciales de cada imprenta y mejorar el nivel de gestión y la eficiencia del trabajo, nuestro grupo comenzó a construir el sistema ERP de la editorial en agosto de 2015. Asumí el papel de líder técnico en este proyecto. El sistema ERP de la editorial se compone principalmente de cuatro subsistemas: edición, publicación, distribución y finanzas . Entre ellos, el sistema editorial es responsable de la producción de contenido de libros, el sistema editorial es responsable de la impresión y producción de libros terminados , el sistema de distribución es el sistema de venta al por mayor de libros; Dado que los usuarios de los sistemas financieros y de distribución son relativamente fijos, hay poca diferencia en el negocio de cada editorial en estos dos sectores.Al mismo tiempo, estos dos sistemas a menudo necesitan realizar operaciones complejas de tablas anidadas, por lo que están diseñados como arquitectura C/S y desarrollo VB .NET. Los usuarios del sistema editorial y de publicación pasarán por los distintos departamentos comerciales de la editorial, y existen grandes diferencias en el proceso de producción de las diferentes editoriales, por lo que diseñamos estos dos subsistemas como una arquitectura B/S y usamos un conjunto de Java. Implementación del motor de flujo de trabajo basado en JBPM. Las bases de datos de los cuatro subsistemas son Oracle 10 G. Con el fin de eliminar las "islas aisladas de información", se utiliza el almacén de datos para la integración de datos. El sistema interactúa con el sistema de gestión minorista de comercio electrónico y el sistema de logística externamente, e intercambia datos a través del servicio web. (Descripción del Proyecto)

  Sabemos que el desarrollo de sistemas es un trabajo altamente complejo y requiere trabajo en equipo. Para garantizar la tasa de éxito del proyecto, se debe utilizar una metodología sistemática para guiar el trabajo de desarrollo. Como marco estructural para guiar todo el proceso, las actividades y las tareas del desarrollo de software, el modelo de desarrollo de software puede expresar de forma clara e intuitiva todo el proceso de desarrollo de software, estipula claramente las principales tareas y actividades que deben completarse y se utiliza como base. para el trabajo del proyecto de software. Para diferentes proyectos de software, se pueden adoptar diferentes modelos de desarrollo de acuerdo con diferentes requisitos, como los requisitos de la aplicación, la complejidad del proyecto y la escala, y se pueden adoptar las estrategias de organización del personal, los métodos de gestión, las herramientas y los entornos correspondientes. Los principales modelos de desarrollo son: (principales modelos de desarrollo)

  1. Modelo de cascada . Cuando se trata de modelos de desarrollo de software, se debe mencionar el modelo en cascada, que es un producto de la era del desarrollo estructurado y el primer método maduro utilizado para guiar el desarrollo de sistemas. El modelo de cascada es un método estructurado, que define estrictamente el proceso de software como planificación de software, análisis de requisitos, diseño de software, codificación de programas, prueba de software y etapas de operación y mantenimiento. Cada fase tiene su propio trabajo, entregables. Es una característica de este modelo que la siguiente etapa solo puede iniciarse después de que se complete una etapa de trabajo. La mayor limitación del modelo en cascada es que los problemas potenciales en la etapa anterior a menudo no se exponen fácilmente hasta la etapa siguiente. Corregir el problema en una etapa posterior suele ser muy costoso. Por lo tanto, el modelo en cascada es más adecuado para proyectos de software con requisitos muy claros y pocos cambios. (modelo de cascada)

  2. Modelo en espiral . El modelo en espiral adopta un enfoque cíclico para el desarrollo del sistema. Un ciclo completo incluye la definición de requisitos, la evaluación de riesgos, la realización del proyecto y la revisión del usuario. Todo el desarrollo del sistema incluye una serie de ciclos de iteraciones, que se refinan gradualmente paso a paso y, finalmente, se derivan los resultados de desarrollo que pasan la revisión del usuario. Debido a la definición de requisitos iterativos, el modelo en espiral puede hacer frente a la ambigüedad de los requisitos del usuario. La introducción de la evaluación de riesgos es la diferencia más significativa entre este modelo y otros modelos de desarrollo. La limitación del modelo en espiral es que el número de iteraciones es incontrolable y el período de tiempo para completar todo el desarrollo del sistema es muy largo y el costo es alto. Por lo tanto, el modelo en espiral generalmente se usa en proyectos complejos a gran escala donde los requisitos no pueden confirmarse por completo. (modelo espiral)

  3. Modelo incremental . El modelo incremental tiene algo en común con otros modelos de desarrollo evolutivo y es de naturaleza iterativa. Pero lo que es diferente de otros modelos es que el modelo incremental enfatiza el lanzamiento de un producto que los usuarios pueden operar cada vez, lo que hace que el modelo no tenga que esperar a que se confirmen todas las necesidades del usuario. Siempre que se confirme un paquete incremental de requisitos, se puede iniciar esta parte del trabajo de desarrollo. El modelo incremental puede dar prioridad al lanzamiento de las funciones básicas o funciones que el usuario necesita con urgencia, y cada lanzamiento incremental probará las funciones anteriores, lo que también permite que el trabajo de desarrollo bajo el modelo incremental obtenga una mayor calidad. El modelo incremental requiere que cada componente se fusione gradualmente con la arquitectura de software existente, y los componentes recién agregados no pueden destruir las partes del sistema existentes, lo que hace que el software deba tener una arquitectura abierta. Al mismo tiempo, el modelo incremental es difícil de manejar y es fácil caer en el modo de hacer cambios mientras se hacen, por lo que el control del proceso de software pierde su integridad. (modelo incremental)

  4. Modelo de creación de prototipos . El método de creación de prototipos reemplaza las especificaciones rígidas con una interfaz intuitiva e interactiva que se puede construir rápidamente. Según si el sistema de prototipo se descarta durante el proceso de desarrollo del sistema, el método de prototipo se puede dividir en el método de prototipo descartado y el método de prototipo evolutivo. Los usuarios pueden proporcionar comentarios reales y específicos a los desarrolladores a través del sistema de prototipo de prueba que se ejecuta en la computadora, lo que hace que el método de prototipo tenga ventajas inherentes frente a las necesidades inciertas del usuario. El método de creación de prototipos se ajusta a la ley de la comprensión de las cosas por parte de las personas, y el desarrollo del sistema es gradual y repetido, lo que puede garantizar una mejor satisfacción del usuario. El ciclo de desarrollo y el costo son relativamente menores que el modelo en espiral, que está más en línea con la situación del sistema ERP de nuestra editorial, por lo que finalmente elegimos el modelo de método prototipo como marco de desarrollo. Este modelo también es un método de desarrollo que generalmente es bienvenido en la industria. (modelo de prototipo)

  En el proceso de desarrollo del sistema ERP de la editorial, el uso del método prototipo es el siguiente: (Resumen y deficiencia)

  1. Construya un prototipo . Dado que hay siete editoriales en nuestro grupo, los negocios son diferentes. Para construir rápidamente un sistema prototipo que pueda ser operado por los usuarios, primero seleccionamos una editorial con negocios relativamente estandarizados, productos para el público y principalmente libros de ciencias sociales y culturales como objeto de desarrollo. A través de una ronda de investigación de demanda breve en cada departamento comercial de la editorial, utilizamos JBPM (un motor de flujo de trabajo basado en JAVA) para construir el flujo comercial del sistema de publicación y el sistema de publicación de la editorial y los nodos de aprobación en cada uno. flujo de negocios. A través del análisis de los documentos históricos de la editorial, agregue elementos de datos que deben ser completados por el usuario durante el proceso de uso para cada nodo del flujo de trabajo, como el formulario de solicitud de selección de tema llenado en el proceso de solicitud de selección de tema, el formulario de autorización del manuscrito durante la tercera revisión y el tercer proceso de revisión, etc. A través de estas tareas se ha construido un prototipo de sistema que puede ser operado y probado por los usuarios de las editoriales. (construir un prototipo)

  2. Confirmar requisitos con la ayuda de prototipos . Después de construir el prototipo del sistema, organizamos una reunión conjunta de los pilares empresariales y los jefes de departamento de varios departamentos comerciales de la editorial, así como los líderes de la editorial. En primer lugar, se demostró el sistema prototipo para el personal de la editorial y luego se escucharon las opiniones de modificación de los usuarios de la editorial. Una vez que se complete la modificación confirmada, el personal de la editorial se organizará para realizar pruebas funcionales del sistema, y ​​el sistema prototipo se modificará y ajustará en función de los comentarios de las pruebas de los usuarios. Después de varias rondas de iteraciones, los desarrolladores de nuestro sistema y los usuarios finales de la editorial tienen una comprensión clara de los requisitos, y el sistema prototipo está relativamente cerca del resultado final. Basándose en el sistema prototipo, el equipo del proyecto derivó una especificación de requisitos que fue aprobada por los líderes de la editorial. (Confirmar requisitos con la ayuda de prototipos)

  3. De acuerdo con la especificación de requisitos , refinamos aún más el sistema prototipo. Rediseñó la base de datos, resolvió la relación de los elementos de datos en cada proceso comercial y la autoridad de cada nodo de flujo de trabajo, y finalmente formó un entorno de sistema formal que se puede ejecutar en línea. Después de resolver una editorial, utilizamos el sistema de la editorial como prototipo para llevar a cabo el trabajo del proyecto del sistema ERP de otras editoriales. (según la especificación de requisitos)

  El sistema ERP de nuestra editorial se lanzó por completo en octubre de 2016. Después de más de medio año de uso, actualmente funciona normalmente, y las funciones y el rendimiento del sistema han cumplido con los requisitos de los usuarios y han recibido elogios unánimes de los usuarios de varias editoriales. Actualmente se está preparando la aceptación final del proyecto. Resumiendo la aplicación del método del prototipo en este proyecto, creemos que hay varios puntos clave. En primer lugar, el entorno de desarrollo es muy importante . Dado que el sistema editorial y el sistema de publicación se desarrollan utilizando JBPM, el sistema prototipo se puede construir rápidamente solo mediante el flujo de trabajo rápido de componentes. Sin embargo, el sistema financiero y el sistema de publicación no pudieron construir un sistema prototipo que pudiera ser operado por los usuarios al comienzo del proyecto de la primera editorial, sino que solo pudo proporcionar una interfaz de trabajo dibujada, y el efecto no fue tan bueno. del sistema editorial y del sistema editorial. El segundo es la participación del usuario . En el proceso de construcción de prototipos y validación de prototipos, se debe alentar a los usuarios a participar activamente, para ayudarlos a comprender realmente sus necesidades. El tercero es guiar la demanda . Incluso si los usuarios participan en el proyecto, debemos analizar si las opiniones de los usuarios son razonables y controlar los requisitos, de lo contrario, el modelo prototipo se convertirá en un modelo que se modifica mientras lo realiza. A través de la implementación fluida del proyecto, me he beneficiado mucho del análisis del sistema y la aplicación del modelo del método de creación de prototipos. También entiendo profundamente que nuestros trabajadores técnicos deben continuar aprendiendo y trabajando duro para hacer preparativos para tareas más complejas en el futuro. (resumen y deficiencias)

Conocimientos complementarios de tesis

JBPM : JBPM (JBoss Business Process Manager) es un marco de gestión de procesos de código abierto basado en Java para definir, gestionar y ejecutar procesos de negocio. JBPM proporciona un marco de procesos completo, que incluye definiciones de procesos, instancias de procesos, tareas, roles, recursos, monitoreo, etc., que pueden ayudar a las empresas y organizaciones a construir procesos comerciales sólidos, eficientes y escalables. JBPM se usa ampliamente en el desarrollo de aplicaciones empresariales, arquitectura de servicios, computación en la nube, big data y otros campos.

Supongo que te gusta

Origin blog.csdn.net/qq_44033208/article/details/130789400
Recomendado
Clasificación