El diseño de la programación alude a las estructuras clave de un sistema de software y al control de la fabricación de dichas estructuras y sistemas. Cada estructura implica componentes de programación, relaciones entre ellos, y propiedades de los dos componentes y relaciones. La ingeniería de un sistema de software de producto es una ilustración, prácticamente equivalente a la ingeniería de un edificio. Funciona como un diagrama para el sistema y el emprendimiento de creación, repartiendo los encargos no importantes para ser ejecutados por los equipos de planificación.

La ingeniería de programación está ligada a la toma de decisiones auxiliares cruciales que son costosas de cambiar una vez actualizadas. Las decisiones de ingeniería de programación incorporan alternativas básicas explícitas de resultados potenciales en el plan de programación. Por ejemplo, los marcos que controlaban el vehículo de despacho del transporte espacial tenían la necesidad de ser rápidos y verdaderamente fiables. De esta manera, se elegiría un lenguaje de procesamiento constante adecuado. Además, para cumplir con el requisito de calidad inquebrantable se podría tomar la decisión de tener varios excesos y duplicados creados autónomamente del programa y ejecutar estos duplicados en equipo libre mientras se verifican los resultados.

La ingeniería de programación de grabación fomenta la correspondencia entre los socios, capta las elecciones tempranas sobre la estructura de nivel elevado y permite la reutilización de los segmentos de plan entre proyectos.

La ingeniería de programación muestra el acompañamiento:

Un gran número de socios: los sistemas de software deben tener en cuenta un surtido de socios, por ejemplo, jefes de empresa, propietarios, clientes y administradores. Todos estos socios tienen sus propias preocupaciones en relación con el marco. Ajustar estas preocupaciones y mostrar cómo se atienden es una parte de la planificación del sistema:29-31 Esto infiere que la ingeniería incluye la gestión de un amplio surtido de preocupaciones y socios y tiene un carácter multidisciplinario.

División de las preocupaciones: la ruta construida para que los planificadores disminuyan la imprevisibilidad es aislar las preocupaciones que impulsan la estructura. La documentación de ingeniería muestra que todas las preocupaciones de los socios se atienden demostrando y describiendo el diseño desde perspectivas aisladas relacionadas con las diferentes preocupaciones de los socios. Estas diferentes representaciones se denominan vistas de construcción (ver por ejemplo el Modelo de Vista Estructural 4+1).

Impulsada por la calidad: la configuración de la programación ejemplar se acerca (por ejemplo, los programas informáticos de escritura organizada de Jackson) se rige por la utilidad requerida y la progresión de la información a través del marco, pero la idea actual26-28 es que el diseño del marco de un producto se identifica con mayor firmeza con sus rasgos de calidad, por ejemplo, la adaptación a los fallos internos, la similitud inversa, la extensibilidad, la fiabilidad, la practicidad, la accesibilidad, la seguridad, la facilidad de uso y otras características similares. Las preocupaciones de los asociados se convierten con frecuencia en requisitos previos de estos rasgos de calidad, que se denominan de manera diferente necesidades no útiles, requisitos previos extra-prácticos, requisitos previos sociales o requisitos previos de propiedad de calidad.

Estilos repetitivos: como el diseño de estructuras, la disciplina de ingeniería de productos ha creado enfoques estándar para abordar las preocupaciones repetitivas. Estas “formas estándar” se llaman con diferentes nombres en diferentes grados de deliberación. Las expresiones normales para las disposiciones repetitivas son estilo de construcción,:273-277 táctica,:70-72 arquitectura de referencia y patrón estructural.:203-205

Rectitud teórica: un término presentado por Fred Creeks en El Hombre-Mes Legendario para significar la posibilidad de que el diseño del marco de un producto habla de una visión general de lo que debe hacer y cómo debe hacerlo. Esta visión debe ser aislada de su uso. El planificador espera que el trabajo de “guardián de la visión”, asegurando que los incrementos al marco estén de acuerdo con el diseño, salvaguardando así la integridad teórica.:41-50

Limitaciones psicológicas: una percepción hecha anteriormente en un documento de 1967 por el ingeniero de software Melvin Conway de que las asociaciones que planifican marcos están obligadas a entregar estructuras que son duplicados de las estructuras correspondientes de estas asociaciones. De la misma manera, con razonable honestidad, fue Fred Streams quien lo conoció con un público más extenso cuando se refirió al documento y al pensamiento en su exquisito gran El Hombre-Mes Legendario, llamándolo “La Ley de Conway”.

Actividades de arquitectura

Hay numerosos ejercicios que el arquitecto del producto realiza. Un dibujante de producto normalmente trabaja con los administradores de empresas, examina las necesidades estructuralmente críticas con los socios, planifica una ingeniería de producto, evalúa una configuración, habla con los planificadores y socios, archiva el plan de composición y más. Hay cuatro ejercicios centrales en el diseño de programación. Estos ejercicios de ingeniería del centro se realizan de forma iterativa y en varias fases del ciclo de vida de avance de la programación subyacente, al igual que sobre el desarrollo de un marco.

Construir la investigación es la forma de comprender la naturaleza en la que funcionarán el marco o los marcos propuestos y decidir los requisitos previos para el marco. La información o los prerrequisitos para la acción de investigación pueden surgir de cualquier número de asociados e incorporar cosas, por ejemplo,

lo que el sistema hará cuando esté en funcionamiento (los requisitos previos prácticos)

qué tan bien el sistema cumplirá con las necesidades no utilitarias en tiempo de ejecución, por ejemplo, calidad inquebrantable, operabilidad, productividad de ejecución, seguridad, similitud caracterizada en la norma ISO/IEC 25010:2011

tiempo de avance necesidades no prácticas, por ejemplo, viabilidad y transferibilidad caracterizadas en la norma ISO 25010:2011

las necesidades de las empresas y los entornos naturales de un marco que puede cambiar después de algún tiempo, por ejemplo, preocupaciones legales, sociales, relacionadas con el dinero, agresivas y de innovación[26]

Los rendimientos del movimiento de examen son los requisitos previos que afectan de manera mensurable a la ingeniería de un marco de productos, denominados requisitos de composición notable.

Una mezcla o configuración estructural es el camino para hacer ingeniería. Dadas las necesidades críticas de composición controladas por la investigación, la condición actual de la estructura y las consecuencias de cualquier ejercicio de evaluación, el plan se hace y se mejora.:311-326

La evaluación de ingeniería es la forma de decidir cuán bien la estructura actual o un segmento de ella cumple los requisitos previos determinados durante el examen. Una evaluación puede ocurrir en cualquier punto en el que un diseñador esté pensando en la elección de un plan, puede ocurrir después de que se haya terminado algún trozo de la estructura, puede ocurrir después de que se haya terminado la última configuración o puede ocurrir después de que se haya desarrollado el marco. Una parte de los procedimientos de evaluación de la ingeniería de programación accesible incorpora la Estrategia de Investigación de Intercambio de Diseños (ATAM) y TARA[28]. En los sistemas se habla de estructuras para contrastar las estrategias, por ejemplo, el Informe SARA[16] y las Auditorías de Diseño: Práctica y Experiencia.[29]

El avance del diseño es la forma de mantener y ajustar la ingeniería de programación actual para satisfacer los cambios en las necesidades y condiciones. Como la ingeniería de programación da una estructura básica del marco de un producto, su desarrollo y apoyo afectaría esencialmente a su estructura básica. En esa capacidad, el avance del diseño se preocupa por incluir nueva utilidad al igual que por mantener la utilidad existente y la conducta del marco.

La ingeniería requiere ejercicios básicos de apoyo. Estos ejercicios de apoyo se realizan a lo largo del proceso de ingeniería de programación del centro. Incorporan información en la pizarra y la correspondencia, el pensamiento del plan y el liderazgo básico, y la documentación.

Actividades de apoyo a la arquitectura

Los ejercicios de apoyo de ingeniería de programación se realizan durante los ejercicios de diseño de programación del centro. Estos ejercicios de apoyo ayudan a un ingeniero de producto a completar la investigación, amalgama, evaluación y avance. Por ejemplo, un modelador necesita reunir información, decidir opciones y registrar durante la etapa de investigación.

La información en la pizarra y la correspondencia es la demostración de la investigación y la supervisión de la información que es básica para planificar el diseño de un producto. Un diseñador de productos no trabaja en segregación. Obtiene insumos, requisitos previos utilitarios y no prácticos, y ajustes de plan, de diferentes socios; y da rendimientos a los socios. La información del diseño de la programación se infiere con frecuencia y se mantiene en la cabeza de los socios. La información del diseño de programación el movimiento de la junta está ligado con el descubrimiento, la transmisión y la retención de la información. Dado que los problemas de configuración de la ingeniería de programación son alucinantes y dependientes, un agujero de información en el pensamiento de la configuración puede provocar un diseño erróneo de la ingeniería de programación[23][30]. Los ejemplos de información que el tablero y los ejercicios de correspondencia incorporan la búsqueda de diseños de configuración, la creación de prototipos, la consulta a ingenieros y planificadores experimentados, la evaluación de las estructuras de los marcos comparativos, la impartición de información a los diferentes originadores y socios, y la presentación de informes de participación en una página wiki.

El pensamiento de configuración y el liderazgo básico es la acción de evaluar las elecciones del plan. Esta acción es básica para cada una de las tres actividades de ingeniería de programación del centro.[9][31] Implica ensamblar y elegir las configuraciones, detallar las cuestiones de elección de la estructura, descubrir alternativas de arreglo y evaluar las compensaciones antes de decidir. Este procedimiento se lleva a cabo en varios grados de granularidad de elección mientras se evalúan las necesidades estructurales notables y las elecciones de diseño de programación, y la investigación, amalgama y evaluación de la ingeniería de programación. Los ejercicios de reflexión incorporan la comprensión de los efectos de un prerrequisito o de un plan en los rasgos de calidad, el escrutinio de los problemas que puede causar una estructura, el estudio de las alternativas de arreglo concebibles y la evaluación de las compensaciones entre los arreglos.

La documentación es la demostración del registro de la estructura creada durante el proceso de diseño del producto. Se representa una configuración del marco utilizando unas pocas vistas que la mayor parte del tiempo incorporan una vista estática que indica la estructura del código del marco, una vista única que demuestra las actividades del marco durante la ejecución, y una vista de organización que indica cómo se establece un marco en el equipo para la ejecución. La vista 4+1 de Kruchten propone una descripción de las perspectivas utilizadas habitualmente para informar sobre la arquitectura de programación;[32] Archivar las estructuras de programación: Perspectives and Past tiene representaciones de los tipos de documentación que podrían ser utilizados dentro de la descripción de la vista.[1] Ejemplos de ejercicios de documentación son componer una determinación, registrar un modelo de configuración de marco, archivar un método de planificación de razonamiento, construir una perspectiva, archivar vistas.