La conception de la programmation fait allusion aux structures clés d’un système logiciel et au contrôle de la fabrication de ces structures et systèmes. Chaque structure comprend des composants de programmation, les relations entre eux et les propriétés des deux composants et des relations. L’ingénierie d’un système logiciel de produit est une illustration, pratiquement équivalente à l’ingénierie d’un bâtiment. Elle fonctionne comme un diagramme du système et de l’entreprise de création, en répartissant les courses qui ne sont pas importantes pour les équipes de planification.

L’ingénierie de programmation est liée à la prise de décisions auxiliaires cruciales qui, une fois actualisées, coûtent cher à modifier. Les décisions d’ingénierie de programmation incorporent des alternatives de base explicites à partir des résultats potentiels dans le plan de programmation. Par exemple, les cadres qui contrôlent le véhicule de répartition du transport spatial devaient être rapides et vraiment fiables. De cette manière, un langage de traitement constant approprié serait choisi. De plus, pour satisfaire à l’exigence de qualité inébranlable, on pourrait décider d’avoir plusieurs duplications du programme, créées de manière autonome et en excès, et de faire fonctionner ces duplications sur des équipements libres tout en vérifiant les résultats par recoupement.

L’ingénierie de programmation d’enregistrement encourage la correspondance entre les partenaires, permet de faire des choix précoces sur la structure de niveau élevé et de réutiliser des segments de plan entre les projets.

L’ingénierie de programmation montre l’accompagnement :

Un nombre énorme de partenaires : les systèmes logiciels doivent prendre en compte un assortiment de partenaires, par exemple, les chefs d’entreprise, les propriétaires, les clients et les administrateurs. Ces partenaires ont tous leurs propres préoccupations concernant le cadre. L’ajustement de ces préoccupations et la démonstration de la manière dont elles sont prises en compte est un élément de la planification du système29-31 . Cela implique que l’ingénierie comprend la gestion d’un large éventail de préoccupations et de partenaires et qu’elle est de nature multidisciplinaire.

Division des préoccupations : pour les planificateurs, la voie à suivre pour réduire l’imprévisibilité consiste à isoler les préoccupations qui animent la structure. La documentation technique montre que toutes les préoccupations des partenaires sont prises en compte en démontrant et en décrivant la conception à partir de perspectives isolées liées aux différentes préoccupations des partenaires. Ces différentes représentations sont appelées “building sees” (voir par exemple le modèle de vue structurelle 4+1).

La qualité comme moteur : les configurations de programmation exemplaires qui se rapprochent (par exemple les programmes informatiques Jackson Organized Writing) étaient motivées par l’utilité requise et la progression de l’information dans le cadre, mais l’idée actuelle26-28 est que la conception d’un cadre de produit est d’autant plus fermement identifiée à ses caractéristiques de qualité, par exemple, l’adaptation aux défaillances internes, à l’inverse la similarité, l’extensibilité, la fiabilité, la praticabilité, l’accessibilité, la sécurité, la facilité d’utilisation et d’autres caractéristiques de ce type. Les préoccupations des partenaires se transforment souvent en conditions préalables sur ces caractéristiques de qualité, qui sont appelées différemment “nécessités non utiles”, “conditions extra-pratiques”, “conditions sociales” ou “conditions de qualité de la propriété”.

Les styles répétitifs : comme la conception des structures, la discipline de l’ingénierie des produits a créé des approches standard pour répondre aux préoccupations répétitives. Ces “méthodes standard” sont appelées par des noms différents selon le degré de délibération. Les expressions normales pour les arrangements répétitifs sont le style de construction,:273-277 la tactique,:70-72 l’architecture de référence et le modèle structurel.:203-205

Droiture théorique : terme présenté par Fred Creeks dans The Legendary Man-Month pour signifier la possibilité que la conception d’un cadre de produit s’appuie sur une vision générale de ce qu’il doit faire et comment il doit le faire. Cette vision doit être isolée de son utilisation. Le planificateur attend de lui qu’il soit le “gardien de la vision”, qu’il veille à ce que les améliorations apportées au cadre soient conformes à la conception, préservant ainsi l’intégrité théorique41-50.

Limites psychologiques : une perception précédemment faite dans un document de 1967 par l’ingénieur en logiciel Melvin Conway que les associations qui planifient des cadres sont obligées de fournir des structures qui sont des duplicatas des structures correspondantes de ces associations. De même, avec une honnêteté raisonnable, c’est Fred Streams qui a fait connaissance avec une foule plus étendue lorsqu’il a fait référence à cet article et à cette pensée dans son exquis grand The Legendary Man-Month, en l’appelant “la loi de Conway”.

Activités dans le domaine de l’architecture

L’architecte du produit effectue de nombreux exercices. Un dessinateur de produit travaille normalement avec les administrateurs de l’entreprise, examine les besoins structurels critiques avec les partenaires, planifie l’ingénierie d’un produit, évalue une configuration, parle avec les planificateurs et les partenaires, archive le plan de composition, etc. Il existe quatre exercices centraux de conception de programmation. Ces exercices d’ingénierie centrale sont réalisés de manière itérative et à différentes phases du cycle de vie de l’avancement de la programmation sous-jacente, tout comme pour le développement d’un cadre.

L’enquête de construction est le moyen de comprendre la nature dans laquelle un ou plusieurs cadres proposés fonctionneront et de décider des conditions préalables à ce cadre. Les informations ou les conditions préalables à l’action d’investigation peuvent émerger d’un nombre quelconque de partenaires et intégrer des choses, par exemple,

ce que le système fera lorsqu’il sera opérationnel (les conditions pratiques préalables)

l’efficacité avec laquelle le système répondra aux besoins non utilitaires de l’exécution, par exemple, une qualité inébranlable, l’opérabilité, la productivité de l’exécution, la sécurité, la similarité caractérisée par la norme ISO/IEC 25010:2011

les besoins non pratiques en matière de temps de progression, par exemple la viabilité et la transférabilité caractérisées dans la norme ISO 25010:2011

les besoins des entreprises et le cadre naturel d’un cadre qui peut changer après un certain temps, par exemple, les préoccupations légales, sociales, financières, agressives et d’innovation[26].

Les rendements du mouvement d’examen sont ces conditions préalables qui affectent de manière mesurable l’ingénierie d’un cadre de produit, appelées exigences remarquables sur le plan de la composition.

Un mélange ou une configuration structurelle est le moyen de faire de l’ingénierie. Étant donné les besoins critiques en matière de composition, contrôlés par l’enquête, l’état actuel de la structure et les conséquences de tout exercice d’évaluation, le plan est élaboré et amélioré.:311-326

L’évaluation technique est le moyen de décider dans quelle mesure la structure actuelle ou un segment de celle-ci remplit les conditions préalables déterminées lors de l’examen. Une évaluation peut avoir lieu à n’importe quel moment où un concepteur pense à un choix de plan, elle peut avoir lieu après qu’une partie de la structure ait été achevée, elle peut avoir lieu après que la dernière configuration ait été terminée ou elle peut avoir lieu après que le cadre ait été développé. Une partie des procédures d’évaluation de l’ingénierie de programmation accessible intègre la stratégie d’investigation des compromis de conception (Design Tradeoff Investigation Strategy – ATAM) et la TARA[28]. Les structures permettant de contraster les stratégies sont abordées dans les systèmes, par exemple, le rapport SARA[16] et les audits de conception : Pratique et expérience[29].

L’avancement de la conception est le moyen de maintenir et d’ajuster une ingénierie de programmation actuelle pour répondre aux changements des besoins et des conditions. Comme l’ingénierie de programmation donne une structure de base d’un cadre de produit, son développement et son soutien affecteraient essentiellement sa structure de base. À ce titre, l’avancement de la conception se préoccupe d’inclure une nouvelle utilité tout comme de maintenir l’utilité et la conduite du cadre existant.

Le génie nécessite des exercices de soutien de base. Ces exercices de soutien ont lieu tout au long du processus d’ingénierie de programmation du centre. Ils comprennent des informations sur le tableau et la correspondance, la réflexion sur les plans et la direction de base, ainsi que de la documentation.

Activités de soutien à l’architecture

Les exercices de soutien à l’ingénierie de programmation sont réalisés lors des exercices de conception de la programmation du centre. Ces exercices de soutien aident l’ingénieur produit à mener à bien l’investigation, la fusion, l’évaluation et l’avancement. Par exemple, un modélisateur doit rassembler des informations, faire des choix et enregistrer pendant la phase d’enquête.

L’information sur le tableau et la correspondance est la démonstration de l’investigation et de la supervision des informations qui sont fondamentales pour planifier la conception d’un produit. Un concepteur de produits ne travaille pas en vase clos. Il obtient des apports, des conditions préalables utilitaires et non pratiques, et des paramètres de planification, de différents partenaires ; et donne des rendements aux partenaires. Les informations relatives à la conception d’un produit sont souvent déduites et se trouvent dans la tête des partenaires. Les informations sur la conception de la programmation sont liées à la découverte, à la transmission et à la conservation des informations. Comme les questions de configuration de l’ingénierie de programmation sont époustouflantes et dépendantes, un trou d’information dans la réflexion sur la configuration peut provoquer une conception erronée de l’ingénierie de programmation[23][30]. Les exemples d’informations que le conseil et les exercices de correspondance incorporent la recherche de conceptions de configuration, le prototypage, la demande d’ingénieurs et de planificateurs expérimentés, l’évaluation des structures de cadres comparatifs, la transmission d’informations à différents auteurs et partenaires, et le signalement de l’implication avec une page wiki.

La réflexion sur la configuration et le leadership de base est l’action d’évaluer les choix du plan. Cette action est à la base de chacune des activités d’ingénierie de programmation des trois centres[9][31]. Elle consiste à assembler et à choisir les paramètres, à détailler les questions de choix de la structure, à découvrir des alternatives d’arrangement et à évaluer les compromis avant de décider. Cette procédure se déroule à divers degrés de granularité des choix tout en évaluant les besoins structurels notables et les choix de conception de la programmation, et en étudiant, fusionnant et évaluant l’ingénierie de programmation. Les exercices de réflexion comprennent la compréhension des effets d’une condition préalable ou d’un plan sur les caractéristiques de qualité, l’examen des problèmes qu’une structure peut causer, l’étude des solutions de rechange imaginables et l’évaluation des compromis entre les différents arrangements.

La documentation est la démonstration de l’enregistrement de la structure créée pendant le processus de conception du produit. Une configuration de cadre est représentée en utilisant quelques vues qui, la plupart du temps, comprennent une vue statique indiquant la structure du code du cadre, une vue unique démontrant les activités du cadre pendant l’exécution, et une vue d’organisation indiquant comment un cadre est défini sur l’équipement pour l’exécution. La vue 4+1 de Kruchten propose une représentation des perspectives habituellement utilisées pour rendre compte de l’architecture de programmation[32] ; Archiver les structures de programmation : Perspectives et passé présente les types de documentations qui pourraient être utilisées dans la description de la vue[1]. Les exemples d’exercices de documentation sont la composition d’une détermination, l’enregistrement d’un modèle de configuration de cadre, l’archivage d’une méthode de planification du raisonnement, la construction d’une perspective, l’archivage des vues.