پرش به محتویات

طراحی ماژول‌های محصول

این بخش مرجع طراحی انتها‌به‌انتهای ماژول‌های محصول است. تیم محصول، طراحی و مهندسی از این چارچوب استفاده می‌کنند تا دامنه، رفتار کاربر، چرخه عمر موجودیت‌ها و قراردادهای هر ماژول را پیش از پیاده‌سازی هم‌راستا کنند.

هدف و دامنه

هر پوشه یک ماژول مستقل را پوشش می‌دهد و تصمیم‌های لازم برای طراحی و تحویل آن را در هفت مرحله ثبت می‌کند. تعریف عمومی موجودیت‌ها، نقش‌ها و قواعد مشترک محصول در اسناد مرجع دامنه باقی می‌ماند و در این بخش فقط رفتار اختصاصی هر ماژول مستند می‌شود.

داخل دامنه

  • هدف، سناریوها و مرزهای هر ماژول
  • جریان‌های اصلی و جایگزین کاربر
  • وضعیت‌ها، گذارها و قواعد دسترسی
  • اعلان‌ها، خطاها، حالت‌های مرزی و وایرفریم‌ها

خارج از دامنه

  • تکرار تعریف موجودیت‌ها یا Roleهای مشترک محصول
  • ثبت تصمیم معماری بدون ارجاع به سند مرجع معماری
  • جزئیات پیاده‌سازی که هنوز درباره رفتار محصول تصمیمی ایجاد نمی‌کنند

فرآیند طراحی ماژول

هر ماژول به‌ترتیب زیر طراحی و Review می‌شود:

  1. هدف، محدوده، Actorها و سناریوهای اصلی مشخص می‌شوند.
  2. User Flow مسیر و اقدام‌های کاربر را برای هر سناریو تعریف می‌کند.
  3. Workflow چرخه عمر موجودیت‌ها، وضعیت‌ها و گذارهای مجاز را ثبت می‌کند.
  4. دسترسی هر Role در محدوده همان ماژول تعیین می‌شود.
  5. رویداد، مخاطب، کانال و زمان ارسال اعلان‌ها مشخص می‌شوند.
  6. خطاهای سیستمی، استثناهای کسب‌وکار و روش بازیابی پوشش داده می‌شوند.
  7. وایرفریم‌ها پس از تثبیت مراحل قبلی طراحی و به تصمیم‌های مرجع لینک می‌شوند.
flowchart LR Scope[هدف و محدوده] --> UserFlow[جریان کاربر] UserFlow --> Workflow[گردش‌کار و وضعیت‌ها] Workflow --> Access[دسترسی‌ها] Access --> Notification[اعلان‌ها] Notification --> Error[خطاها و موارد خاص] Error --> Wireframe[وایرفریم‌ها]

قواعد ثبت تصمیم

  • هر تصمیم فقط در یک فایل به‌عنوان منبع حقیقت ثبت می‌شود.
  • فایل‌های دیگر به تصمیم مرجع لینک می‌دهند و متن آن را تکرار نمی‌کنند.
  • User Flow اقدام‌ها و مسیر کاربر را نشان می‌دهد؛ Workflow وضعیت داخلی و چرخه عمر موجودیت را تعریف می‌کند.
  • Assignment، Comment، Warning و Fine فقط زمانی Status محسوب می‌شوند که یک مرحله پایدار از چرخه عمر را نشان دهند؛ در حالت معمول Action یا Entity مستقل هستند.
  • وضعیت‌های خطا، مسیرهای جایگزین و امکان بازیابی باید پیش از تکمیل طراحی پوشش داده شوند.
  • تغییر رفتار ماژول باید همراه با به‌روزرسانی سند مرجع همان تصمیم انجام شود.

معیار تکمیل طراحی

طراحی یک ماژول زمانی آماده تحویل است که:

  • هدف، مخاطب، دامنه و سناریوهای آن تایید شده باشند.
  • جریان اصلی، مسیرهای جایگزین و حالت‌های مرزی ثبت شده باشند.
  • وضعیت‌ها، transitionها و Actor مالک هر تغییر روشن باشند.
  • Roleها و Permissionهای ماژول با مدل دسترسی محصول سازگار باشند.
  • اعلان‌ها، خطاها و روش بازیابی تعریف شده باشند.
  • وایرفریم‌ها همه حالت‌های اصلی، خالی، loading، خطا و عدم دسترسی را پوشش دهند.
  • تصمیم‌های معماری و مدل دامنه با لینک relative به مرجع اصلی متصل باشند.
  • هیچ تصمیم متناقض یا Placeholder تاییدنشده‌ای باقی نمانده باشد.

ماژول‌ها