El desarrollo de software se refiere al desarrollo de un proyecto de software, como investigación de mercado, análisis de demanda, análisis de viabilidad, diseño preliminar, diseño detallado, documentación, establecimiento de modelos preliminares, redacción de código detallado, pruebas de modificaciones, lanzamiento. , etc. .
¿Cómo se desarrolla el software?
El primer paso es la investigación de mercado. Se debe combinar tecnología y mercado para reflejar el máximo valor.
El segundo paso es el análisis de la demanda. Esta etapa requiere tres cosas, vista del usuario, diccionario de datos y manual de operación del usuario.
La vista de usuario es el estilo de página que pueden ver los usuarios del software (incluidos los usuarios finales y los usuarios administrativos), que contiene muchos procesos y condiciones operativas.
El diccionario de datos es algo que especifica la relación lógica de los datos y los organiza. Después de completar el diccionario de datos, se completa más de la mitad del diseño de la base de datos.
El manual de operación del usuario es un manual de instrucciones que especifica los procedimientos de operación.
Tenga en cuenta que el proceso de operación del usuario y la vista del usuario están determinados por los requisitos, por lo que deben completarse antes del diseño del software. Completar estos proporciona restricciones y pautas para el desarrollo del programa. Desafortunadamente, muchas empresas no lo hacen. , la causa y el efecto se invierten y el orden no se distingue. Esto a menudo crea una desconexión entre el trabajo de desarrollo y las necesidades reales.
Análisis de requisitos, además del trabajo anterior, el autor cree que, como diseñador de proyectos, se debe hacer una declaración completa de requisitos de desempeño para el proyecto, porque a menudo los requisitos de desempeño solo pueden ser entendidos por personas que entienden La tecnología, que requiere expertos técnicos y requisitos, las partes (clientes o departamentos de marketing de la empresa) pueden tener una comunicación y comprensión reales.
El tercer paso es el diseño del esquema, que inicialmente divide los módulos funcionales del sistema y proporciona procesos de I+D y requisitos de recursos razonables.
Como método de creación rápida de prototipos, puede ingresar a la etapa de codificación después de completar el diseño del esquema. Este método generalmente se usa porque las tareas de investigación y desarrollo involucradas pertenecen a campos nuevos y el supervisor técnico no puede dar una idea clara. Instrucciones de diseño detalladas al principio, pero esto no significa que las instrucciones de diseño detalladas no sean importantes. De hecho, después de que el método de creación rápida de prototipos completa el código del prototipo, los pasos de diseño detallados se basan en los resultados de la evaluación y el resumen de las lecciones aprendidas. debe volver a realizarse.
El cuarto paso es el diseño detallado, que es un nivel importante para probar el pensamiento de diseño de los expertos técnicos. Las instrucciones de diseño detalladas deben proporcionar los módulos específicos a los codificadores de la manera más clara (estructura de caja negra). Maximizar la modularidad general del sistema; una buena especificación de diseño detallada puede reducir la complejidad de la codificación al mínimo. De hecho, estrictamente hablando, la especificación de diseño detallada debe definir cada parámetro de cada función proporcionada, desde el análisis de requisitos hasta el esquema. Desde el diseño hasta la finalización de las especificaciones de diseño detalladas, se debe decir que un proyecto de software está a medio completar. En otras palabras, cuando un sistema de software grande está a mitad de camino, todavía no se ha iniciado una línea de código.
Aquellos que simplemente entienden a los programadores de software como escritores de códigos han cometido un error fundamental.
El quinto paso es la codificación. En el proceso de investigación y desarrollo estandarizado, el trabajo de codificación no excederá la mitad de todo el proceso del proyecto como máximo, generalmente 1/3 del tiempo, si es así. Si el proceso de diseño se completa bien, la eficiencia de la codificación mejorará enormemente. La coordinación del progreso y la colaboración entre diferentes módulos deben ser más cuidadosas al codificar. Tal vez un problema con un módulo pequeño pueda afectar el progreso general, lo que provocará que muchos programas como un. Como resultado, los empleados se vieron obligados a dejar de trabajar y esperar. Este problema ha ocurrido en muchos procesos de investigación y desarrollo.
La comunicación mutua y las soluciones de emergencia al codificar son muy importantes. Para los programadores, los errores siempre existirán y siempre debes enfrentar este problema. ¿Alguna vez el famoso Microsoft ha tenido tres errores consecutivos cuando no se lanzan parches? ¿un mes? ¡Nunca!
El sexto paso es la prueba
Hay muchos tipos de pruebas:
Según el método de ejecución de la prueba, se puede dividir en pruebas internas y pruebas externas.
Según el alcance de la prueba, se puede dividir en prueba de módulo y depuración conjunta general.
Según las condiciones de la prueba, se puede dividir en prueba de funcionamiento normal y prueba de condición anormal
Según el rango de entrada de la prueba, se puede dividir en pruebas de cobertura total y pruebas de muestreo
Lo anterior es fácil de entender y no se explicará nuevamente.
En resumen, las pruebas también son un paso muy importante en el desarrollo de un proyecto. Para un software grande, las pruebas externas de 3 meses a 1 año son normales, porque siempre habrá problemas impredecibles.
Después de completar la prueba, completar la aceptación y completar algunos documentos de ayuda finales, el proyecto general llega a su fin. Por supuesto, serán necesarias actualizaciones, reparaciones, etc., siempre que usted. No está tratando de engañar al dinero mediante transacciones únicas, debe realizar un seguimiento constante del estado operativo del software y continuar parcheándolo y actualizándolo hasta que el software se elimine por completo.
¿Cuáles son los problemas centrales en el desarrollo de software?
Según Brooks, el creador de la ingeniería de software y autor de "El mito del mes del hombre", en "No Silver Bullets - Cuestiones fundamentales y menores en la ingeniería de software" Con base en las ideas explicadas en el Capítulo 1, la cuestión central del desarrollo de software es cómo modelar conceptualmente un sistema empresarial complejo. Este modelado tiene un significado amplio, que incluye no solo el modelado de objetos, sino también el modelado de datos, el modelado de algoritmos y una serie de otros contenidos. Con todo, primero es necesario encontrar un gran avance para resolver problemas complejos (primero comprender lo que se debe hacer y luego considerar cómo hacerlo). En cuanto a qué método de representación usar (texto simple, diagrama UML, diagrama E-R), qué lenguaje de alto nivel usar, si se debe usar la orientación a objetos y qué herramientas de desarrollo usar son cuestiones secundarias.
Método de desarrollo de software
El método de desarrollo de software se refiere a los métodos y pasos seguidos en el proceso de desarrollo de software.
El propósito de las actividades de desarrollo de software es obtener de manera efectiva algunos productos de trabajo, es decir, un sistema en ejecución y su documentación de respaldo, y cumplir con los requisitos de calidad relevantes. El desarrollo de software es un trabajo mental muy complejo, por lo que a menudo se analiza más la metodología de desarrollo de software, que se refiere a la integración de reglas, métodos y herramientas, que no solo respaldan el desarrollo sino que también respaldan el proceso de evolución posterior (después de la entrega y operación, el sistema También cambiará, ya sea para corregir errores o para añadir o quitar funciones).
Existen varios modelos para las actividades que componen el desarrollo de software y la evolución del sistema (ver ciclo de vida del software, modelo de desarrollo de software, proceso de software), pero normalmente incluyen los siguientes procesos o actividades: análisis, diseño, implementación. , confirmación (pruebas y aceptación), evolución (mantenimiento).
Algunos métodos de desarrollo de software están dirigidos específicamente a una determinada etapa de desarrollo y son métodos de desarrollo de software parciales.
Especialmente la práctica del desarrollo de software muestra que más esfuerzos en las primeras etapas de desarrollo reducirán en gran medida los costos en las etapas posteriores de prueba y mantenimiento. Por lo tanto, los métodos de desarrollo de software dirigidos a las fases de análisis y diseño reciben especial atención. Los métodos en otras etapas han sido el foco de la investigación desde las primeras etapas del desarrollo de la programación y se han vuelto relativamente maduros (consulte Programación, Proceso de mantenimiento). Además del método de desarrollo de software local por etapas, también existe un método global que cubre todo el proceso de desarrollo, que es especialmente el foco de la metodología de desarrollo de software.
Requisitos generales para los métodos de desarrollo de software: al proponer un método de desarrollo de software, se deben considerar muchos factores, entre ellos:
① Cubrir todo el proceso de desarrollo y facilitar la transición entre cada etapa. transición
② Facilitar la comunicación entre el personal relevante en varias etapas de desarrollo
③ Apoyar la resolución efectiva de problemas
④ Apoyar el diseño del sistema y varios enfoques para el desarrollo;
⑤Apoyar la verificación y verificación de la corrección del software durante el proceso de desarrollo.
⑥Facilitar la inclusión de factores de diseño, reales y de rendimiento en los requisitos del sistema.
⑦Soporte; el trabajo intelectual de los diseñadores y demás personal técnico;
⑧Apoyar la evolución del sistema a lo largo de su ciclo de vida
⑨Sujeto al soporte de la herramienta de automatización; Además, en todas las etapas de desarrollo, los productos de software relevantes deben ser visibles y controlables; los métodos de desarrollo de software deben ser enseñables, transferibles y abiertos, es decir, deben poder adaptarse a nuevas tecnologías, métodos de gestión y nuevas herramientas. es compatible con los estándares existentes.
Referencia:/user5/280156/archives/2008/2090192.shtml