Sprint 2 - AmirrezaNilchi/MisProject GitHub Wiki

جلسه رتروسپکتیو در تاریخ 1 خرداد و ابتدای اسپرینت دوم برگزار شد و نتایج و خروجی های حاصل اسپرنت قبل توسط اعضای تیم مورد بررسی قرار گرفتند که نتایج آن به شرح زیر می باشد:

  • بین اعضای گروه به صورت جمعی، تبادل نظر کم بود و در ادامه کارهایی برای بهبود این مورد ضورت خواهد گرفت؛ از جمله برگزاری جلسات هر 4 روز یکبار و تبادل نظرات بیشتر در گروه تلگرام به صورت گروهی

  • به دلیل ناآشنا بودن با محیط گیت هاب، یک سری ناهماهنگی هایی بین اعضای تیم و آپلود کردن فایل ها به وجود آمد که در اسپرینت های پیش رو این مشکلات کمرنگ و برطرف خواهند شد.

جلسه در تاریخ 1 خرداد برگزار شد . نتایج آن در روز سوم خرداد مورخ در ویکی وارد شد و تسک های شکسته شده در تسک برد وارد شدند.

نمودار فعالیت ها

فعالیت هایی که در این این سیستم انجام می شوند و ارتباط بین آن ها در این نمودار آورده شده اند. فرضیات این سیستم به شرح زیر می باشند.

  • سه نقطه شروع برای این سیستم در نظر گرفته شده است که دو تای آن ها مربوط به روزی مشخص و دیگری مربوط به فردای آن روز می باشد
  • دو آبجکت نود برای این سیستم در نظر گرفته شده اند. آبجکت نود غذا و آبجکت نود نظرسنجی
  • اگر موجودی حساب مشتری ناکافی بود،لیست مشتری نگه داشته می شود در سیتسم اما فرض شده که فرآیند در آن قسمت متوقف می شود
  • برای فعالیت های همزمان سه فورک نود و سه جوین نود در نظر گرفته شده اند
  • یک سامانه درگاه بانکی برای پرداخت ها در نظر گرفته شده است کاربر و گارسون ها وارد سیستم می شند و در صورتی که عضو نبوده اند باید عضو شوند. اینجا قسمت گارسون به اتمام می رسد اما دیگر فعالیت ها ممکن است ادامه پیدا کرده باشند. سفارش غذا و پیگیری آن پرداخت مربوط به آن و هماهنگی بین آشپزها و سرآشپز و گارسون ها نیز از قدم های بعدی این نمودار فعالیت می باشند. در رور بعدی برای کاربران نظر سنجی ارسال می شود که خود نظرسنجی به صورت یک آبجکت در نظر گرفته شئده است Activity Diagram در ابتدا کاربر، یوزر و پسورد خود را وارد می‌کند. فرض1 : همه کاربران قبلا در سایت ثبت‌نام کردند یوزر پسورد دارند. در صورتی‌که یوزر و پسورد وارد شده صحیح باشد، سیستم پیام می‌دهد و می‌گوید که کاربر باید غذای خود را انتخاب کند و در صورتی‌که صحیح نباشد، پیام میدهد که بار دیگر تلاش کنید. کاربر غذا و تعداد مورد نیازش را انتخاب می‌کند. پس از انتخاب کاربر، انبار باید چک کند که آیا به تعداد کافی غذا موجود هست یا خیر. در صورتی‌که جواب "بله" باشد، سیستم پیام می‌دهد که "غذا موجود است، به درگاه پرداخت بروید" و درغیر اینصورت پیام میدهد "غذا موجود نیست، لطفا غذای دیگر انتخاب کنید". پس از اینکه غذا موجود شد، کاربر به درگاه پرداخت وصل می‌شود و اطلاعات بانکی خود را وارد می‌کند. پس از وارد کردن اطلاعات توسط کاربر، تراکنش شروع می‌شود. درصورتی‌که اطلاعات کارت اعم از شماره کارت، cvv2، تاریخ انقضا و رمز دوم صحیح باشد، به مرحله بعدی که چک کردن موجودی حساب است می‌رسیم. در صورتی‌که حساب دارای موجودی مورد نیاز باشد، عملیات پرداخت با موفقیت انجام می‌شود و در غیر این‌صورت پیام "عملیات با خطا همراه شد. لطفا دوباره تلاش کنید." ارسال می‌شود. پس از انجام موفقیت‌آمیز پرداخت بانکی، کاربر باید ساعت مورد نظر خود را انتخاب کند. پس از انتخاب روز توسط کاربر، سیستم میزهایی را نشان می‌دهد که در آن روز هنو رزرو نشده‌اند. سپس کاربر از بین این میزها یکی را انتخاب کرده و پس از انتخاب آن، عملیات سفارش غذا به اتمام می‌رسد و کاربر می‌تواند خارج شود. فرض2 : در مرحله آخر سیستم میزهایی را به کاربر نشان می‌دهد که جای خالی دارند و قابل رزرو هستند به همین دلیل است که بعدش سیستم چک نمی‌کند که آیا این میز خالی است یا خیر! پس از رسیدن روز مورد نظر، سیستم در ابتدای روز لیستی از غذاهای آن روز را برای سرآشپز ارسال می‌نماید. هم‌چنین در ابتدای روز، اطلاعاتی مبنی بر هر میز را برای گارسون آن میز ارسال می‌شود. حال زمانی که غذا آماده شود، سرآشپز در سامانه ثبت می‌کند که غذا آماده است و هم‌زمان سیستم پیامی برای گارسون ارسال می‌نماید. سپس گارسون غذا را برای کاربر می‌برد. در نهایت، فردای آن‌روز سیستم نظرسنجی را برای مشتری ارسال می‌نماید.

توضیحات نمودار use case:

ابتدا باید توجه کنیم برای سیستم 6 اکتور تعریف شده‌است. «مشتری»، «مسئول پذیرش»، «سامانه»، «سرآشپز»، «گارسون» و «درگاه پرداخت بانک» این شش مورد هستند. این نمودار براساس ارتباط میان اکتورها و فرآیندهای طی شدۀ آنان در سیستم رسم شده‌اند. مثلاً در فرض شده‌است که یکی از فرآیندهای طی شده توسط مشتری در سیستم، «اعلام حضور در رستوران» است. تهیۀ غذا با یک رابطۀ «شامل» به آن وصل شده‌است. بدین معنی که پس از اعلام حضور مشتری توسط خود مشتری (با کد سفارش که قبلاً سامانه آن را صادر کرده)، تهیۀ غذا توسط سرآشپز آغاز می‌شود و گارسون نیز پس از تهیۀ غذا، فرآیند «تحویل غذا» را انجام می‌دهد؛ یعنی «تحویل غذا» هم با «تهیۀ غذا» رابطۀ «شامل» وجود دارد. مهم‌ترین فرض این سؤال این بوده‌است که «به‌روزرسانی وضعیت میزها» که فرآیند انجام شده توسط سامانه است، به گارسون مربوط شده‌است. طبق صورت سؤال هر گارسون مسئول یک میز خاص است؛ بنابراین هنگام به‌روزرسانی وضعیت یک میز، مشخص می‌شود که کدام گارسون مسئول آن است. بدین ترتیب این فرآیند به اکتور گارسون متصل شده‌است. یکی دیگر از فرض‌های حل سؤال این است که یکی از وظایف مشتری، «تکمیل سبد خرید» است. هروقت این اتفاق می‌افتد، پس از آن وضعیت غذاهای سفارش داده‌شده توسط سامانه بررسی می‌شوند؛ پس این رابطه «شامل» است. اگر مواد غذایی برای تهیۀ یک نوع غذای خاص موجود نباشد، حالت «گسترده یا اکستندد» پیش می‌آید که در نمودار مشخص شده‌است.