¿Qué es la arquitectura del sistema?

Pregunta 1: ¿Qué significa "arquitectura del sistema"? ¿Qué estructuras hay? JDE pertenece a una arquitectura distribuida, personas y sistemas. Perdóneme por mi ignorancia, nunca he oído hablar de ella.

Pregunta 2: ¿Qué son la arquitectura de software y la arquitectura de sistema? ¿Qué cosas de la vida se pueden utilizar como metáforas? La arquitectura de software se refiere a la estructura organizativa general del software. Es un análisis y diseño a un nivel superior, que refleja la planificación general, la toma de decisiones, el control, etc.

La arquitectura del sistema incluye software, hardware, red y otras estructuras organizativas. La arquitectura es una etapa de alto nivel de análisis y diseño. No involucra los detalles de la implementación técnica. Es un plano, planificación y toma de decisiones.

En la vida real, se puede comparar con los dibujos de diseño de edificios de gran altura.

Pregunta 3: ¿Qué es la arquitectura? Arquitectura generalmente se refiere a la arquitectura de software.

(arquitectura de software) es una serie de patrones abstractos relacionados que se utilizan para guiar el diseño de todos los aspectos de grandes sistemas de software. . La arquitectura del software es un bosquejo de un sistema. Los objetos descritos por la arquitectura del software son componentes abstractos que constituyen directamente el sistema. Las conexiones entre cada componente describen la comunicación entre componentes de forma clara y relativamente cuidadosa. En la fase de implementación, estos componentes abstractos se refinan hasta convertirlos en componentes reales, como una clase u objeto específico. En el campo de la orientación a objetos, la conexión entre componentes suele realizarse mediante interfaces (informática). La arquitectura del software es la base sobre la que se construyen las prácticas de software informático. Así como un arquitecto establece los principios y objetivos de diseño de un proyecto de construcción como base para los dibujos de un dibujante, un arquitecto de software o arquitecto de sistemas establece la arquitectura de software como la base para soluciones de diseño de sistemas reales que satisfacen diversas necesidades de los clientes.

La arquitectura de software es un concepto fácil de entender. La mayoría de los ingenieros (especialmente aquellos con poca experiencia) lo entenderán de forma intuitiva, pero es difícil dar una definición precisa. En particular, es difícil distinguir claramente entre diseño y arquitectura: la arquitectura es un aspecto del diseño que se centra en ciertas características específicas.

En "Introducción a la arquitectura de software", David Garlan y Mary Shaw creen que la arquitectura de software es el nivel de diseño relacionado con las siguientes cuestiones: "Además de calcular algoritmos y estructuras de datos, diseñar y determinar la estructura general Las cuestiones estructurales incluyen la organización general y las estructuras de control global; la escala y el rendimiento de los elementos de diseño; .” GS93

Pero la arquitectura es más que solo estructura; el Grupo de Trabajo sobre Arquitectura del IEEE la define como "el concepto de más alto nivel de un sistema en su entorno" IEEE98. La arquitectura también incluye la "conformidad" con la integridad del sistema, las limitaciones económicas, los requisitos estéticos y el estilo. No solo presta atención a consideraciones internas, sino que también considera el sistema como un todo en el entorno del usuario y el entorno de desarrollo del sistema, es decir, también presta atención a consideraciones externas.

En el Proceso Unificado Racional, la arquitectura de un sistema de software (en un punto determinado) se refiere a la organización o estructura de los componentes importantes del sistema, que están compuestos por interfaces y componentes e interfaces cada vez más pequeños. interactuar.

La arquitectura del software se puede comparar con la arquitectura de un edificio en su conexión con el propósito, el tema, los materiales y la estructura. Un arquitecto de software necesita tener un amplio conocimiento de la teoría del software y la experiencia correspondiente para implementar y gestionar el diseño de alto nivel de productos de software. Los arquitectos de software definen y diseñan la modularidad del software, las interacciones entre módulos, los estilos de interfaz de usuario, los métodos de interfaz externa, las características de diseño innovadoras y las operaciones, lógica y procesos de objetos para cosas de alto nivel.

En términos generales, la arquitectura de un sistema de software tiene dos elementos:

? Es la división de más alto nivel de un sistema de software del todo a sus partes.

Un sistema suele estar compuesto de componentes, y cómo se forman estos componentes y cómo interactúan entre sí es información importante sobre la estructura del sistema en sí.

Para ser más específicos, incluye el componente de arquitectura, el conector y el flujo de tareas. Los llamados elementos arquitectónicos son los ladrillos centrales que componen el sistema, y ​​los conectores describen las rutas de comunicación, los mecanismos de comunicación y los resultados esperados de la comunicación entre estos componentes. El flujo de tareas describe cómo el sistema utiliza estos componentes y conectores para completar. requisitos de una determinada tarea.

?Las decisiones técnicas y comerciales de más alto nivel que se toman en la construcción de un sistema y que son difíciles de cambiar más adelante.

Hay muchas decisiones importantes que deben tomarse antes de construir un sistema, y ​​una vez que el sistema comienza a someterse a un diseño detallado o incluso a su construcción, estas decisiones son difíciles o incluso imposibles de cambiar. Obviamente, tal decisión debe ser la decisión más importante con respecto al éxito o fracaso del diseño del sistema y debe estudiarse y examinarse con mucho cuidado.

Para obtener más información, consulte

...gt;gt;

Pregunta 4: ¿Qué son los ingenieros de sistemas y los ingenieros de arquitectura de sistemas? La calificación de un ingeniero de sistemas es tener un alto nivel de habilidades profesionales, ser capaz de analizar las necesidades comerciales y utilizar diversas plataformas de sistemas y software de servidor para diseñar e implementar la infraestructura de soluciones comerciales.

El arquitecto del sistema es el líder técnico de proyectos a gran escala y es responsable general del diseño arquitectónico y la guía del sistema.

Pregunta 5: ¿Qué es la arquitectura del sistema distribuido baike.baidu/view/9914hai9 Enciclopedia Baidu

Pregunta 6: ¿Qué son la arquitectura, la arquitectura del sistema, la arquitectura técnica y la arquitectura relacional? /p>

es una descripción abstracta de la estructura general y los componentes del software y se utiliza para guiar el diseño de todos los aspectos de grandes sistemas de software.

Arquitectura del sistema

Consiste en implementar la arquitectura técnica de las necesidades identificadas, hacer buenos planes y utilizar un conjunto completo de herramientas para completar las tareas en los pasos planificados.

Arquitectura técnica

Evaluar y analizar el marco y modelos de organizaciones, redes y programas a través de métodos de evaluación razonables y completos, y mejorarlos.

Arquitectura de la aplicación

Describe la composición y el marco del sistema en forma de un diagrama de arquitectura y, en general, diséñalo desde las dos perspectivas arquitectónicas de la función del sistema y el nivel de tecnología del sistema.

Pregunta 7: ¿Cuáles son las responsabilidades del arquitecto del sistema? Las principales responsabilidades del arquitecto del sistema son las siguientes:

1. Confirmar los requisitos

En el proyecto Durante el proceso de desarrollo, el arquitecto interviene después de que se completa la especificación de requisitos, y la especificación de requisitos debe ser aprobada por el arquitecto. Los arquitectos necesitan comunicarse repetidamente con los analistas para asegurarse de que comprendan las necesidades de los usuarios de forma completa y precisa.

2. Descomposición del sistema

Según las necesidades del usuario, los arquitectos descomponen todo el sistema en subsistemas y componentes más pequeños para formar diferentes capas lógicas o servicios. Posteriormente, el arquitecto determinará las interfaces de cada capa y la relación entre capas. Los arquitectos no sólo deben superponer todo el sistema en capas y realizar una descomposición "vertical", sino también dividir la misma capa lógica en bloques y realizar una descomposición "horizontal".

La habilidad de un arquitecto de software se refleja básicamente en esto, que es un trabajo relativamente complejo.

3. Selección de tecnología

El arquitecto finalmente forma la arquitectura general del software a través de una serie de descomposiciones del sistema. La selección de tecnología depende principalmente de la arquitectura del software.

¿El servidor web se ejecuta en Windows o Linux? ¿La base de datos debería utilizar MSSql, Oracle o Mysql? ¿Necesito utilizar marcos ligeros como MVC o Spring? ¿Debería el front-end adoptar un enfoque de cliente rico o de cliente ligero? En esta etapa es necesario proponer y evaluar un trabajo similar.

La selección de productos y tecnologías por parte del arquitecto se limita a la evaluación y no tiene poder de decisión. El poder de decisión final pertenece al director del proyecto. La solución técnica propuesta por el arquitecto proporciona información de referencia importante para el director del proyecto. El director del proyecto la sopesará a partir de la situación real, como el presupuesto del proyecto, los recursos humanos, el cronograma, etc., y finalmente la confirmará.

4. Desarrollar especificaciones técnicas

Los arquitectos son autoridades técnicas en el proceso de desarrollo del proyecto. Necesita coordinar a todos los desarrolladores, mantener una comunicación constante con los desarrolladores y asegurarse siempre de que los desarrolladores implementen diversas funciones de acuerdo con sus intenciones arquitectónicas.

Los arquitectos no sólo deben mantener comunicación con los desarrolladores, sino también con los directores de proyecto, analistas de requisitos e incluso con los usuarios finales. Por tanto, para los arquitectos no sólo existen requisitos técnicos, sino también requisitos de comunicación interpersonal.

Pregunta 8: ¿Qué hace un arquitecto de sistemas? Personal senior de análisis, planificación y gestión perteneciente al proyecto

Arquitecto del sistema (Arquitectura del sistema) El arquitecto del sistema es responsable de diseñar la arquitectura general del sistema. Se debe considerar cada detalle, desde los requisitos hasta el diseño. todo el proyecto, para que el proyecto diseñado sea lo más eficiente posible, fácil de desarrollar, fácil de mantener, simple de actualizar, etc.

Ver el texto completo en Enciclopedia

baike.baidu/view/905154?fr=ala0_1_1

Pregunta 9: El papel del arquitecto de sistemas *** Diferente arquitectos de sistemas La relación y la diferencia entre un gerente de producto y un gerente de producto Un gerente de producto generalmente se refiere a la "persona especial" responsable del diseño del producto. Un gerente de producto excelente e ideal debe tener altas cualidades comerciales y una sólida formación técnica. Los gerentes de producto deben tener una profunda experiencia en el dominio, es decir, deben estar muy familiarizados con las áreas comerciales a las que se aplicará el sistema de software. Por ejemplo, un gerente de producto que desarrolla software de ventas de bienes raíces debe conocer muy bien el proceso de ventas estándar de una empresa de bienes raíces, incluso mejor que la mayoría de los vendedores. Si desarrolla un producto general, también tiene un conocimiento profundo del mercado y las necesidades de los clientes potenciales. Entonces, ¿cuál es la diferencia entre un arquitecto de sistemas y un gerente de producto? No debemos confundir los dos. Este es un error común que se comete en muchas discusiones y prácticas. En mi opinión, si desarrollar software es como hacer una película, los gerentes de producto son para los arquitectos de sistemas lo mismo que los guionistas para los directores. Aunque el gerente de producto debe tener cierta formación técnica, debe seguir siendo un "gente de negocios", mientras que el arquitecto de sistemas debe ser un experto técnico. Los dos tienen puntos de vista, ángulos y puntos de partida completamente diferentes cuando analizan el problema. La relación y diferencia entre arquitectos de sistemas y gerentes de proyectos. Los gerentes de proyectos de software se refieren a la persona encargada del control/gestión del proyecto, prestando atención al progreso y la calidad del proyecto en sí, y asignando, movilizando, coordinando y gestionando recursos humanos y financieros. , material y otros recursos. Para los gerentes de proyectos de software, esto incluye planificación de proyectos, seguimiento/monitoreo del progreso, control de calidad, configuración/lanzamiento/versión/gestión de cambios, evaluación del desempeño del personal, etc. Las cualidades requeridas de un excelente director de proyectos no son sólo la capacidad de utilizar varios software o comprender algunos principios metodológicos abstractos, sino más importante aún, la valiosa experiencia obtenida de un gran número de prácticas de proyectos, así como la capacidad de comunicar, coordinar, motivar, e incluso Debe tener algún tipo de carisma o cualidades de liderazgo (Chari *** a). Se puede ver que las responsabilidades de los directores de proyectos y los arquitectos de sistemas son muy diferentes. La confusión de estos dos roles conduce a menudo a un desarrollo ineficiente y desordenado. En particular, en términos de factores de personalidad, el personal puramente técnico tiende a ignorar el factor "humano", que es un aspecto importante de las actividades de gestión.

Además, al igual que Air Cover en una guerra, un director de proyecto dedicado puede manejar la gran cantidad de contingencias y tareas que ocurren durante el proceso de desarrollo. En un proyecto más grande, estas tareas en sí mismas podrían ocupar casi todo el tiempo de un trabajador de tiempo completo. tiempo. En un proyecto, es el arquitecto del sistema, no el director del proyecto, quien dirige el proyecto. La responsabilidad del director del proyecto es únicamente cooperar con el arquitecto del sistema y brindar soporte en todos los aspectos. Las responsabilidades principales son la comunicación interna y externa y la gestión de recursos (incluidas las personas). El arquitecto del sistema propone la arquitectura general del sistema y proporciona orientación para el desarrollo. ¿Cuál es el papel del director de proyecto en un proyecto? Si es a la vez gerente y diseñador, debe ser mejor que los demás y poder convencer a los demás. Si es solo un gerente de proyecto y el arquitecto del sistema tiene personal especializado, no necesita dominar ni comprender todos los aspectos de TI. Sería mejor si lo entendiera. Además, si nadie en un proyecto asume la responsabilidad total de la arquitectura técnica y la guía de desarrollo, pero todos son responsables de una arquitectura, análisis, diseño, código e implementación rápidos, etc., definitivamente perderá la gestión al final. La relación y diferencia entre arquitectos de sistemas y analistas de sistemas. Los analistas de sistemas (System ***yst) se refieren a personas que analizan, diseñan y lideran la implementación del desarrollo de sistemas. En términos generales, el nivel de los analistas de sistemas afectará la calidad e incluso el éxito o el fracaso del desarrollo del sistema. Pero en un equipo completo de desarrollo de sistemas también hay expertos comerciales, expertos técnicos y otro personal de apoyo. Por lo tanto, el analista de sistemas es solo uno de los roles. Sin embargo, muchas empresas de TI en nuestro país generalmente solo cuentan con analistas de sistemas pero no con expertos técnicos. Por supuesto, los analistas de sistemas analizan y diseñan sistemas específicos. Entonces su misión y sus objetivos son claros. Simplemente fue a realizar la tarea y completar el diseño final del sistema. Los arquitectos de sistemas deben estar separados de los analistas de sistemas, pero los arquitectos deben tener todas las capacidades de los analistas de sistemas y también deben tener muchas capacidades que los diseñadores no tienen. Los arquitectos de sistemas guían y supervisan el trabajo de los analistas de sistemas. Exigen que los analistas de sistemas diseñen sistemas de acuerdo con estándares, herramientas, modelos y tecnologías. Al mismo tiempo, los arquitectos de sistemas deben proponer rápidamente soluciones a los problemas planteados por los analistas de sistemas y a los problemas encontrados. E inspeccionar y revisar el trabajo de los analistas de sistemas.