درس برنامه نویسی
پیشرفته
نیمسال دوم 1402-403
مهلت تحویل1403/04/01 : پروژه پایانی درس برنامه نویسی پیشرفته
سیستم مدیریت یک کلینیک را پیاده سازي کنید .این سیستم باید کارکنان و بیماران کلینیک را مدیریت کند.
-کارکنان کلینیک شامل سرپر ست ،پزشکان ،مسئولین پذیرش بیمار و صندوقداران هستند.
-اطالعات فردي ( شامل کدملی ،نام و )...هر یک از کارکنان و بیماران باید در سیستم ذخیره شود .عالوه بر
این باید براي هر یک ازکارکنان یک کد پرسنلی و براي هر یک از بیماران یک کد اختصاصی در نظرگرفته
شود .
-برخی از پزشکان این کلینیک ،پزشک عمومی و برخی متخصص هستند .پزشکان متخصص از تخصصهاي
متنوعی هستند.
قابلیتهایی که هر یک ازکاربران سیستم (براساس نقش) باید داشته باشند ،عبارتند از:
.1سرپرست
-اضافه کردن پزشک ،مسئول پذیرش و صندوقدار
-بدست آوردن و چاپ کردن انواع لیستها (به عنوان مثال لیست پزشکان پذیرش و صندوقداران ،لیست
بیماران در صف انتظار براي روز فعلی ،لیست بیماران مراجعهکننده به یک پزشک خاص در یک روز خاص
و) ...
-تهیه گزارشهاي روزانه ،ماهانه یا ساالنه (به عنوان مثال تعداد بیماران پذیرششده در یک ماه خاص و )...
-مشاهده اطالعات بیماران (به عنوان مثال مشاهده صورتحساب و گزارش پزشک براي یک بیمار و)...
-دستور دادن به صندوقدار براي محاسبه و واریز حقوق کارکنان
.۲پزشک:
-مالقات بیماري که در ابتداي لیست مالقاتهاي پزشک قرار دارد و نوشتن گزارش براي آن بیمار و حذف
آن بیمار از لیست مالقاتها
.۳مسئول پذیرش:
-اضافه کردن بیمار
-تعیین پزشک راي بیمار براساس نوع پزشک موردنیاز بیمار(عمومی یا متخصص .درصورت نیاز به پزشک
متخصص ،نوع تخصص نیز تعیین میشود.
.۴صندوقدار:
-صدور صورتحساب بیمار (هزینه براساس پزشک عمومی یا متخصص)
-دریافت وجه از بیمار
-اضافه کردن بیمار به لیست مالقاتهاي پزشک مربوطه
-محسابه و واریز حقوق کارکنان (نرخ محاسبه حقوق براي انواع کارکنان متفاوت است)
عال وه بر قابلیتهاي فوق ،هر یک ازکارکنان باید بتوانند فیش حقوق یک ماه خاص یا همه فیشهاي حقوق حقوق خود
را چاپ کنند.
نحوه پذیرش بیمار به این صورت است که هر بیمار ابتدا به مسئول پذیرش مراجعه میکند تا مسئول پذیرش
اطالعات وي را وارد سیستم و پزشک موردنیاز وي را انتخاب نماید .سپس بیمار به صندوقدار مراجعه میکند و
صورتحساب خود را پرداخت میکند .صندوقدار پس از دریافت وجه ،بیمار را به لیست مالقاتهاي پزشک مربوطه اضافه
میکند .هر پزشک بیماران لیست خود را به ترتیب مالقات میکند و براي آنها گزارش مینویسد .بنابراین هر بیمار در
هر لحظه در یکی از وضعیتهاي زیر است:
.1پذیرش شده
.2در صف انتظار پزشک
.3مالقات شده
نکات:
یک نوع داده شمارشی ) (Enumerationبراي وضعیت بیمار تعریف و از آن براي ذخیره وضعیت بیمار در -
هر لحظه استفاده کنید.
-همه اطالعات کلینیک را در فایل ذخیره و براي تهیه گزارشها از این فایلها استفاده کنید.
-رعایت نکات برنامهنویسی شیگرا (مفاهیم کالس،ارثبري و )..در این پروژه ضروري است.
-پکیجبندي صحیح براي بخشهاي مختلف پروژه درنظر گرفته شود.
توصیه میشود این پروژه را در قالب مراحل زیر انجام دهید:
-تحلیل و طراخی برنامه از دیدگاه شیگرایی :ابتدا کالسهاي موردنیاز برنامه و ارتباط آنها و ویژگیها و
متدهاي موردنیاز هرکالس را مشخص کنید.
-پیادهسازي :کالسهاي موردنیاز را به تدریج پیاده سازي کنید .یک برنامه تست بنویسید و امکاناتی را که تا
آن زمان پیادهسازي کردهاید ،تست کنید.
-گزارشی کوتاه از پروژه خود بنویسید .در اینگزارش ،لیستی ازکالسها ،نحوه ارتباط آنها (در صورت وجود
ارتباط مانند ارثبري) و هدف هر کالس را مشخص کنید .همچنین توضیحات کلی در مورد برنامه و نحوه
اجراي آن بنویسید .نمونه یا نمونههایی از اجراي برنامه را در این گزارش قرار دهید .این نمونهها باید به
گونه اي باشند که همه قابلیتهاي درخواست شده و قابلیتهایی که خودتان به سیستم اضافه کردهاید ،را
نشان دهند.
نحوه تحویل پروژه:
-تمامی فایلهاي مرتبط با پروژه به صورت یک فایل فشرده تا تاریخ معین در سامانه LMSبارگزاري
شوند.
-اسامی تمام اعضاي تیم میبایست در صفحه اول گزارش ذکر شود.
-درصورت نیاز ،تحویل پروژه به صورت حضوري خواهد بود.