¿Cuál es el proceso de desarrollo de software?
1. Los analistas de sistemas relevantes realizan una comprensión preliminar de las necesidades del usuario y luego enumeran los principales módulos funcionales del sistema que deben desarrollarse utilizando herramientas y software relevantes, así como las funciones secundarias. de cada módulo funcional principal. Qué es un módulo. Para algunos requisitos, cuando las interfaces relevantes son relativamente claras, este paso puede definir inicialmente una pequeña cantidad de interfaces.
2. Los analistas de sistemas realizan una comprensión y un análisis en profundidad de los requisitos y luego 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 principales generales del sistema, qué módulos funcionales secundarios se incluyen en los módulos funcionales principales, y también enumerará las interfaces y funciones de interfaz relevantes.
3. El analista del sistema reconfirma los requisitos con el usuario.
Diseño general
En primer lugar, los desarrolladores necesitan diseñar el sistema de software, que es 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, la estructura organizativa, la división de módulos, la asignación de funciones, el diseño de interfaz, el diseño de operaciones, el diseño de la estructura de datos y el diseño de manejo de errores, proporcionando así una base para el diseño detallado de el software. [2]
Diseño detallado
Con base en el diseño general, los desarrolladores deben realizar un diseño detallado del sistema de software. En el diseño detallado, es necesario describir los principales algoritmos, estructuras de datos, jerarquías de clases y relaciones de llamada involucradas en la implementación de módulos específicos, y explicar las consideraciones de diseño de cada programa (cada módulo o subprograma) en cada nivel del software. Sistema, para que Codificación y prueba. Debe asegurarse de que los requisitos del software estén completamente distribuidos en todo el software. El diseño detallado debe ser lo suficientemente detallado como para permitir la codificación de acuerdo con el informe de diseño detallado.
Codificación
En la etapa de codificación del software, de acuerdo con 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, los desarrolladores comienzan a escribir Programas específicos para implementar las funciones de cada módulo para cumplir con los requisitos del sistema de destino en términos de funciones, rendimiento, interfaces, etc. En un proceso de RD estandarizado, no se realizará más de la mitad, generalmente 1/3, del trabajo de codificación durante todo el proyecto. Como dice el refrán, si el proceso de diseño se completa bien, la eficiencia de la codificación mejorará enormemente. La coordinación del progreso y la cooperación entre diferentes módulos son las más cuidadosas al codificar. Tal vez un pequeño problema del módulo pueda afectar el progreso general, por lo que muchos programadores se ven obligados a dejar de trabajar y esperar. Los planes de comunicación y de contingencia son muy importantes a la hora de codificar. Para los programadores, los errores siempre existirán y debes enfrentar este problema para siempre.
Experimentación
Prueba el sistema escrito. Dáselo al usuario, quien confirmará cada función una por una después de usarla. Hay muchos tipos de pruebas de software: según el ejecutor de la prueba, se puede dividir en pruebas internas y pruebas externas, y según las condiciones de prueba, se puede dividir en pruebas de módulo y depuración general; dividirse en pruebas de operación normal y pruebas de situaciones anormales según la prueba. El rango de entrada se puede dividir en pruebas de cobertura total y pruebas de muestreo; Lo anterior es fácil de entender, así que no lo explicaré. En resumen, las pruebas también son un paso muy importante en el desarrollo del proyecto. Para un software de gran tamaño, es normal realizar entre 3 meses y 1 año de pruebas externas, porque siempre habrá problemas impredecibles. Después de las pruebas, la aceptación y la documentación de ayuda final, todo el proyecto llega a su fin. Por supuesto, habrá actualizaciones, reparaciones, etc. en el futuro. Siempre que no desee engañar al dinero comprando y vendiendo, debe continuar rastreando el estado de ejecución del software y continuar reparándolo y actualizándolo hasta que el software se elimine por completo.
Entrega del software
Después de que las pruebas de software demuestren 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, la guía del usuario y requisitos al usuario Informes, informes de diseño, informes de prueba y otros productos acordados por ambas partes.
El manual de instalación del usuario debe presentar en detalle los requisitos para el entorno de ejecución 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, así como 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 diversas funciones del software, y se deben brindar ejemplos cuando sea necesario.
El primer paso: 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. El cliente confirma el contrato anterior y paga la garantía. Paso 2: Planificación del proyecto. El gerente de producto resolvió la planificación y el diseño del producto, el diseño del prototipo y la lógica funcional, y el proyecto se lanzó oficialmente. Paso 3: Diseño de la interfaz de usuario Parte 4: Desarrollo del programa Paso 5: Pruebas Paso 6: Conéctese El último paso: Mantenimiento posterior.
Análisis
El análisis de requisitos de software consiste en responder a la pregunta de qué hacer. Es un proceso de eliminar la basura y seleccionar lo esencial, eliminar lo falso y retener lo verdadero, comprender correctamente las necesidades del usuario y luego expresarlas en un lenguaje de desarrollo de ingeniería de software (especificación funcional formal, es decir, especificación de requisitos). Las tareas básicas en esta etapa son determinar el problema a resolver con el usuario, establecer el modelo lógico del software, escribir el documento de especificación de requisitos y finalmente obtener la aprobación del usuario. Los principales métodos de análisis de requisitos incluyen métodos 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 definir el diseño específico de cada uno. subsistema, escribir el diseño del esquema del software y las instrucciones de diseño detalladas, las instrucciones de diseño de la base de datos o la estructura de datos y ensamblar planes de prueba.
Diseño
El diseño de software se puede dividir en dos etapas: diseño general y diseño detallado. De hecho, la tarea principal del diseño de software es descomponer el software en módulos. Los módulos se refieren a datos y descripciones de programas que pueden lograr una determinada función y unidades de programa que pueden ejecutar el programa. Puede ser una función, un procedimiento, una subrutina, un programa independiente y datos con una descripción del programa, o puede ser una unidad funcional que puede combinarse, descomponerse y reemplazarse. Módulos, luego diseño de módulos. El diseño de esquema es un diseño estructural y su objetivo principal es dar la estructura del módulo del software y representarlo con 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, los métodos comunes o los métodos de programación estructurada.
Codificación
La codificación de software se refiere a convertir un diseño de software en un programa aceptable para la computadora, es decir, escribir una lista de programas fuente en un determinado lenguaje de programación. Comprender completamente los lenguajes de desarrollo de software, las características de las herramientas y los estilos de programación lo ayudará a elegir herramientas de desarrollo y garantizar la calidad del desarrollo de los productos de software.
En la actualidad, excepto en ocasiones especiales, los lenguajes de alto nivel de la década de 1980 rara vez se utilizan en el desarrollo de software y, en su lugar, se utilizan lenguajes de desarrollo orientados a objetos. Además, el lenguaje de desarrollo orientado a objetos y el entorno de desarrollo están en su mayoría integrados, lo que mejora en gran medida 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 conjunto de casos de prueba excelentes (los datos de prueba y los resultados esperados constituyen casos de prueba). La forma de diseñar un excelente conjunto de casos de prueba depende de la comprensión del 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, que prueba el programa fuente y encuentra errores de programación de software, errores estructurales y errores de datos basándose en la estructura lógica interna del programa. Los errores estructurales incluyen lógica, flujo de datos, inicialización y otros errores. 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 funciones o comportamientos del software, buscando errores estructurales, funcionales y de interfaz del software. Los errores de interfaz incluyen interfaz interna/externa, gestión de recursos, integración y errores del sistema. La clave para el diseño de casos de uso de caja negra es también utilizar menos casos de uso para cubrir las interfaces de salida y entrada del módulo. Método de caja negra.
Mantenimiento
El mantenimiento se refiere a algunas actividades de ingeniería de software realizadas en productos de software después de que el desarrollo del software (análisis, diseño, codificación y pruebas) se completa y se entrega para su uso. Es decir, con base en el funcionamiento del software, realizar las modificaciones apropiadas al software para cumplir con nuevos requisitos y corregir errores encontrados durante la operación. Elaborar informes de problemas de software e informes de modificación de software.
Si la fase de desarrollo de un software de tamaño mediano dura de uno a dos años, entonces puede tardar entre cinco y diez años en ejecutarse o funcionar una vez que se pone en uso. Luego su fase de mantenimiento es también durante los cinco a diez años de funcionamiento.
Durante este período, las personas necesitan resolver casi todos los problemas encontrados durante la fase de desarrollo, así como algunos problemas exclusivos del trabajo de mantenimiento en sí. Hacer un buen trabajo en el mantenimiento del software no sólo puede eliminar obstáculos y hacer que el software funcione normalmente, sino también ampliar funciones y mejorar el rendimiento, lo que aporta beneficios económicos evidentes a los usuarios. Desafortunadamente, el mantenimiento del software a menudo no es tan importante como el desarrollo del software. De hecho, la carga de trabajo y el costo del mantenimiento del software son mucho mayores que los del desarrollo de software.
En el proceso de desarrollo real, el desarrollo de software no va del primer paso al último, sino que en cualquier etapa, suele haber uno o varios pasos atrás antes de pasar a la siguiente etapa. Los problemas durante el proceso de prueba pueden requerir modificaciones de diseño y los usuarios pueden realizar algunas solicitudes para modificar la especificación de requisitos.
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 la discusión 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 esta etapa se realiza bien, sentará una buena base para el desarrollo de todo el proyecto de software. "La única constante es el cambio mismo". De manera similar, los requisitos de software cambian y se profundizan constantemente durante el proceso de desarrollo de software. Por lo tanto, debemos personalizar un plan de cambio de demanda para hacer frente a este cambio y garantizar el progreso normal de todo el proyecto.
3. Diseño de software
En esta etapa, ocasionalmente diseño todo el sistema de software en función de los resultados del análisis de la demanda, como el diseño del marco del sistema y el diseño de la base de datos. El diseño de software generalmente se divide en diseño general y diseño detallado. Un diseño de software mejorado sentará una buena base para la programación de software.
4. Codificación del programa
Esta etapa consiste en convertir los resultados del diseño del software en código de programa ejecutable por computadora. Es necesario desarrollar una especificación de escritura estándar y unificada en la codificación de programas. 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 estrictas. Una vez que se encuentran problemas en todo el proceso de diseño del software, se deben realizar correcciones. Toda la fase de prueba se divide en tres fases: 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.