¿Cuáles son las etapas de un enfoque de desarrollo basado en arquitectura?
Existen muchos métodos de desarrollo de sistemas de información y los desarrolladores pueden elegir el método de desarrollo adecuado según las necesidades del proyecto. En vista de la práctica actual o el examen de los pares desarrolladores de software, revisemos los métodos más utilizados en el desarrollo de software en su conjunto.
Enfoque Estructurado: El Enfoque Estructurado, también conocido como el nuevo enfoque del ciclo de vida, es la herencia y el desarrollo del enfoque del ciclo de vida, y es una combinación del enfoque del ciclo de vida y las ideas de programación estructurada.
El método estructurado es uno de los métodos de desarrollo más utilizados. De acuerdo con el ciclo de vida del sistema de información, se aplica el método de desarrollo del sistema estructurado para dividir todo el proceso de desarrollo del sistema en varias etapas y luego continuar en secuencia. El trabajo de la etapa anterior es la base del trabajo de la etapa posterior. ; cada etapa se divide en pasos de trabajo detallados, proceda en secuencia.
Características: De arriba hacia abajo, etapas y pasos claros. Divida todo el proceso de desarrollo del sistema en varias etapas y luego proceda paso a paso.
La etapa anterior es la base para la siguiente etapa de trabajo. Cada etapa se divide en pasos de trabajo detallados y operaciones secuenciales.
Método orientado a objetos: El método orientado a objetos (Object-OrientedMethod) es un método sistemático que aplica ideas orientadas a objetos al proceso de desarrollo de software y guía las actividades de desarrollo. Se le conoce como OO (. Método orientado a objetos). Basado en el concepto de "objeto". El concepto de "objeto" es la base de este método.
Un objeto es una encapsulación compuesta de datos y operaciones permitidas. Tiene una correspondencia directa con entidades objetivas. Una clase de objeto define un grupo de objetos con. propiedades similares. Características: Objeto: Un objeto es cualquier cosa que se desee estudiar.
Clase: Una clase es una plantilla para un objeto. Es decir, una clase es una definición de un grupo de objetos con el mismo. datos y las mismas operaciones. Los métodos y datos contenidos describen el mismo comportamiento y propiedades de un grupo de objetos.
Una clase es una abstracción de un objeto, y un objeto es la concretización de una clase y una. instancia de clase. Una clase puede tener sus propias subclases. Las clases también pueden tener otras clases, formando así una jerarquía de clases.
Mensaje: Un mensaje es una especificación para la comunicación entre objetos. el objeto que recibe el mensaje, el nombre del mensaje y la variable real.
La herencia significa que, en algunos casos, una clase tendrá "subclases" que son más especializadas que la clase original (llamada clase padre).
Hereda las propiedades y comportamientos de la clase padre, y también puede contener sus propias propiedades y comportamientos.
Polimorfismo: El polimorfismo (polimorfismo) se refiere a la creación de diferentes clases relacionadas a través de la herencia. , cuyos objetos son los mismos. La respuesta al mensaje es diferente.
Abstracción: La abstracción es un método para simplificar problemas complejos de la vida real. Encuentra la definición de clase más adecuada para el problema específico y la utiliza. herencia más apropiada. Explique el problema a nivel.
La encapsulación es una tecnología de ocultación de información, que se refleja en la descripción de la clase y es una característica importante del objeto. La herencia es la herencia de subclases de sus padres. Un mecanismo para compartir automáticamente datos y métodos entre clases.
Cuando diferentes objetos reciben el mismo mensaje, pueden ocurrir operaciones completamente diferentes.
Usando el polimorfismo, los usuarios pueden enviar mensajes genéricos y dejar todos los detalles de implementación al objeto receptor, de modo que el mismo mensaje pueda llamar a diferentes métodos
Método de modelo prototipo: el primer paso es construir un. Prototipo rápido para permitir a los clientes o futuros usuarios interactuar con el sistema. Después de discutir y comunicarse con el usuario sobre el prototipo, se aclaran los requisitos para comprender realmente cómo es el producto de software que el usuario necesita. >Una vez comprendido en su totalidad, el prototipo se utiliza para desarrollar un producto que satisfaga al usuario.
En la práctica, el prototipo se suele realizar en estrecha colaboración con la empresa desarrolladora durante el proceso de análisis y definición de requisitos. El ciclo de desarrollo es largo. El desarrollo se verá afectado por los cambios en los requisitos. Características: Implementar la interacción entre los clientes y los sistemas.
Mejorar aún más los requisitos del software a desarrollar. Los desarrolladores pueden determinar las verdaderas necesidades de los clientes.
Método del modelo en cascada: es un modelo clásico del ciclo de vida del software. El desarrollo de software generalmente se divide en análisis de viabilidad (planificación), análisis de requisitos, diseño de software (diseño de esquema, diseño detallado) y codificación (incluidas las pruebas unitarias). ), fases de prueba, operación y mantenimiento.
Planificación → Análisis de Requerimientos → Diseño → Codificación → Pruebas → Operación y Mantenimiento Características: Las actividades de desarrollo de software se llevan a cabo de forma estrictamente lineal.
La actividad actual recibe los resultados del trabajo de la actividad anterior. Los resultados de la actividad actual requieren validación.
Desventajas: Dado que el modelo de desarrollo es lineal, aumenta los riesgos de desarrollo.
Es posible que los errores iniciales no se descubran hasta más adelante en el desarrollo.
Método del modelo en espiral: El modelo en espiral es un modelo de proceso de desarrollo de software evolutivo que tiene en cuenta la naturaleza iterativa del desarrollo rápido de prototipos y el seguimiento sistemático y estricto del modelo en cascada. La característica más importante del modelo en espiral es la introducción del análisis de riesgos, que otros modelos no tienen. De esta manera, cuando el software no puede eliminar riesgos importantes, tiene la oportunidad de detenerse para minimizar las pérdidas. Al mismo tiempo, construir un prototipo en cada iteración también es una forma de minimizar el riesgo en el modelo en espiral. El modelo en espiral es más adecuado para aplicaciones de software a nivel de sistema grandes y costosas. Planificación → Análisis de riesgos → Ingeniería de implementación (validación de requisitos, requisitos de software, diseño de productos de software, verificación y certificación de diseño, diseño detallado, desarrollo, pruebas) → Evaluación del cliente Características: El modelo en espiral es una combinación del modelo de creación rápida de prototipos y el modelo en cascada. . Enfatiza el análisis de riesgos que otros modelos ignoran. Cada modelo en espiral consta de 4 pasos: planificación, análisis de riesgos, ingeniería de implementación y evaluación del cliente. Desventajas: Es difícil convencer a los usuarios de que los resultados de este enfoque evolutivo son controlables. El ciclo de construcción es largo y la tecnología del software se desarrolla relativamente rápido. Por lo tanto, a menudo sucede que una vez finalizado el desarrollo del software, existe una gran brecha con el nivel técnico actual y no puede satisfacer las necesidades actuales del usuario. El modelo en espiral es adecuado para proyectos: para proyectos de desarrollo recientes con requisitos poco claros, el modelo en espiral es adecuado para el desarrollo para facilitar el control de riesgos y los cambios en la demanda. Modelo de desarrollo ágil: el desarrollo ágil se centra en la evolución de las necesidades del usuario y utiliza un enfoque iterativo y paso a paso para el desarrollo de software. En el desarrollo ágil, los proyectos de software se dividen en múltiples subproyectos al comienzo de la construcción. Los resultados de cada subproyecto deben probarse y tener las características de visualización, integración y operabilidad. En otras palabras, un proyecto grande se divide en varios proyectos pequeños que están interrelacionados y se pueden ejecutar de forma independiente y se completan por separado. Durante este proceso, el software siempre está disponible. Características: desarrollo de ciclo corto. Desarrollo incremental. Las pruebas automatizadas son escritas por programadores y evaluadores para monitorear el progreso del desarrollo. Comunicar la estructura y la intención del sistema a través de comunicación verbal, pruebas y código fuente. Escribir código de prueba antes de escribir código también se denomina prueba primero. Desventajas: la formación de equipos es difícil y los requisitos de personal son elevados. Los evaluadores deben dominar completamente la programación en varios lenguajes de programación y poder realizar pruebas unitarias.