پیوست: پرسشهای بحث
فصل ۱: مقدمه
- چهار بُعدی که معماری نرمافزار را تعریف میکنند کداماند؟
- تفاوت تصمیم معماری (architecture decision) با اصل طراحی (design principle) چیست؟
- هشت انتظار اصلی از یک معمار نرمافزار را فهرست کنید.
- قانون اول معماری نرمافزار (First Law of Software Architecture) چیست؟
فصل ۲: تفکر معماری
- سه معیار نام ببرید که با آنها بتوان تعیین کرد یک تصمیم بیشتر به معماری مربوط است یا به طراحی.
- سه سطح دانش را در مثلث دانش (هرم دانش) (knowledge triangle) فهرست کنید و برای هر یک مثالی بیاورید.
- چرا برای معمار، تمرکز بر گستردگی فنی (technical breadth) مهمتر از ژرفای فنی (technical depth) است؟
- برخی از راههای حفظ ژرفای فنی و درگیر ماندن مستقیم با کار فنی در مقام معمار کداماند؟
فصل ۳: ماژولاریتی
- تفاوت ماژولاریتی (modularity) و دانهبندی (granularity) را شرح دهید و برای هر یک مثالی بیاورید.
- تفاوت کوپلینگ (coupling) و انسجام (cohesion) چیست؟
- اصطلاح همبستگی (connascence) به چه معناست؟
- تفاوت همبستگی ایستا (static connascence) و همبستگی پویا (dynamic connascence) چیست؟
- قویترین شکل همبستگی کدام است؟
- ضعیفترین شکل همبستگی کدام است؟
- در یک پایگاه کد، کدامیک ترجیح دارد: همبستگی ایستا یا پویا؟
فصل ۴: تعریف ویژگیهای معماری
- یک خصیصه برای آنکه ویژگی معماری (architecture characteristic) به شمار آید، باید کدام سه معیار را برآورده کند؟
- تفاوت ویژگی نامشهود (implicit characteristic) با ویژگی صریح (explicit characteristic) چیست؟ برای هر یک مثالی بیاورید.
- مثالی از یک ویژگی عملیاتی (operational characteristic) بیاورید.
- مثالی از یک ویژگی ساختاری (structural characteristic) بیاورید.
- مثالی از یک ویژگی میانبُرشی (cross-cutting characteristic) بیاورید.
- چرا تهیهٔ فهرستی استاندارد و فراگیر در سطح صنعت از ویژگیهای معماری ناممکن است؟
فصل ۵: شناسایی ویژگیهای معماری
- دلیلی بیاورید که چرا محدود کردن شمار ویژگیهایی («-ilities») که یک معماری باید از آنها پشتیبانی کند، رویهٔ خوبی است.
- درست یا نادرست؟ بیشتر ویژگیهای معماری از الزامات کسبوکار و داستانهای کاربری (user stories) سرچشمه میگیرند.
- اگر یک ذینفع کسبوکار اعلام کند که زمان عرضه به بازار (time to market)—یعنی رساندن هرچه سریعتر قابلیتهای تازه و رفع اشکالها به دست کاربران—مهمترین دغدغهٔ کسبوکار است، معماری باید از کدام ویژگیهای معماری پشتیبانی کند؟
- تفاوت مقیاسپذیری (scalability) و کشسانی (elasticity) چیست؟
- تعریف ویژگی معماری مرکب (composite architectural characteristic) چیست؟ یک مثال بیاورید.
فصل ۶: سنجش و حاکمیت بر ویژگیهای معماری
- چرا پیچیدگی چرخهای (cyclomatic complexity) سنجهای چنین مهم برای تحلیل معماری است؟
- توابع برازش معماری (architecture fitness functions) چیستند؟ چگونه میتوان از آنها برای تحلیل یک معماری استفاده کرد؟
- مثالی از یک تابع برازش معماری برای سنجش مقیاسپذیری یک معماری بیاورید.
- مهمترین معیار برای یک ویژگی معماری، تا معماران و توسعهدهندگان بتوانند برای آن توابع برازش بسازند، چیست؟
فصل ۷: دامنهٔ ویژگیهای معماری
- کوانتوم معماری (architectural quantum) چیست و چرا برای معماری اهمیت دارد؟
- سیستمی را فرض کنید که از یک رابط کاربری واحد و چهار سرویسِ مستقلمستقرشونده تشکیل شده و هر سرویس پایگاهدادهٔ جداگانهٔ خودش را دارد. این سیستم یک کوانتوم دارد یا چهار کوانتوم؟ چرا؟
- تفاوت کوپلینگ ایستا (static coupling) و کوپلینگ پویا (dynamic coupling) چیست؟ برای هر یک مثالی بیاورید.
- چرا ارتباط همگام (synchronous) در مقایسه با ارتباط ناهمگام (asynchronous) اثر بالقوهٔ بزرگتری بر ویژگیهای عملیاتی معماری دارد؟
فصل ۸: تفکر مؤلفهمحور
- ما اصطلاح مؤلفه (component) را بهعنوان یکی از بلوکهای سازندهٔ برنامهٔ کاربردی تعریف میکنیم؛ یعنی کاری که برنامه انجام میدهد. یک مؤلفه معمولاً از گروهی از کلاسها یا فایلهای منبع تشکیل میشود. مؤلفهها معمولاً در یک برنامهٔ کاربردی یا سرویس به چه شکلی نمود مییابند؟
- تفاوت افراز فنی (technical partitioning) و افراز حوزهای (domain partitioning) چیست؟ برای هر یک مثالی بیاورید.
- مزیت افراز حوزهای چیست؟
- در چه شرایطی افراز فنی انتخاب بهتری از افراز حوزهای است؟
- تلهٔ موجودیت (Entity Trap) چیست؟ چرا رویکرد خوبی برای شناسایی مؤلفهها نیست؟
- هنگام شناسایی مؤلفههای اصلی، چه زمانی ممکن است رویکرد گردشکار (Workflow approach) را بر رویکرد کنشگر/کنش (Actor/Action approach) ترجیح دهید؟
فصل ۹: مبانی
- هشت مغالطهٔ محاسبات توزیعشده (fallacies of distributed computing) را فهرست کنید.
- سه چالش نام ببرید که معماریهای توزیعشده دارند و معماریهای تکپارچه ندارند.
- کوپلینگ مُهری (stamp coupling) چیست؟ برخی از راههای رسیدگی به کوپلینگ مُهری کداماند؟
- تفاوت افراز فنی و افراز حوزهای چیست؟
- سه ویژگی را فهرست کنید که یک سبک معماری (architectural style) را از یک الگو (pattern) متمایز میکنند.
فصل ۱۰: سبک معماری لایهای
- تفاوت لایهٔ باز (open layer) و لایهٔ بسته (closed layer) چیست؟
- مفهوم لایههای جداسازی (layers of isolation) و مزایای آن را شرح دهید.
- ضدالگوی چاهک معماری (Architecture Sinkhole antipattern) چیست؟
- برخی از ویژگیهای اصلی معماری که شما را به استفاده از معماری لایهای سوق میدهند کداماند؟
- چرا سبک معماری لایهای از آزمونپذیری (testability) بهخوبی پشتیبانی نمیکند؟
- چرا سبک معماری لایهای از چابکی (agility) بهخوبی پشتیبانی نمیکند؟
فصل ۱۱: سبک معماری تکپارچهٔ ماژولار
- تکپارچهٔ ماژولار (modular monolith) چه تفاوتی با معماری لایهای چندلایه (n-tiered layered architecture) دارد؟
- تفاوت رویکرد همتابههمتا (peer-to-peer) و رویکرد میانجی (mediator) را در ارتباط میان ماژولها شرح دهید.
- سه ریسک رایج مرتبط با سبک معماری تکپارچهٔ ماژولار کداماند؟
- سه نقطهٔ قوت اصلی تکپارچهٔ ماژولار را نام ببرید و بگویید چه زمانی باید استفاده از آن را در نظر بگیرید.
- با وجود ماژولاریتیِ تکپارچهٔ ماژولار، چرا ویژگیهای عملیاتیای مانند مقیاسپذیری و تحمل خطا (fault tolerance) در آن وضع خوبی ندارند؟
فصل ۱۲: سبک معماری خط لوله
- آیا لولهها (pipes) در معماری خط لوله (pipeline architecture) میتوانند دوسویه باشند؟
- چهار نوع فیلتر (filter) و هدف هر یک را نام ببرید.
- آیا یک فیلتر میتواند داده را از طریق چند لوله به بیرون بفرستد؟
- توضیح دهید چرا معماری خط لوله برای محیطهای مبتنی بر ابر مناسب است.
- آیا سبک معماری خط لوله بهصورت فنی افراز شده است یا بهصورت حوزهای؟
- معماری خط لوله به چه شکلی از ماژولاریتی پشتیبانی میکند؟
فصل ۱۳: سبک معماری میکروکرنل
- نام دیگر سبک معماری میکروکرنل (microkernel architecture style) چیست؟
- در چه شرایطی اشکالی ندارد که مؤلفههای افزونه (plug-in components) به مؤلفههای افزونهٔ دیگر وابسته باشند؟
- برخی از ابزارها و چارچوبهایی که میتوان از آنها برای مدیریت افزونهها استفاده کرد کداماند؟
- اگر افزونهای از یک شخص ثالث داشتید که با قرارداد استاندارد افزونه در سیستم هسته (core system) سازگار نبود، چه میکردید؟
- دو مثال از سبک معماری میکروکرنل بیاورید.
- کدام ویژگیهای سیستم هسته میزان «میکروکرنلبودن» (microkern-ality) آن را تعیین میکنند؟
- چرا معماری میکروکرنل همیشه یک کوانتوم معماری واحد است؟
- همریختی حوزه و معماری (domain/architecture isomorphism) چیست؟
فصل ۱۴: سبک معماری مبتنی بر سرویس
- چرا سرویسها در معماری مبتنی بر سرویس (service-based architecture)، سرویسهای حوزهای (domain services) نامیده میشوند؟
- دو ریسک رایج مرتبط با معماری مبتنی بر سرویس را نام ببرید.
- از کدام توپولوژیهای پایگاهداده (تکپارچه، حوزهای و اختصاصی) میتوانید در معماری مبتنی بر سرویس استفاده کنید؟
- برای مدیریت تغییرات پایگاهداده در یک معماری مبتنی بر سرویس از چه تکنیکهایی میتوانید استفاده کنید؟
- آیا سرویسهای حوزهای برای اجرا به کانتینر (مانند Docker) نیاز دارند؟
- سبک معماری مبتنی بر سرویس از کدام ویژگیهای معماری بهخوبی پشتیبانی میکند؟
- چرا معماری مبتنی بر سرویس معمولاً از کشسانی بهخوبی پشتیبانی نمیکند؟
- چگونه میتوانید شمار کوانتومهای معماری را در یک معماری مبتنی بر سرویس افزایش دهید؟
فصل ۱۵: سبک معماری رویدادمحور
- چهار تفاوت میان رویدادها و پیامها (messages) را نام ببرید.
- تفاوت رویداد آغازگر (initiating event) با رویداد مشتق (derived event) چیست؟
- رویداد سمی (poison event) چیست؟
- آیا یک پردازندهٔ رویداد (event processor) میتواند چند رویداد مشتق را راهاندازی کند؟ اگر چنین است، چرا ممکن است بخواهید این کار را انجام دهید؟
- چرا ممکن است از یک پردازندهٔ رویداد، رویدادی را راهاندازی کنید که هیچ پردازندهٔ رویداد دیگری به آن پاسخ نمیدهد؟
- برخی از مصالحههای منفی استفاده از پردازش ناهمگام کداماند؟
- ضدالگوی دستهٔ پشهها (Swarm of Gnats antipattern) را شرح دهید و توضیح دهید چرا باید از آن پرهیز کنید.
- دو دلیل اصلی بیاورید که چرا معماری رویدادمحور (event-driven architecture) بسیار پاسخگوست و ویژگیهای کارایی عالی دارد.
- برخی از تکنیکهای جلوگیری از گمشدن داده (data loss) هنگام فرستادن پیام به صف و دریافت پیام از آن کداماند؟
فصل ۱۶: سبک معماری مبتنی بر فضا
- نام معماری مبتنی بر فضا (space-based architecture) از کجا آمده است؟
- جنبهٔ اصلی معماری مبتنی بر فضا که آن را از دیگر سبکهای معماری متمایز میکند چیست؟
- چهار مؤلفهای را نام ببرید که میانافزار مجازیشده (virtualized middleware) را در معماری مبتنی بر فضا تشکیل میدهند.
- نقش نویسندهٔ داده (data writer) در معماری مبتنی بر فضا چیست؟
- در چه شرایطی یک سرویس باید از طریق خوانندهٔ داده (data reader) به دادههای پایگاهداده دسترسی یابد؟
- آیا اندازهٔ کوچک کش احتمال برخورد داده (data collision) را افزایش میدهد یا کاهش؟
- تفاوت کش تکثیرشده (replicated cache) با کش توزیعشده (distributed cache) چیست؟ معمولاً کدامیک در معماری مبتنی بر فضا به کار میرود؟
- سه ویژگی معماری را فهرست کنید که معماری مبتنی بر فضا به قویترین شکل از آنها پشتیبانی میکند.
- چرا آزمونپذیری در معماری مبتنی بر فضا رتبهٔ بسیار پایینی دارد؟
فصل ۱۷: معماری سرویسگرای ارکستراسیونمحور
- نیروی محرکهٔ اصلی پشت معماری سرویسگرا (service-oriented architecture) چه بود؟
- چهار نوع اصلی سرویس در معماری سرویسگرا کداماند؟
- برخی از عواملی را که به افول معماری سرویسگرا انجامیدند فهرست کنید.
- آیا SOA بهصورت فنی افراز شده است یا بهصورت حوزهای؟
- بازاستفادهٔ حوزه (domain reuse) در SOA چگونه مدیریت میشود؟ بازاستفادهٔ عملیاتی (operational reuse) چطور؟
- کاربرد اصلی این سبک معماری در سیستمهای امروزی چیست؟
فصل ۱۸: معماری میکروسرویسها
- مفهوم زمینهٔ محدود (bounded context) را در میکروسرویسها شرح دهید. چرا این مفهوم برای معماریهای میکروسرویس چنین حیاتی است؟
- چرا جداسازی داده (data isolation) در معماری میکروسرویسها چنین اهمیتی دارد؟
- شرح دهید منظور از همکنشپذیریِ ناهمگونِ آگاه از پروتکل (protocol-aware heterogeneous interoperability) چیست و میکروسرویسها چگونه از آن پشتیبانی میکنند.
- تفاوت ارکستراسیون (orchestration) و کرئوگرافی (choreography) در میکروسرویسها چیست؟ برای هر یک از این سبکهای ارتباطی، مثالی بیاورید که در آن انتخاب مناسبی باشد.
- چرا میکروسرویسها از توپولوژی پایگاهداده به ازای هر سرویس (database-per-service) استفاده میکنند؟ آیا میتوانند از توپولوژی پایگاهدادهٔ تکپارچه یا حوزهای استفاده کنند؟
- دو مورد از بزرگترین ریسکهای معماری میکروسرویسها کداماند؟
- چرا میکروسرویسها از چابکی، آزمونپذیری و استقرارپذیری (deployability) چنین بهخوبی پشتیبانی میکنند؟
- سه دلیل بیاورید که چرا کارایی معمولاً در میکروسرویسها مسئلهساز است.
- توپولوژیای را شرح دهید که در آن یک اکوسیستم میکروسرویس ممکن است تنها یک کوانتوم داشته باشد.
فصل ۱۹: انتخاب سبک معماری مناسب
- معماری داده (data architecture) یک سیستم (یعنی ساختار مدلهای دادهٔ منطقی و فیزیکی) به چه شکلی بر انتخاب سبک معماری شما اثر میگذارد؟
- گامهایی را که معمار برای تعیین سبک معماری، افراز داده و سبکهای ارتباطی یک سیستم برمیدارد، به تفکیک شرح دهید.
- کدام عامل معمار را به سوی معماری توزیعشده سوق میدهد؟
- معماری برای انتخاب سبک معماری مناسب باید کدام دو تحلیل ورودی را انجام دهد؟
فصل ۲۰: الگوهای معماری
- دو الگو نام ببرید که دغدغهٔ معماریِ جداسازی دغدغههای عملیاتی و حوزهای را پیاده میکنند.
- گردشکار ارکسترهشده کدام مؤلفه را دارد که در گردشکارهای کرئوگرافیشده وجود ندارد؟
- برخی از مزایای استفاده از یک کارگزار (broker) واحد در معماری رویدادمحور کداماند؟ برخی از معایب آن کداماند؟
- CQRS کدام دو عملیات داده را از هم جدا میکند؟
فصل ۲۱: تصمیمات معماری
- ضدالگوی «خود را پوشش بده» (Covering Your Assets antipattern) چیست؟
- برخی از تکنیکهای پرهیز از ضدالگوی «معماری ایمیلمحور» (Email-Driven Architecture antipattern) کداماند؟
- پنج عاملی که Michael Nygard برای تشخیص اینکه چیزی دارای اهمیت معماری (architecturally significant) است تعریف میکند، کداماند؟
- پنج بخش پایهٔ سابقهٔ تصمیم معماری (architecture decision record) کداماند؟
- معمولاً توجیه یک تصمیم معماری را در کدام بخش ADR میافزایید؟
- با این فرض که به بخش جداگانهٔ «گزینههای جایگزین» نیازی ندارید، گزینههای جایگزین راهحل پیشنهادیتان را در کدام بخش ADR فهرست میکنید؟
- سه سناریوی پایهای که در آنها وضعیت یک ADR را پیشنهادی (Proposed) علامت میزنید کداماند؟
فصل ۲۲: تحلیل ریسک معماری
- دو بُعد ماتریس ارزیابی ریسک (risk assessment matrix) کداماند؟
- سه فعالیت اصلی طوفان ریسک (risk storming) را شرح دهید.
- چرا طوفان ریسک باید تمرینی مشارکتی باشد؟
- چرا فعالیت شناسایی در طوفان ریسک باید فعالیتی فردی باشد و نه مشارکتی؟
- اگر سه شرکتکننده ریسک بخش خاصی از معماری را بالا (۶) ارزیابی کنند، اما شرکتکنندهٔ دیگری آن را تنها متوسط (۳) بداند، چه میکنید؟
- به فناوریهای اثباتنشده یا ناشناخته چه رتبهٔ ریسکی (۱ تا ۹) میدهید؟
فصل ۲۳: نمودارکشی معماری
- دلبستگی نامعقول به مصنوع (irrational artifact attachment) چیست و چرا در مستندسازی و نمودارکشی معماری اهمیت دارد؟
- چهار C (4 Cs) در تکنیک مدلسازی C4 کداماند؟
- هنگام نمودارکشی معماری، خطوط نقطهچین میان مؤلفهها چه معنایی دارند؟
- چرا گنجاندن عنوان و راهنما (key) در نمودار معماری همیشه مهم است؟
فصل ۲۴: اثربخش کردن تیمها
- سه نوع شخصیت معمار کداماند؟ هر شخصیت چه نوع مرزی پدید میآورد؟
- برای تعیین میزان مشارکت خود با تیم، کدام پنج عامل را باید در نظر بگیرید؟
- سه نشانهٔ هشدار که تیم شما بیش از حد بزرگ شده است کداماند؟
- سه فهرست وارسی (checklist) پایه را فهرست کنید که استفاده از آنها برای تیم توسعه مفید است.
فصل ۲۵: مهارتهای مذاکره و رهبری
- چرا مذاکره (negotiation) مهارتی چنین مهم برای معمار است؟
- برای سناریویی که در آن یک ذینفع کسبوکار بر در دسترسبودنِ «پنج نُه» پافشاری میکند، اما در واقع تنها «سه نُه» لازم است، چند تکنیک مذاکره نام ببرید.
- از اینکه یک ذینفع کسبوکار به شما میگوید «دیروز لازمش داشتم» چه نتیجهای میتوانید بگیرید؟
- چرا تکنیک نمایش عملی بر بحث چیره میشود (demonstration defeats discussion) چنین اثربخش است؟
- قاعدهٔ «تفرقه بینداز و حکومت کن» (divide and conquer) چیست؟ چگونه میتوان آن را هنگام مذاکره دربارهٔ ویژگیهای معماری با یک ذینفع کسبوکار به کار برد؟ مثالی بیاورید.
- چهار C معماری (4 Cs of architecture) را فهرست کنید.
- توضیح دهید چرا برای معمار مهم است که هم عملگرا (pragmatic) باشد و هم دوراندیش (visionary).
- برخی از تکنیکهای مدیریت و کاهش شمار جلساتی که به آنها دعوت میشوید کداماند؟
فصل ۲۶: تقاطعهای معماری
- برای اطمینان از همسویی ساختاری با معماری در طول پیادهسازی، از چه تکنیکهایی میتوانید استفاده کنید؟
- توضیح دهید چرا همسو کردن معماری و زیرساخت چنین اهمیتی دارد و مثالی از این همسویی بیاورید.
- مثالی بیاورید از زمانی که توپولوژی یک تیم ممکن است با معماری همسو نباشد.
- چرا معمارِ مسئول یک سیستم خاص باید دغدغهٔ تقاطع معماری و یکپارچهسازی سیستمها (systems integration) را داشته باشد؟ مثالی بیاورید از جایی که معماری ممکن است با یکپارچهسازی سیستمها ناهمسو شود.
- همریختی حوزه و معماری چیست و چرا هنگام بررسی تقاطع معماری و کسبوکار چنین اهمیتی دارد؟
- مثالی از تقاطع معماری و سازمان بیاورید.
فصل ۲۷: بازنگری در قوانین معماری نرمافزار
- سه مزیت عام کتابخانهٔ مشترک (shared library) نسبت به سرویس مشترک (shared service) را فهرست کنید. آیا این مزایا به این معناست که معمار هرگاه با این مصالحه روبهرو شد، باید همیشه کتابخانهٔ مشترک را برگزیند؟
- نتیجهٔ فرعی اول قانون اول معماری نرمافزار چیست؟
- چرا نتیجهٔ فرعی دوم قانون اول معماری نرمافزار تأکید میکند که تحلیل مصالحه باید بارها و بارها انجام شود؟
- چرا بسیاری از تصمیمات معماری نرمافزار را بهتر است بر یک طیف درک کنیم تا بهصورت دوگانههایی آسان و دمدستی؟
واژهنامهٔ اختصاصی این پیوست
| واژهٔ انگلیسی | معادل مصوب/بهکاررفته در این پیوست |
|---|---|
| Discussion Questions | پرسشهای بحث |
| Architecture Decision | تصمیم معماری (جمع: تصمیمات معماری) |
| Design Principle | اصل طراحی (جمع: اصول طراحی) |
| First Law of Software Architecture | قانون اول معماری نرمافزار |
| Knowledge Triangle | مثلث دانش (هرم دانش) |
| Technical Breadth | گستردگی فنی |
| Technical Depth | ژرفای فنی |
| Granularity | دانهبندی |
| Cohesion | انسجام |
| Connascence | همبستگی |
| Static Connascence | همبستگی ایستا |
| Dynamic Connascence | همبستگی پویا |
| Implicit Architecture Characteristic | ویژگی نامشهود معماری |
| Explicit Architecture Characteristic | ویژگی صریح معماری |
| Cross-Cutting Architectural Characteristics | ویژگیهای میانبُرشی معماری |
| Time to Market | زمان عرضه به بازار |
| Composite Architectural Characteristic | ویژگی معماری مرکب |
| Cyclomatic Complexity | پیچیدگی چرخهای |
| Architectural Fitness Function | تابع برازش معماری |
| Architecture Quantum (pl. Quanta) | کوانتوم معماری (ج. کوانتومها) |
| Technical Partitioning | افراز فنی |
| Domain Partitioning | افراز حوزهای |
| Entity Trap | تلهٔ موجودیت |
| Fallacies of Distributed Computing | مغالطههای محاسبات توزیعشده |
| Stamp Coupling | کوپلینگ مُهری |
| Layers of Isolation | لایههای جداسازی |
| Architecture Sinkhole (antipattern) | چاهک معماری |
| Modular Monolith | تکپارچهٔ ماژولار |
| Pipeline Architecture | معماری خط لوله |
| Microkernel Architectural Style | سبک معماری میکروکرنل |
| Core System | سیستم هسته |
| Domain/Architecture Isomorphism | همریختیِ حوزه و معماری |
| Service-Based Architecture | معماری مبتنی بر سرویس |
| Domain Service | سرویس حوزهای |
| Message | پیام |
| Initiating Event | رویداد آغازگر |
| Derived Event | رویداد مشتق |
| Poison Event | رویداد سمی |
| Event Processor | پردازندهٔ رویداد |
| Swarm of Gnats Antipattern | ضدالگوی دستهٔ پشهها |
| Event-Driven Architecture | معماری رویدادمحور |
| Data Loss | گمشدن داده |
| Space-Based Architecture | معماری مبتنی بر فضا |
| Virtualized Middleware | میانافزار مجازیشده |
| Data Writer | نویسندهٔ داده |
| Data Reader | خوانندهٔ داده |
| Data Collision | برخورد داده |
| Replicated Cache | کش تکثیرشده |
| Distributed Cache | کش توزیعشده |
| Domain Reuse | بازاستفادهٔ حوزه |
| Operational Reuse | بازاستفادهٔ عملیاتی |
| Bounded Context | زمینهٔ محدود |
| Data Isolation | جداسازی داده |
| Protocol-Aware Heterogeneous Interoperability | همکنشپذیریِ ناهمگونِ آگاه از پروتکل |
| Database-per-Service | پایگاهداده به ازای هر سرویس |
| Deployability | استقرارپذیری |
| Data Architecture | معماری داده |
| Broker | کارگزار |
| Covering Your Assets (antipattern) | ضدالگوی «خود را پوشش بده» |
| Email-Driven Architecture (antipattern) | ضدالگوی «معماری ایمیلمحور» |
| Architecturally Significant | دارای اهمیت معماری |
| Proposed (ADR status) | پیشنهادی |
| Risk Assessment Matrix | ماتریس ارزیابی ریسک |
| Risk Storming | طوفان ریسک |
| Irrational Artifact Attachment (antipattern) | دلبستگی نامعقول به مصنوع |
| Key (legend) | راهنما |
| Checklist | فهرست وارسی |
| Negotiation | مذاکره |
| Demonstration Defeats Discussion | نمایش عملی بر بحث چیره میشود |
| Divide and Conquer | تفرقه بینداز و حکومت کن |
| 4 Cs of Architecture | چهار C معماری |
| Pragmatic | عملگرا |
| Visionary | دوراندیش |
| Systems Integration | یکپارچهسازی سیستمها |