Es muy inspirador ver los comentarios de muchos internautas aquí. Además, hay muchos libros en el mercado sobre diferentes aspectos del proceso de software, pero no he encontrado un método de aplicación práctico aquí, así que estoy aquí para extraer algunas ideas y espero que todos puedan corregirme.
En mi opinión personal, la ingeniería de software es un sistema de software con funciones claras organizadas y planificadas según el modelo de gestión de la ingeniería y dentro de una determinada base de calidad, límite de tiempo y rango de costos. Además, la ingeniería de software debe estar respaldada por recursos corporativos y conectada con las operaciones corporativas, la toma de decisiones y los sistemas de gestión para poder implementarse de manera práctica.
Como industria de servicios, la industria del software primero debe formar un mercado que necesite urgentemente servicios de software para poder desarrollarse. En segundo lugar, los consumidores de este mercado deben tener suficiente poder adquisitivo. Los grupos de consumidores de software son relativamente simples y se pueden dividir en consumo personal y consumo empresarial. El número de empresas en nuestro país es enorme, pero la calidad no es alta. Hay muy pocas empresas de gran escala en el mundo. Por lo tanto, el consumo de software a gran escala por parte de las empresas chinas es definitivamente limitado. El consumo personal de software, al menos en China en la actualidad, todavía no es un fenómeno. Por lo tanto, debe ser un pequeño sistema de software que pueda formar un mercado independiente de escala relativamente grande en China.
Además, la calidad no se puede decir del todo. Por ejemplo, compraste un par de zapatos de cuero por 500 yuanes, pero se rompieron después de usarlos solo durante un mes. Deben ser productos inferiores. Sin embargo, si sólo gastas 5 yuanes en estos zapatos y te duran un mes, entonces son un producto de calidad. Lo mismo ocurre con el software.
El otro es el ciclo de vida del software. En el extranjero, en muchas empresas medianas y grandes, los sistemas de software se han convertido en el elemento vital de las operaciones empresariales. Por supuesto, estas empresas necesitan servicios de software y sistemas de desarrollo estables y a largo plazo como garantía. Por lo tanto, en términos relativos, los requisitos funcionales del software son relativamente claros y las pequeñas y medianas empresas nacionales siempre han utilizado la flexibilidad como arma de supervivencia en sus operaciones. Por supuesto, es imposible tener un plan de negocios a largo plazo y mucho menos utilizar sistemas de software para una gestión empresarial integral. Esto da como resultado una demanda a corto plazo de sistemas de software, por lo que están más dispuestos a comprar un sistema de software único con funciones limitadas en lugar de servicios de software continuos a largo plazo.
Si el análisis anterior es representativo, es decir, ahora debemos formar un método de ingeniería muy eficaz para desarrollar este tipo de software:
1. Pequeña escala.
2. Bajo costo
3. Los requisitos de calidad no son altos.
4. El servicio postventa es limitado.
5. Vida corta.
No creo que RUP sea necesariamente un buen enfoque para este tipo de sistema. Además, también quiero hablar sobre mi opinión sobre la calidad del personal de software.
Desde mi experiencia personal, creo que hay un problema con la forma en que formamos a los ingenieros de software. En teoría, siempre que la estructura esté bien diseñada y se resuelvan todas las dificultades técnicas, los estudiantes de secundaria pueden manejar el resto del código. De hecho, muchos graduados en informática de nuestras prestigiosas universidades no pueden escribir bien códigos. Especialmente ahora que VB, PB y JAVA están disponibles, todos parecen pensar que la arquitectura de la computadora no necesita preocuparse. En varios proyectos de software que he manejado, muchos ingenieros están perdidos al usar el lenguaje C para desarrollar asignación de memoria, interbloqueo y subprocesos múltiples de Win32. No creo que estos problemas puedan resolverse con una buena documentación. De hecho, poder utilizar herramientas OO no significa poder realizar análisis y diseño de sistemas OO.
Hablando de eso, ¿cuántas personas en China tienen una experiencia en desarrollo de software de más de 10 años? Y su experiencia en los últimos 10 años ha sido más en la codificación de proyectos pequeños que en la gestión y análisis de sistemas de proyectos grandes. Y un buen analista de sistemas necesita practicar, practicar y practicar de nuevo. Si no existen grandes proyectos de software en nuestro entorno empresarial, ¿cómo podremos tener buenos analistas de sistemas?
Entonces, creo que nuestro problema actual es que el nivel técnico y el conocimiento de los ingenieros son tan importantes como la conciencia y los métodos de gestión. Bajo esta premisa, ¿deberíamos explorar un método de ingeniería de software que realmente nos convenga?