ثبت نام دوره جدید DDD و EventSourcing ...
0

چالش نهم DDD Plus

جهت مشاهده‌ی چالش هفته‌ی قبل اینجا کلیک کنید.

پیش‌زمینه:

شما در شرکت MyHotels.Com مشغول کار هستید. شما در حال پیاده‌سازی فیچری هستید که در آن از شما خواسته شده است که یک هتل را برای فروش بتوان در سیستم تعریف کرد.

سناریو:

در نظر داشته باشید که مسئله‌ای که در ادامه مشاهده می‌کنید فرم ساده‌ شده‌ی صورت مسئله مدل کردن هتل می‌باشد.

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

همچنین هر هتل دارای یکسری طبقه است که در هر طبقه یکسری اتاق وجود دارد. کاربری طبقات با همدیگر متفاوت می‌باشد. مثلا طبقه اول/همکف ممکن است دارای کاربری لابی باشد. یا مثلا طبقه چهارم دارای کاربری رستوران باشد.

نوع اتاق‌های هر طبقه نیز با یکدیگر متفاوت می‌باشد. مثلا اتاق‌ها ممکن است سینگل، دبل یا توئین باشد. مساحت هر نوع اتاق نیز می‌تواند متفاوت باشد. به عنوان مثال اتاق سینگل ممکن است هم شامل اتاق‌های ۴۰ متری و هم اتاق‌های ۵۰ متری باشد. از نظر امکاناتی نیز اتاق‌ها ممکن است با یکدیگر متفاوت باشند. به عنوان نمونه یک اتاق دبل ممکن است هم بصورت استاندارد ارائه شود و هم بصورت سوپریور(Superior )– اتاق سوپریور همانطور که از نامش پیداست دارای خدماتی ویژه‌تر نسبت به سایر اتاق‌ها هستند.-

صورت مسئله:

با توجه به صورت مسئله بالا به سوالات زیر پاسخ دهید:

  • هتل شامل مشخصات هتل، تصاویر، طبقات و اتاق‌های یک هتل را مدل کنید؟
  • نزدیکی هتل به مراکز مهم تفریحی، دسترسی‌های هتل، نزدیکی به سفارت و … را مدل کنید؟
  • یک هتل ممکن است دارای ۵۰ اتاق و هتل دیگر ممکن است دارای ۸۰۰ اتاق باشد. دانستن این مسئله چه تاثیری در مدلسازی شما دارد؟
  • ظرفیت مسافرپذیری هتل را چگونه مدل می‌کنید؟ مثلا سوالاتی از قبیل اینکه هتل دارای چند اتاق است، چه تعداد از اتاق‌های هتل در طبقه دوم و چه تعداد در طبقه اول قرار دارد؟
  • سناریوهای تست پذیرش و تست دومین را برای موارد بالا بنویسید و پیاده‌سازی کنید؟
ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *