6 марта 2012 · Запись

Архимейт по-русски: возвращаясь к application component

Из определений стандарта (версия 2.0):
The main structural concept for the application layer is the application component. This concept is used to model any structural entity in the application layer: not just (re-usable) software components that can be part of one or more applications, but also complete software applications, sub-applications, or information systems. Although very similar to the UML 2.0 component, our component concept strictly models the structural aspect of an application: its behavior is modeled by an explicit relationship to the behavioral concepts. An application component is defined as a modular, deployable, and replaceable part of a software system that encapsulates its behavior and data and exposes these through a set of interfaces. An application component is a self-contained unit of functionality. As such, it is independently deployable, re-usable, and replaceable. An application component performs one or more application functions. It encapsulates its contents: its functionality is only accessible through a set of application interfaces. Co-operating application components are connected via application collaborations.
Очень хочется, чтобы это всё было не по-птичьи для привыкших к английскому айтишников, а хотя бы чуть чуть по-русски. Конкурс на лучший перевод: -- приложение (хотя это и большая натяжка, если речь идёт о каком-нибудь адаптере, а нее развесистой информационной системе) -- программная компонента ("выбор редакции". Помним: для компонент и мужской и женский род приемлемы) -- прикладная компонента -- компонента приложения (вариант: компонента приложений) -- компонента обработки данных -- модуль обработки данных -- прикладной модуль -- модуль -- программа (софтина, софт) -- ... Понятно, что любое двух-трехсловное сочетание в речи и текстах будет сокращаться до одного слова, так что все оттенки пропадут. Останутся лишь приложение, компонента, модуль и программа -- нужно просто поточнее прицелиться, что из них более адекватно. Мой нюх склоняется к "программной компоненте" -- чтобы было чёткое отнесение к уровню обработки данных (applications), и сохранен оттенок модульности/иерархичности представления структуры программных компонент. Ибо главное тут (по моему опыту) -- отстройка от всего примерно такого же на уровне деятельности (business), и чуть меньшая отстройка от уровня оборудования (technology). "Прикладная компонента" была бы тут приятней на слух, но легко могла бы быть спутана с чем-то деятельностным или чем-то из оборудования, да и с данными легко перепутать. Модуль слишком целостен (не подразумевает дальнейшей дробимости). Приложение мне интуитивно не нравится, ибо границы и структура приложения обычно существенно неопределены, и слово не подталкивает к формальному описанию структуры эээ... программных компонент.

Читать обсуждение →