طراحی ماژولهای محصول
این بخش مرجع طراحی انتهابهانتهای ماژولهای محصول است. تیم محصول، طراحی و مهندسی از این چارچوب استفاده میکنند تا دامنه، رفتار کاربر، چرخه عمر موجودیتها و قراردادهای هر ماژول را پیش از پیادهسازی همراستا کنند.
هدف و دامنه
هر پوشه یک ماژول مستقل را پوشش میدهد و تصمیمهای لازم برای طراحی و تحویل آن را در هفت مرحله ثبت میکند. تعریف عمومی موجودیتها، نقشها و قواعد مشترک محصول در اسناد مرجع دامنه باقی میماند و در این بخش فقط رفتار اختصاصی هر ماژول مستند میشود.
داخل دامنه
- هدف، سناریوها و مرزهای هر ماژول
- جریانهای اصلی و جایگزین کاربر
- وضعیتها، گذارها و قواعد دسترسی
- اعلانها، خطاها، حالتهای مرزی و وایرفریمها
خارج از دامنه
- تکرار تعریف موجودیتها یا Roleهای مشترک محصول
- ثبت تصمیم معماری بدون ارجاع به سند مرجع معماری
- جزئیات پیادهسازی که هنوز درباره رفتار محصول تصمیمی ایجاد نمیکنند
فرآیند طراحی ماژول
هر ماژول بهترتیب زیر طراحی و Review میشود:
- هدف، محدوده، Actorها و سناریوهای اصلی مشخص میشوند.
- User Flow مسیر و اقدامهای کاربر را برای هر سناریو تعریف میکند.
- Workflow چرخه عمر موجودیتها، وضعیتها و گذارهای مجاز را ثبت میکند.
- دسترسی هر Role در محدوده همان ماژول تعیین میشود.
- رویداد، مخاطب، کانال و زمان ارسال اعلانها مشخص میشوند.
- خطاهای سیستمی، استثناهای کسبوکار و روش بازیابی پوشش داده میشوند.
- وایرفریمها پس از تثبیت مراحل قبلی طراحی و به تصمیمهای مرجع لینک میشوند.
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 تاییدنشدهای باقی نمانده باشد.