¿Cuál es el proceso de desarrollo de software?

Análisis de requisitos

1. Los analistas de sistemas relevantes comprenden inicialmente los requisitos de los usuarios y luego utilizan herramientas y software relevantes para enumerar los principales módulos funcionales del sistema a desarrollar. módulo funcional ¿Cuáles son los módulos funcionales pequeños? Para algunas interfaces con requisitos relativamente claros, se puede definir preliminarmente una pequeña cantidad de interfaces en este paso.

2. Los analistas de sistemas tienen una comprensión y un análisis profundos de los requisitos y utilizan WORD o herramientas relacionadas para crear un documento de requisitos funcionales para el sistema de documentos en función de su propia experiencia y necesidades. Este documento enumerará claramente los módulos funcionales generales del sistema, los módulos funcionales pequeños de los módulos funcionales grandes y también enumerará las interfaces relacionadas y las funciones de interfaz.

3. El analista del sistema reconfirma los requisitos con el usuario.

Diseño del esquema

En primer lugar, los desarrolladores deben realizar un diseño del esquema del sistema de software, es decir, el diseño del sistema. El diseño general debe considerar el diseño del sistema de software, incluido el flujo de procesamiento básico del sistema, la estructura organizativa del sistema, la división de módulos, la asignación de funciones, el diseño de la interfaz, el diseño de operaciones, el diseño de la estructura de datos y el diseño de manejo de errores, etc. ., y proporciona información para el diseño detallado del software. [2]

Diseño detallado

Con base en el diseño general, los desarrolladores deben llevar a cabo un diseño detallado del sistema de software. En el diseño detallado, describa los principales algoritmos, estructuras de datos, jerarquías de clases y relaciones de llamada involucradas en la implementación de módulos específicos. Es necesario explicar las consideraciones de diseño de cada programa (cada módulo o subprograma) en cada nivel del sistema de software. codificación y pruebas. Se debe garantizar que los requisitos del software se asignen en su totalidad a todo el software. El diseño detallado debe ser lo suficientemente detallado como para permitir la codificación a partir del informe de diseño detallado.

Codificación

En la etapa de codificación del software, los desarrolladores comienzan a escribir específicamente en función de los requisitos de diseño para la estructura de datos, el análisis de algoritmos y la implementación del módulo en el "Informe de diseño detallado del sistema de software". trabaja para realizar las funciones de cada módulo respectivamente, cumpliendo así los requisitos para las funciones, el rendimiento, las interfaces, las interfaces, etc. del sistema de destino. En el proceso de I + D estandarizado, el trabajo de codificación no excederá la mitad de todo el proceso del proyecto, generalmente 1/3 del tiempo. Como dice el refrán, si el proceso de diseño se completa bien, la eficiencia de la codificación será extremadamente alta. Gran mejora. Lo más importante a tener en cuenta es la coordinación del progreso y la colaboración entre diferentes módulos al codificar. Tal vez un problema con un módulo pequeño pueda afectar el progreso general, lo que obligará a muchos programadores a dejar de trabajar y esperar. en muchos sucedió durante el proceso 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.

Prueba

Prueba el sistema escrito. Entrégueselo al usuario para que lo use y el usuario confirmará cada función una por una después de su uso. Hay muchos tipos de pruebas de software: según el grupo de ejecución de la prueba, se pueden dividir en pruebas internas y pruebas externas, y según las condiciones de prueba, se pueden dividir en pruebas de módulos y depuración conjunta general; se puede dividir en prueba de funcionamiento normal y prueba anormal según el rango de entrada de la prueba, se puede dividir en prueba de cobertura total y prueba de muestreo; Lo anterior es fácil de entender y no es necesario explicarlo. 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 imprevistos. 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. en el futuro, siempre y cuando no intente hacer trampa con el dinero. transacciones únicas, debe realizar un seguimiento constante del estado del funcionamiento del software y continuar parcheando y actualizando hasta que este software se elimine por completo.

Entrega del software

Después de que la prueba del software demuestre que el software cumple con los requisitos, el desarrollador del software debe enviar el programa de instalación de destino desarrollado, el diccionario de datos de la base de datos, el "Manual de instalación del usuario", " Guía de usuario, informe de requisitos, informe de diseño, informe de prueba y otros productos acordados en el contrato entre las dos partes.

El "Manual de instalación del usuario" debe presentar en detalle los requisitos para el entorno operativo del software de instalación, la definición y el contenido del software de instalación, los pasos de instalación específicos en el cliente, servidor y middleware, y la configuración del sistema después de la instalación.

La "Guía del usuario" debe incluir el proceso de uso, los pasos operativos, la introducción comercial correspondiente, consejos y precauciones especiales para cada función del software, y también debe proporcionar ejemplos cuando sea necesario.

El primer paso es la negociación empresarial.

Primero comprenda las necesidades del cliente, haga un plan preliminar basado en la consulta del cliente y proporcione una cotización después de que el cliente verifique que no hay problemas. Después de que el cliente confirme el contrato y pague el depósito. Paso 2: Planificación del proyecto. El gerente de producto realiza la planificación y el diseño del producto, la planificación del diseño del prototipo, la clasificación de la lógica funcional y el lanzamiento oficial del proyecto. Paso tres: Diseño de la interfaz de usuario Parte cuatro: Desarrollo del programa Paso cinco: Pruebas Paso seis: Conexión en línea Último paso: Mantenimiento posterior

Análisis

El análisis de los requisitos de software es responder a la pregunta de qué hacer. . Es un proceso de comprensión correcta de las necesidades del usuario eliminando la basura y seleccionando lo esencial, descartando lo falso y reteniendo lo verdadero, y luego expresándolo en un lenguaje de desarrollo de ingeniería de software (especificaciones funcionales formales, es decir, especificaciones de requisitos). Las tareas básicas en esta etapa son trabajar con los usuarios para determinar los problemas a resolver, establecer un modelo lógico del software, escribir documentos de especificación de requisitos y, en última instancia, obtener la aprobación del usuario. Los principales métodos de análisis de requisitos incluyen métodos de análisis estructurados, diagramas de flujo de datos y diccionarios de datos. El trabajo en esta etapa es diseñar y establecer la arquitectura del sistema de software correspondiente de acuerdo con los requisitos de la declaración de requisitos, descomponer todo el sistema en varios subsistemas o módulos, definir las relaciones de interfaz entre subsistemas o módulos y realizar diseños específicos para Definir cada subsistema, escribir el diseño del esquema del software y las especificaciones de diseño detalladas, las especificaciones de diseño de la base de datos o de la estructura de datos y ensamblar planes de prueba.

Diseño

El diseño de software se puede dividir en dos etapas: diseño del esquema y diseño detallado. De hecho, la tarea principal del diseño de software es descomponer el software en módulos, que se refieren a unidades de datos y descripciones de programas y programas ejecutables que pueden realizar una determinada función. Puede ser una función, procedimiento, subrutina, un programa independiente y datos con descripción del programa, o puede ser una unidad funcional que puede combinarse, descomponerse y reemplazarse. módulo y luego realizar el diseño del módulo. El diseño de esquema es un diseño estructural y su objetivo principal es dar la estructura del módulo del software, representada por un diagrama de estructura del software. La tarea principal del diseño detallado es diseñar el flujo del programa, el algoritmo y la estructura de datos del módulo, y la tarea secundaria es diseñar la base de datos. El método común sigue siendo el método de programación estructurada.

Codificación

La codificación de software se refiere a convertir el diseño de software en un programa aceptable para la computadora, es decir, escribir una "lista de programas fuente" expresada en un determinado lenguaje de programación. Comprender completamente las características y estilos de programación de los lenguajes, herramientas y estilos de programación de desarrollo de software lo ayudará a seleccionar herramientas de desarrollo y garantizar la calidad de desarrollo de los productos de software.

En el desarrollo de software actual, excepto en ocasiones especiales, los lenguajes de alto nivel de la década de 1980 rara vez se utilizan y en su lugar se utilizan lenguajes de desarrollo orientados a objetos. Además, la mayoría de los lenguajes y entornos de desarrollo orientados a objetos están integrados en uno, lo que mejora enormemente la velocidad de desarrollo.

Pruebas

El propósito de las pruebas de software es encontrar tantos errores como sea posible a un pequeño costo. La clave para lograr este objetivo es diseñar un buen conjunto de casos de prueba (los datos de prueba y los resultados esperados constituyen el caso de prueba). La clave para diseñar un excelente conjunto de casos de prueba radica en comprender el método de prueba. Los diferentes métodos de prueba tienen diferentes métodos de diseño de casos de prueba. Dos métodos de prueba comúnmente utilizados son el método de caja blanca. El objeto de prueba es el programa fuente, que se basa en la estructura lógica interna del programa para descubrir errores de programación de software, errores estructurales y errores de datos. Los errores estructurales incluyen errores de lógica, flujo de datos, inicialización, etc. La clave para el diseño de casos de uso es cubrir tantos resultados de lógica interna del programa como sea posible con menos casos de uso. El método de la caja blanca y el método de la caja negra se basan en la descripción de la función o el comportamiento del software y encuentran errores en la interfaz, función y estructura del software. Los errores de interfaz incluyen interfaces internas/externas, gestión de recursos, integración y errores del sistema. La clave para el diseño de casos de uso del método de caja negra es también cubrir las interfaces de entrada y salida del módulo con menos casos de uso. Método de caja negra.

Mantenimiento

El mantenimiento se refiere a algunos trabajos de ingeniería de software realizados en el producto de software después de que el desarrollo (análisis, diseño, codificación y pruebas) del software se haya completado y entregado para su uso. Actividad. Es decir, en función de las condiciones de ejecución del software, realizar las modificaciones apropiadas en el software para adaptarse a los nuevos requisitos y corregir los errores encontrados durante la operación. Elaborar informes de problemas de software e informes de modificación de software.

Para un software de tamaño mediano, si la etapa de desarrollo demora de uno a dos años, luego de su puesta en uso, su operación o tiempo de trabajo puede durar de cinco a diez años. Luego su fase de mantenimiento es también durante los cinco a diez años de funcionamiento. Durante este período, las personas deben comenzar a resolver casi todos los problemas encontrados en la etapa de desarrollo y, al mismo tiempo, resolver algunos problemas exclusivos del trabajo de mantenimiento en sí.

Hacer un buen trabajo en el mantenimiento del software no solo puede eliminar obstáculos para que el software pueda funcionar normalmente, sino también permitirle ampliar sus funciones, mejorar el rendimiento y brindar beneficios económicos obvios a los usuarios. Desafortunadamente, sin embargo, el énfasis en el mantenimiento del software es a menudo mucho menor que el énfasis en el desarrollo de software. De hecho, en comparación con el trabajo de desarrollo de software, la carga de trabajo y el costo del mantenimiento del software son mucho mayores.

En el proceso de desarrollo real, el desarrollo de software no avanza desde el primer paso hasta el último, pero en cualquier etapa, generalmente hay uno o varios pasos de retroceso antes de pasar a la siguiente etapa. Los problemas durante el proceso de prueba pueden requerir modificaciones de diseño y los usuarios pueden plantear algunas necesidades para modificar la especificación de requisitos, etc.

El desarrollo de software generalmente se divide en cinco etapas:

1. Definición y planificación del problema.

2. Análisis de requisitos.

3. diseño

4. Codificación del programa

5. Pruebas de software

6. Mantenimiento del software

El desarrollo de software generalmente se divide en cinco etapas:

1. Definición y planificación del problema

Esta etapa es una discusión conjunta del desarrollo y los requisitos del software, principalmente para determinar los objetivos de desarrollo y la viabilidad del software.

2. Análisis de requisitos

Después de determinar la viabilidad del desarrollo de software, realice un análisis de demanda detallado de cada función que el software necesita implementar. La etapa de análisis de requisitos es una etapa muy importante. Si se hace bien, esta etapa sentará una buena base para el desarrollo de todo el proyecto de software. "La única constante es el cambio en sí". De manera similar, los requisitos del software cambian y se profundizan constantemente durante el proceso de desarrollo del software. Por lo tanto, debemos personalizar un plan de cambio de demanda para hacer frente a dichos cambios y proteger el progreso normal de todo el proyecto.

3. Diseño de software

En esta etapa, todo el sistema de software debe diseñarse en función de los resultados del análisis de la demanda, como el diseño del marco del sistema, el diseño de la base de datos, etc. El diseño de software generalmente se divide en diseño general y diseño detallado. El diseño de software avanzado sentará una buena base para la redacción de programas de software.

4. Codificación del programa

Esta etapa consiste en convertir los resultados del diseño del software en código de programa que pueda ejecutarse en la computadora. En la codificación de programas, se deben formular especificaciones de escritura unificadas y estándar. Garantizar la legibilidad y mantenibilidad del programa. Mejorar la eficiencia de ejecución del programa.

5. Pruebas de software

Una vez completado el diseño del software, se deben realizar pruebas rigurosas. Una vez que se descubren los problemas del software durante todo el proceso de diseño del software, se deben corregir. Toda la fase de prueba se divide en tres etapas: prueba unitaria, prueba de ensamblaje y prueba del sistema. Los métodos de prueba incluyen principalmente pruebas de caja blanca y pruebas de caja negra.