Red de conocimiento informático - Conocimiento informático - Acerca de cómo desarrollar software utilizando métodos de desarrollo de software orientados a objetos, hable de mi propia experiencia, 3000 palabras.

Acerca de cómo desarrollar software utilizando métodos de desarrollo de software orientados a objetos, hable de mi propia experiencia, 3000 palabras.

Con el rápido desarrollo del mundo de la informática y la mejora de la industria del software, el software está en todas partes de nuestras vidas, pero la industria del software también ha surgido. Pero como experto en la industria de TI, lo que considero no son estos problemas, sino cómo utilizar un buen método de desarrollo de software para desarrollar un buen software. Ahora, entre los muchos métodos de desarrollo de software, elijo el método orientado a objetos para hablar sobre mis puntos de vista personales. ¿Por qué elegirlo? Porque este método es el más utilizado ahora y la mayoría de los desarrolladores adoptan el método orientado a objetos.

Hablando de orientación a objetos, hay muchos artículos en esta área. Sin embargo, hay muy pocas definiciones de objetos claramente dadas o explicadas; al menos yo no he encontrado ninguna. Inicialmente, "orientado a objetos" se refiere a métodos de diseño como la encapsulación, la herencia y la abstracción utilizados en la programación. Sin embargo, es evidente que esta definición ya no es adecuada a la situación actual. El pensamiento orientado a objetos ha estado involucrado en todos los aspectos del desarrollo de software. Por ejemplo, a menudo hablamos de OOA (análisis orientado a objetos), OOD (diseño orientado a objetos) y OOP (programación orientada a objetos). Muchos artículos sobre orientación a objetos tratan solo sobre cuestiones a las que se debe prestar atención en el desarrollo orientado a objetos o sobre mejores métodos de diseño que se deben adoptar. Solo después de leer estos artículos podrá comprender realmente qué es un objeto y qué es la orientación a objetos, y podrá beneficiarse al máximo. Para los principiantes, o incluso para las personas que se han dedicado a trabajos relacionados durante muchos años, el concepto puede resultar vago.

La orientación a objetos es el foco de la industria informática actual y la corriente principal de los métodos de desarrollo de software en la década de 1990. Los conceptos y aplicaciones orientados a objetos han trascendido el alcance de la programación y el desarrollo de software y se han expandido a un alcance más amplio. Como sistemas de bases de datos, interfaces interactivas, estructuras de aplicaciones, plataformas de aplicaciones, sistemas distribuidos, estructuras de gestión de redes, tecnología CAD, inteligencia artificial y otros campos.

No importa qué método se utilice para desarrollar software, el proceso de análisis es el proceso de extracción de requisitos del sistema. El análisis incluye principalmente tres contenidos: comprensión, expresión y verificación. En primer lugar, los analistas de sistemas se esfuerzan por comprender plenamente las necesidades del usuario y los conocimientos previos clave dentro del dominio de la aplicación a través de una comunicación total entre los usuarios y los expertos del dominio, y expresar esta comprensión en documentos de alguna manera ambigua. El documento más importante obtenido durante el proceso de análisis es la especificación de requisitos de software (en el análisis orientado a objetos, consta principalmente de modelo de objetos, modelo dinámico y modelo funcional).

Debido a la complejidad del problema y la comunicación aleatoria e informal entre las personas, el proceso de comprensión anterior generalmente no puede lograr el efecto de una comprensión única. Por lo tanto, es necesario verificar más a fondo la exactitud, integridad y validez de las especificaciones de requisitos del software y corregir los problemas si se encuentran. Obviamente, el proceso de análisis de requisitos es un proceso de comunicación y modificación repetidas entre analistas de sistemas, usuarios y expertos en el dominio. Es decir, el proceso de comprensión y verificación suele ser iterativo, y los sistemas prototipo suelen servir como herramientas auxiliares.

La clave del análisis orientado a objetos (OOA) es identificar clases y objetos en el dominio del problema, analizar las relaciones entre ellos y, en última instancia, establecer un modelo correcto conciso, preciso y comprensible del dominio del problema. Entre los tres modelos establecidos desde la perspectiva orientada a objetos, el modelo de objetos es el más básico, importante y central.

Echemos un vistazo a los métodos de desarrollo orientados a objetos.

1. El Primer Ministro nos cuenta qué es la orientación a objetos:

(1) Objeto: Un objeto es cualquier cosa que la gente quiera estudiar, desde los números enteros más simples hasta aviones complejos. . No sólo puede representar cosas concretas, sino también reglas, planes o eventos abstractos.

(2) El estado y comportamiento del objeto.

El objeto tiene un estado y el objeto utiliza valores de datos para describir su estado.

Los objetos también tienen operaciones que cambian el estado del objeto. El objeto y sus operaciones son el comportamiento del objeto.

Los objetos realizan la combinación de datos y operaciones, de modo que los datos y las operaciones quedan encapsulados en la unidad de los objetos.

(3) Clase: La abstracción de objetos con atributos iguales o similares es una clase. Entonces la abstracción de un objeto es una clase y la concretización de una clase es un objeto. También se puede decir que una instancia de una clase es un objeto.

Las clases tienen atributos, que son abstracciones de los estados de los objetos. Las estructuras de datos se utilizan para describir las propiedades de una clase.

Una clase tiene una operación. La operación es una abstracción del comportamiento del objeto y se describe mediante el nombre de la operación y el método para implementar la operación.

(4) Estructura de clases: Hay varias clases en el mundo objetivo y existen ciertas relaciones estructurales entre estas clases. Generalmente existen dos relaciones estructurales principales, a saber, relaciones estructurales generales específicas y relaciones estructurales de parte completa.

①La estructura específica general se denomina estructura de clasificación, y también se puede decir que es una relación "o" o una relación "es una".

②La estructura general de las piezas se denomina estructura de ensamblaje y la relación entre ellas es una relación y o una relación.

(5) Mensajes y métodos: La estructura de comunicación entre objetos se denomina mensaje. En las operaciones de objetos, cuando se envía un mensaje a un objeto, el mensaje contiene información de que el objeto receptor realizará una determinada operación. El envío de un mensaje debe incluir al menos el nombre del objeto que recibe el mensaje y el nombre del mensaje enviado al objeto (es decir, el nombre del objeto y el nombre del método). A menudo, es necesario interpretar parámetros, que pueden ser nombres de variables conocidos por los objetos que conocen el mensaje, o nombres de variables globales conocidos por todos los objetos.

2. Entendamos las características y elementos de la orientación a objetos:

(1) Unicidad del objeto. (2) Clasificación. (3) Herencia. (4) Polimorfismo

Elementos orientados a objetos: (1) Abstracción. (2) Encapsulación (ocultación de información). (3) ***Disfruta

3. La diferencia entre orientado a objetos y basado en objetos:

Muchas personas no distinguen entre "orientado a objetos" y "basado en objetos". ". Las tres características de la orientación a objetos (encapsulación, herencia y polimorfismo) son indispensables. Normalmente, "basado en objetos" utiliza objetos, pero no es posible utilizar plantillas de objetos existentes para generar nuevos tipos de objetos, lo que significa que "basado en objetos" no tiene propiedades de herencia. Sin embargo, el "polimorfismo" se expresa como instancias de objetos de subclase de un tipo de clase principal. Sin el concepto de herencia no habría "polimorfismo". Muchas tecnologías populares hoy en día están basadas en objetos. Utilizan algún objeto encapsulado, llaman a métodos de objeto y establecen propiedades de objeto. Pero no permiten a los programadores derivar nuevos tipos de objetos. Sólo pueden utilizar métodos y propiedades de objetos existentes. Entonces, cuando juzgas si una nueva tecnología está orientada a objetos, generalmente puedes usar las dos últimas características para juzgar. Tanto "orientado a objetos" como "basado en objetos" implementan el concepto de "encapsulación", pero el orientado a objetos implementa "herencia y polimorfismo", mientras que el "basado en objetos" no los implementa.

Según la división del trabajo, las personas involucradas en la programación orientada a objetos se pueden dividir en "creadores de bibliotecas de clases" y "usuarios de bibliotecas de clases". No todas las personas que utilizan bibliotecas de clases tienen un pensamiento orientado a objetos. Por lo general, saben cómo heredar y derivar nuevos objetos y pueden utilizar bibliotecas de clases. Sin embargo, nuestra forma de pensar no ha cambiado realmente. El uso de una biblioteca de clases solo está orientado a objetos y es esencialmente una extensión de las funciones de la biblioteca.

La orientación a objetos es una forma de pensar y pensar en las cosas. Generalmente se refleja en si utilizamos un proceso para resolver problemas o abstraer problemas en objetos. Muchas veces utilizamos inconscientemente un enfoque de proceso para resolver problemas en lugar de abstraer el problema a resolver en un objeto a resolver. Algunas personas hacen programación procedimental bajo la apariencia de programación orientada a objetos.

Después de tener una cierta comprensión de la metodología orientada a objetos, podemos saber que el punto de partida y principio fundamental de la metodología orientada a objetos es simular en la medida de lo posible la forma en que los humanos estamos acostumbrados a pensar, de modo que Los métodos y procesos de desarrollo de software deben estar lo más cerca posible de los métodos y procesos mediante los cuales los humanos comprenden el mundo y resuelven problemas, incluso si el espacio del problema que describe el problema (también llamado dominio del problema) y el espacio de solución que realiza que la solución (también llamada dominio de solución) sea lo más consistente posible.

4. En comparación con la metodología tradicional, la metodología orientada a objetos tiene grandes ventajas:

1.

La tecnología de programación tradicional es un método de diseño orientado a procesos. Este enfoque está centrado en la computación y trata los datos y los procesos como partes independientes. Los datos representan objetos en el espacio del problema y se utiliza código de programa para procesar estos datos. La metodología orientada a objetos toma los objetos como núcleo y los sistemas de software desarrollados con esta tecnología están compuestos de objetos.

2. Buena estabilidad.

El método tradicional de desarrollo de software se basa en el cálculo y el proceso de desarrollo se basa en el análisis funcional y la descomposición funcional, por lo que es muy inestable. La base de la metodología orientada a objetos es construir un modelo de objeto de la vecindad del problema y construir un sistema de software centrado en el objeto. El método básico es utilizar objetos para simular entidades en la vecindad del problema y utilizar relaciones entre objetos para describir relaciones entre entidades.

Debido a que las entidades en el mundo real son relativamente estables, los sistemas de software basados ​​en objetos también lo son.

3. Buena reutilización.

La tecnología tradicional de reutilización de software consiste en utilizar bibliotecas de funciones estándar, es decir, intentar utilizar las funciones de la biblioteca de funciones estándar como "piezas prefabricadas" para construir un nuevo sistema de software. Sin embargo, las funciones estándar carecen de la "flexibilidad" necesaria para satisfacer las diferentes necesidades de diferentes aplicaciones y, en ocasiones, son componentes de software reutilizables ideales. En el desarrollo real de un nuevo sistema de software, la mayoría de las funciones generalmente las escriben los propios desarrolladores, o incluso la mayoría de las funciones se compilan recientemente.

La tecnología de software orientada a objetos tiene una gran flexibilidad a la hora de utilizar componentes de software existentes para construir nuevos sistemas de software. Hay dos formas de reutilizar una clase de objeto: una es crear una instancia de la clase y usarla directamente, y la otra es derivar de ella una nueva clase que satisfaga las necesidades actuales. La reutilización que logra es natural y precisa, no tan deliberada como los métodos tradicionales.

4. Es más fácil desarrollar productos de software a gran escala.

Al desarrollar productos de software a gran escala, los métodos inadecuados de organización de los desarrolladores suelen ser la principal causa de los problemas. Cuando se utilizan métodos orientados a objetos, cada objeto que compone un sistema de software es como un microprograma, con sus propios datos, operaciones, funciones y propósitos. Por lo tanto, un producto de software de gran tamaño se puede dividir en una serie de procesos esencialmente independientes orientados al producto, lo que facilita el desarrollo de software de gran tamaño.

5. Buen mantenimiento.

El software desarrollado con métodos tradicionales y lenguajes orientados a procesos es difícil de mantener, pero los métodos orientados a objetos tienen buena mantenibilidad por las siguientes razones.

Factor: El software orientado a objetos es estable.

El software orientado a objetos es más fácil de modificar.

El software orientado a objetos es más fácil de entender.

El software orientado a objetos es fácil de probar y depurar.

Finalmente:

En la actualidad, la investigación sobre métodos de desarrollo orientado a objetos se ha vuelto cada vez más madura y han aparecido muchos productos orientados a objetos a nivel internacional. Creo que este método no sólo es aplicable ahora, sino que también lo utilizará un número considerable de desarrolladores en el futuro.