You are on page 1of 64

‫پوهنتون غزنی‬

‫ء‬
‫پوهنحی تعلیم و تربیه‬
‫دیپارتمنت کمپیوتر ساینس‬

‫پایان نامه دوره لیسانس‬

‫‪Online Academic Material Sharing and Evaluation‬‬


‫)‪System (OAMSES‬‬

‫تهیه کننده‪:‬‬

‫یاسین اکبری‬

‫استاد رهنما‪:‬‬

‫پوهنیار محمد عالم انوری‬

‫‪1398‬‬
‫أ‬
‫یادآوری‬

‫قابل یادآوری است که تمام مطالب درج شده در این مستند )‪ (Documentation‬کار خودم بوده و در‬
‫مواردی که از دستآوردهای علمی و پژوهشی دیگران (اعم از پایاننامه‪ ،‬کتاب‪ ،‬مقاله و‪ )...‬استفاده نمودهام‪،‬‬
‫مطابق به ضوابط و رویه موجود‪ ،‬نهایت امانتداری انجام شده‪ ،‬نام منابع مورد استفاده و سایر مشخصات آن را‬
‫در فهرست مربوطهاش ذکر و درج کردهام‪.‬‬

‫‪1398/9/8‬‬ ‫یاسین اکبری‬

‫أ‬
‫پیشگفتار‬

‫خداوند بزرگ را سپاسگزارم که مرا در نگارش پایان نامهام توفیق داد تا توسط آن حاصل اندوختههایم را به‬
‫رشته تحریر در آورم‪ .‬این نوشتن است که از طریق آن میتوان دانش را از یک نسل به نسل دیگر انتقال داده‬
‫و آن را ماندگار ساخت‪.‬‬

‫اینکه زمینه تحصیل برایم فراهم شد؛ چهار سال عمرم را صرف تحصیل این مقطع کردم و حال که‬
‫هم فارغ التحصیل شدهام‪ ،‬میخواهم گامهایم را در راه خدمت به جامعه و کشور عزیز مان افغانستان بردارم و‬
‫آنچه که در این سالها آموختهام در مسیر ترقی و پیشرفت و آبادی کشور عزیز مان استفاده کنم‪.‬‬

‫یکی از ضروری ترین مواردی که در دنیای امروزی؛ یعنی عصر انترنت و تکنولوژی مطرح است‪ ،‬استفاده‬
‫از سیستمهای عصری و تکنولوژی‪ ،‬بهرهگیری و همگام بودن با خود تکنولوژی است‪ .‬همچنین در دسترس قرار‬
‫داشتن مواد و منابع معتبر تحصیلی و دانشگاهی نظر به رشته تحصیلی‪ ،‬میتواند به آموزش سرعت و سهولت‬
‫بخشد‪ .‬بنابر این‪ ،‬کوشیدم کوچکترین سهم را در دنیای تکنولوژی داشته باشم و وِب اَپلیکشن سیستم‬
‫اشتراکگذاری مواد تحصیلی و ارزیابی آنالین وزارت تحصیالت عالی افغانستان را ایجاد کنم‪.‬‬

‫اگر یک نگاهی به کشورهای توسعه یافته جهان بیندازیم‪ ،‬میبینیم که اساس پیشرفت آنها را تکنولوژی‬
‫تشکیل میدهد و اگر از آن استفاده صورت نگیرد از قافله عقب میماند‪ .‬قافلهای که با سرعت خیلی زیاد در‬
‫حرکت است‪ .‬دیگر اینکه در نظام آموزشی عصر حاضر‪ ،‬در همه نقاط دنیا تقاضا بر این است که سرعت آموزش‬
‫افزایش یابد و این توسط تکنولوژی آموزشی ممکن است‪.‬‬

‫یکی از چالشهای فعلی وزارت تحصیالت عالی افغانستان‪ ،‬نبود سیستم اشتراکگذاری مواد تحصیلی‪،‬‬
‫عناوین‪ ،‬موضوعات و از همه جا دسترسی به فایلهای پایان نامههای فارغ التحصیالن است‪ .‬از اینرو‪ ،‬به خاطر‬
‫حل این مسأله‪ ،‬من سیستمی را تحت عنوان ‪Online Academic Material Sharing and‬‬
‫‪ Evaluation System‬یا سیستم اشتراکگذاری مواد تحصیلی یا دانشگاهی و ارزیابی آنالین را ایجاد کردم‬
‫تا این سیستم کمکی باشد برای تحقق یافتن اهداف توسعه تکنالوژی آموزشی‪.‬‬

‫با احترام‪،‬‬

‫یاسین اکبری‬

‫ب‬
‫چکیده‬

‫افزایش روز افزون استفاده از تکنولوژی و سیستمهای کمپیوتری و کمرنگ شدن سیستم سنتی و کاغذی و‬
‫همچنان انترنت‪ ،‬این جهان پهناور را به دهکده کوچک تبدیل کردهاست‪ .‬همه میتوانند توسط سیستم مبتنی‬
‫بر کمپیوتر در این دهکده تبادل اطالعات و یا هم همیشه به صورت گروهی یا انفرادی در ارتباط باشند‪ .‬در‬
‫این پایاننامه هم نظر بر همین قاعده تحقیق شده است که چگونه دانشگاههای کشور مان یک ‪Data Center‬‬
‫مرکزی داشته و تمام دانشگاهها باهم در ارتباط باشند‪.‬‬

‫سیستم اشتراکگذاری مواد تحصیلی و ارزیابی آنالین یا ‪Online Academic Material‬‬


‫)‪ Sharing and Evaluation System (OAMSES‬میتواند کمک کند که استادان مواد تحصیلی‬
‫)‪ (Materials‬را از سراسر دانشگاهها به اشتراک بگذارند و محصلین و سایر کاربرهایی که حساب کاربری‬
‫فعال در سیستم ‪ OAMSES‬دارند‪ ،‬میتوانند مواد اشتراک گذاشته شده را ببینند‪ ،‬دانلود کنند‪ ،‬در مورد هر‬
‫کدام آن نظر بدهند‪ ،‬الیک مثبت یا منفی بزنند؛ یعنی رای مثبت یا منفی بدهند‪.‬‬

‫‪ OAMSES‬برعالوه اشتراکگذاری مواد تحصیلی‪ ،‬کمک میکند که در سرقت و دزدی ادبی کاهش‬
‫دهد‪ .‬در این سیستم دیپارتمنتها موضوعات و عناوین پایاننامهها )‪ (Theses‬با فایل آن را ثبت سیستم‬
‫میکنند و استادان و محصالن عناوین گرفته شده و کارهای تحقیق و انجام شده دیگران را میبینند‪ .‬لهذا از‬
‫این طریق میتوان تقلب و تکرار در پایاننامهها را کاهش داد‪.‬‬

‫در ضمن نکات و کارایی مذبور‪ ،‬همچنان این سیستم کمک میکند که استادان مورد ارزیابی محصالن‬
‫قرار گیردند‪ .‬محصلین در هر سمستر استادان را نظر به میزان مؤثریت‪ ،‬روش تدریس و قوه افهام و تفهیم شان‬
‫ارزیابی کنند و نتیاج ارزیابی برای محصلین‪ ،‬استادان‪ ،‬مدیریت تدریسی و ریاست دانشگاه قابل مشاهده اند‪.‬‬

‫ج‬
‫تقدیم‬

‫تقدیم به‪:‬‬

‫الههی عشق‪ ،‬ملکه خوبیها؛ مادرِ عزیزم‪ ،‬به پاس فداکاریها و مهربانیهای بیحد و مرز شان که با‬
‫بودن شان‪ ،‬تمام وجودم را معنی بخشید و همواره پشتیبان من در تمام مراحل زندگیم بوده است و‬
‫به من درس پایداری آموخت‪ .‬مادر عزیزم! لحظه لحظه زندگیم آکنده از مهربانیها و محبتهای‬
‫بیدریغ توست‪ .‬این تقدیم بی ارجحی است از ذره به خورشید‪...‬‬

‫اسطوره مردانگی؛ پدرم که وجودم همه برایش رنج بود و رنج‪ .‬وجودش برای همه عشق بود و عشق‪.‬‬
‫توانش رفت تا به توانایی برسم‪ .‬با نگاه پرفروغش و با عشق به زندگیاش به من درس زندگی آموخت‪..‬‬

‫برادرانم‪ ،‬به پاس همکاری و حمایت شان‪...‬‬

‫دوستانم‪ ،‬به پاس دوستی و محبت شان‪...‬‬

‫د‬
‫سپاسگزاری‬

‫با تشکر از‪:‬‬

‫استاد بزرگوارم‪ ،‬جناب آقای پوهنیار محمد عالم انوری‪ ،‬به پاس حمایتها‪ ،‬راهنمایی بیدریغ و‬
‫دلسوزانه و صبورانه شان که در این راه همچون چراغی راهنمای راهم بود‪...‬‬

‫تمام اساتیدی که در طول دوران تحصیلم‪ ،‬دلسوزانه دانش خود را در اختیارم قرار دادند‪...‬‬

‫ه‬
‫فهرست مطالب‬

‫صفحه‬ ‫عنوان‬
‫أ‬ ‫یادآوری‬

‫ب‬ ‫پیشگفتار‬

‫ج‬ ‫چکیده‬

‫د‬ ‫تقدیم‬

‫ه‬ ‫سپاسگزاری‬

‫و‬ ‫فهرست مطالب‬

‫ی‬ ‫فهرست جدولها‬

‫ک‬ ‫فهرست اشکال‬

‫مقدمه‬ ‫فصل اول‬


‫‪1‬‬ ‫‪ 1.1‬معرفی‬

‫‪2‬‬ ‫‪ 2.1‬پیشینه تحقیق‬

‫‪2‬‬ ‫‪ 2.1‬تبیین مساله تحقیق‬

‫‪3‬‬ ‫‪ 3.1‬اهداف تحقیق‬

‫‪3‬‬ ‫‪ 1.3.1‬اهداف کلی تحقیق‬

‫‪3‬‬ ‫‪ 2.3.1‬اهداف جزئی تحقیق‬

‫‪4‬‬ ‫سوالهای تحقیق‬ ‫‪4.1‬‬

‫‪4‬‬ ‫فرضیههای تحقیق‬ ‫‪5.1‬‬

‫‪4‬‬ ‫‪ 6.1‬اهمیت تحقیق‬

‫‪5‬‬ ‫‪ 7.1‬محدوده تحقیق‬

‫‪5‬‬ ‫‪ 8.1‬خالصه و ساختار کلی فصلها‬

‫و‬
‫مروری بر تحقیقات انجام شده‬ ‫فصل دوم‬
‫‪6‬‬ ‫‪SlideShare 1.2‬‬

‫‪7‬‬ ‫‪OAMSES vs SlideShare 2.2‬‬

‫فصل سوم میتودولوژی‬


‫‪9‬‬ ‫‪ 1.3‬طرح مسأله‬

‫‪9‬‬ ‫‪ 2.3‬اثر و دلیل‬

‫‪10‬‬ ‫‪ 3.3‬معیارهای ارزیابی میتودولوژی‬

‫‪10‬‬ ‫‪ 1.3.3‬پیچیدگی‬

‫‪11‬‬ ‫‪ 2.3.3‬اندازه‬

‫‪11‬‬ ‫‪ 3.3.3‬هزینه‬

‫‪11‬‬ ‫‪ 4.3.3‬ریسک‬

‫‪11‬‬ ‫‪ 5.3.3‬عملی بودن‬

‫‪11‬‬ ‫‪ 4.3‬میتودولوژی‬

‫‪11‬‬ ‫‪ 5.3‬بررسی اجمالی ‪FDD‬‬

‫‪12‬‬ ‫‪ 1.5.3‬مرحله ‪ :1‬ساختن یک مدل کلی )‪(Develop an Overall Model‬‬

‫‪12‬‬ ‫‪ 2.5.3‬مرحله ‪ :2‬تهیه لیستی از امکانات )‪(Build a Features List‬‬

‫‪13‬‬ ‫‪ 3.5.3‬مرحله ‪ :3‬برنامه ریزی به اساس ویژگیها )‪(Plan by Feature‬‬

‫‪13‬‬ ‫‪ 4.5.3‬مرحله ‪ :4‬طراحی به اساس ویژگیها )‪(Design by Feature‬‬

‫‪14‬‬ ‫‪ 5.5.3‬مرحله ‪ :5‬ساختن به اساس ویژگیها )‪(Build by Feature‬‬

‫‪16‬‬ ‫دالیل انتخاب میتودولوژی ‪FDD‬‬ ‫‪6.3‬‬

‫‪17‬‬ ‫‪( Functional Requirements 7.3‬ضروریات عملی)‬

‫‪17‬‬ ‫‪( Non-Functional Requirements 8.3‬ضروریات غیر عملی)‬

‫‪18‬‬ ‫‪Requirement Engineering 9.3‬‬

‫ز‬
18 Requirement Elicitation 10.3

19 Requirement Specification 11.3

19 Use Case ‫ نمودار‬12.3

19 Use Case 1.12.3

20 Actor 3.12.3

24 Activity Diagram 13.3

25 Analysis 14.3

25 Object Analysis Model 1.14.3

26 Implementation 15.3

26 Laravel Support MVC Pattern 16.3

28 Data Modeling 17.3

29 Object Relational Mapping 18.3

31 Laravel Life Cycle 19.3

32 OAMSES ‫ امنیت‬20.3

32 Application Security in Laravel 1.20.3

33 Authorization and User Role 2.20.3

34 ‫ منابع و تکنولوژیهای مورد نیاز‬21.3

‫فصل چهارم نتایج تحقیق‬


36 ‫ مقدمه‬1.4

36 OAMSES ‫ قابلیتهای‬2.4

‫فصل پنجم نتیجهگیری و پیشنهادات‬


48 ‫ نتیجهگیری‬1.5

48 ‫ پیشنهادات‬2.5

‫ح‬
‫‪50‬‬ ‫منابع و مآخد‬

‫ط‬
‫فهرست جدولها‬

‫صفحه‬ ‫نمبر جدول‬


‫‪21‬‬ ‫سناروی تنظیم و ترتیب مواد تحصیلی‬ ‫‪1.3‬‬
‫‪22‬‬ ‫سناریوی ثبت و اشتراکگذاری پایاننامه‬ ‫‪2.3‬‬
‫‪22‬‬ ‫سناریوی تغییر رمز عبور‬ ‫‪3.3‬‬

‫ی‬
‫فهرست اشکال‬

‫صفحه‬ ‫نمبر شکل‬


‫‪12‬‬ ‫دیاگرام ‪FDD‬‬ ‫‪1.3‬‬
‫‪15‬‬ ‫جزئیات دیاگرام ‪FDD‬‬ ‫‪2.3‬‬
‫‪18‬‬ ‫دیاگرام ‪Requirement Elicitation‬‬ ‫‪3.3‬‬
‫‪21‬‬ ‫‪Use Case Diagram‬‬ ‫‪4.3‬‬
‫‪24‬‬ ‫‪OAMSES Activity Diagram‬‬ ‫‪5.3‬‬
‫‪25‬‬ ‫بعضی کالسهای ‪OAMSES‬‬ ‫‪6.3‬‬
‫‪26‬‬ ‫‪OAMSES Data Analysis Model‬‬ ‫‪7.3‬‬
‫‪27‬‬ ‫دیاگرام ‪MVC‬‬ ‫‪8.3‬‬
‫‪27‬‬ ‫دیاگرام ‪Laravel MVC‬‬ ‫‪9.3‬‬
‫‪28‬‬ ‫‪Physical Data Model 10.3‬‬
‫‪29‬‬ ‫‪Material Migration 11.3‬‬
‫‪30‬‬ ‫‪Material SQL 12.3‬‬
‫‪30‬‬ ‫‪ 13.3‬ساختار نهایی جدول ‪Material‬‬
‫‪31‬‬ ‫‪ 14.3‬دیاگرام ‪Laravel Life Cycle‬‬
‫‪34‬‬ ‫‪ 15.3‬عملکرد ‪Middleware‬‬
‫‪36‬‬ ‫فرم ثبت دانشگاهها‬ ‫‪1.4‬‬
‫‪37‬‬ ‫لیست استادان‬ ‫‪2.4‬‬
‫‪37‬‬ ‫لیست محصالن‬ ‫‪3.4‬‬
‫‪38‬‬ ‫لیست پایاننامههای ثبت شده دیپارتمنت و فارغین‬ ‫‪4.4‬‬
‫‪38‬‬ ‫فرم ثبت پایاننامه‬ ‫‪5.4‬‬
‫‪39‬‬ ‫فرم ثبت اشتراکگذاری مواد تحصیلی‬ ‫‪6.4‬‬
‫‪39‬‬ ‫صفحه مواد تحصیلی به اشتراکگذاشته شده‬ ‫‪7.4‬‬
‫‪40‬‬ ‫نظرات محصالن در مورد مواد به اشتراکگذاشته شده‬ ‫‪8.4‬‬
‫‪40‬‬ ‫صفحه داشتبورد یا ‪ Home Page‬محصالن‬ ‫‪9.4‬‬
‫‪41‬‬ ‫‪ 10.4‬صفحه ارزیابی ‪ Course‬ها‬
‫‪41‬‬ ‫‪ 11.4‬فرم ثبت کورسها‬

‫ک‬
‫‪42‬‬ ‫‪ 12.4‬صفحه داشبورد دانشگاهها‬
‫‪42‬‬ ‫‪ 13.4‬صفحه مشاهده دیپارتمنتها برای نمایش ارزیابی‬
‫‪43‬‬ ‫‪ 14.4‬صفحه نتایج ارزیابی ‪ Course‬ها‬
‫‪43‬‬ ‫‪ 15.4‬صفحه نمایش اطالعات کلی دانشگاهها‬
‫‪44‬‬ ‫‪ 16.4‬صفحه نمایش اطالعات جزئی دانشگاهها‬
‫‪45‬‬ ‫‪ 17.4‬مدیرت پروفایل‬
‫‪46‬‬ ‫‪ 18.4‬صفحه ارتباط با ما‬
‫‪46‬‬ ‫‪ 19.4‬داشبورد وزارت‬
‫‪47‬‬ ‫‪Mailbox 20.4‬‬
‫‪47‬‬ ‫‪ 21.4‬صفحه پایاننامهها‬

‫ل‬
‫فصل اول‬

‫مقدمه‬

‫‪ 1.1‬معرفی‬
‫امروز مهمترین دغدغه نظام آموزشی و تربیتی یک کشور‪ ،‬ایجاد بستر مناسب جهت رشد و تعالی‬
‫سرمایههای فکری در جامعهی اطالعاتی و دانایی محور میباشد‪ .‬برای آن که همه گروههایی اجتماعی قادر‬
‫باشند به طور مؤثر در چنین جامعه مشارکت داشته باشند‪ ،‬باید یادگیری پیوسته‪ ،‬خالقیت‪ ،‬نوآوری و نیز‬
‫مشارکت فعال و سازنده اجتماعی را بیاموزند‪.‬‬

‫یکی از گزینهها برای سرعت بخشی و تعجیل در جهت بازسازی نظام تعلیمی و تحصیلی کشور‪،‬‬
‫استفاده و بهرهگیری از تکنولوژی معلوماتی میباشد‪ .‬این بازسازی میتواند از زوایای مختلف باشد‪ ،‬که یکی‬
‫از زوایا میتواند استفاده از تکنولوژی معلوماتی در اشتراکگذاری و قابل دسترسی کلی به موضوعات‪ ،‬منابع‪،‬‬
‫و مواد معتبر تحصیلی و آموزشی باشد‪.‬‬

‫سیستم ‪ OAMSES‬به خاطر اشتراکگذاری مواد تحصیلی‪ ،‬موضوعات و عناوین پایاننامه با فایل‬
‫آن و همچنان ارزیابی استادان ایجاد شده است‪ .‬این سیستم از سه بخش اصلی؛ مواد تحصیلی‬
‫)‪ ،(Materials‬پایاننامه )‪ (Theses‬و ارزیابی )‪ (Evaluation‬تشکیل شده است‪ .‬در بخش مواد‬
‫تحصیلی‪ ،‬استادان میتوانند از سراسر دانشگاههای کشور مواد درسی و تحصیلی را به اشتراک بگذارند‪.‬‬
‫محصلین و سایر کاربرهایی که حساب کاربری فعال در سیستم ‪ OAMSES‬دارند‪ ،‬میتوانند مواد اشتراک‬
‫گذاشته شده را ببینند‪ ،‬دانلود کنند‪ ،‬در مورد هر کدام آن نظر بدهند‪ ،‬الیک مثبت یا منفی بزنند؛ یعنی‬
‫رای مثبت یا منفی بدهند‪ .‬در بخش ارزیابی‪ ،‬محصلین در هر سمستر استادان را نظر به میزان مؤثریت‪،‬‬
‫روش تدریس و قوه افهام و تفهیم شان ارزیابی کنند و نتیاج ارزیابی برای محصلین‪ ،‬استادان‪ ،‬مدیریت‬
‫تدریسی و ریاست دانشگاه قابل مشاهده اند‪ .‬در بخش پایاننامه‪ ،‬هر دیپارتمنت موضوعات گرفته شده‬
‫پایاننامه محصالن مربوطهاش را ثبت و فایل آن را آپلود کنند‪ .‬کاربران فعال میتوانند موضوعات و جزئیات‬
‫پایاننامههای انجام داده شده را ببینند و در صورت موجود بودن (آپلود شده) فایل پایاننامه‪ ،‬آن را دانلود‬
‫کنند‪.‬‬

‫همچنان سیستم ‪ OAMSES‬دارای بخشهای فرعی؛ اطالعات درباره دانشگاهها‪ ،‬فاکولتهها‪ ،‬دیپارتمنتها‪،‬‬
‫استادان و محصلین نیز میباشد‪.‬‬

‫‪1‬‬
‫‪ 2.1‬پیشینه تحقیق‬
‫استفاده از سیستمهای کمپیوتری برای کنترل و مدیریت امور در ادارات‪ ،‬دانشگاهها‪ ،‬شفاخانهها و سایر‬
‫سازمانهای دولتی و غیر دولتی و همچنان نشر و پخش انترنتی اطالعات مدت زمانی زیادی است در‬
‫کشورهای پیشرفته جهان که در آن تکنولوژی سریع در حال پیشرفت و توسعه میباشد‪ ،‬مورد بهرهگیری‬
‫است‪ .‬استفاده از این سیستمها برای آنها خوبیهای چشمگیری در زمینههای مختلف‪ ،‬همچنین سرعت در‬
‫پردازش اطالعات‪ ،‬دقت در محاسبات‪ ،‬حفاظت از اطالعات‪ ،‬قابل دسترس بودن اطالعات و سایر موارد داشته‬
‫است‪ .‬از همین رو استفاده از این سیستمها هرروز در حال توسعه میباشد‪.‬‬

‫در کشور ما افغانستان بعد از امنیت نسبی‪ ،‬استفاده از این سیستمها برای مدیریت اطالعات مد نظر‬
‫قرار گرفته و در حال رشد و پیشرفت استفاده از این سیستمها و تطبیق آنها در ساحه به صورت عملی‬
‫میباشد‪ .‬اگر چه بسیاری از سازمانهای دولتی و غیر دولتی امروز در کشور به صورت کاغذی کنترل و‬
‫اطالعات به شکل قدیمی و بدون استفاده از سیستمهای معلوماتی مدیریت و حفظ میباشد‪ .‬اما در سالهای‬
‫اخیر استفاده از این سیستمها کمی رشد و توسعه یافته است‪.‬‬

‫در دانشگاههای افغانستان تحقیقات و کارهای زیادی صورت میگیرد و ساالنه از هر رشته محصلین‬
‫فارغ التحصیل میشوند و پایان نامه مینویسند‪ ،‬اما این پایان نامهها و کارها اوال در محدوده همان دانشگاه‬
‫و بعدا در دیپارتمنت مربوطه انبار میشوند‪ .‬همچنین‪ ،‬چپترها‪ ،‬لکچر نوتها و کتابها نیز از هرجا قابل‬
‫دسترس نیست و برای دریافت آن باید با استاد مربوطه در ارتباط شده و از آن دریافت کرد‪.‬‬

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

‫‪ 2.1‬تبیین مساله تحقیق‬


‫سرعت زیاد رشد و توسعه انترنت و کمپیوتر و کاربردهای مبتنی بر آن در سراسر دنیا و همچنین در‬
‫افغانستان‪ ،‬بر کسی پوشیده نیست‪ .‬کمرنگ شدن سیستم قلم و کاغذ‪ 1‬در ادارات دولتی و خصوصی و به‬
‫کارگیری نرم افزارها و سیستمهای مدیریتی‪ ،‬معلوماتی و اشتراک گذاری اطالعات به منظور از جلوگیری‬
‫ضیاع وقت‪ ،‬دقت در عمل و سهولت در اجرای کار‪ ،‬رو به افزایش اند‪ .‬همچنین میزان نیاز استفاده و به‬

‫‪1‬‬
‫‪File System‬‬

‫‪2‬‬
‫کارگیری برای اجرای نشر و پخش اطالعات ساده و آسان نیز افزایش مییابد‪ .‬بیشک وقت بزرگترین سرمایه‬
‫گرانبها و بینظیر برای بشر است که میتوان در استفاده بهینه از آن‪ ،‬در همه عرصهها به پیش رفت و به‬
‫عالی ترین درجات مادی و معنوی رسید‪.‬‬

‫برای نظام تحصیالت عالی یک کشور‪ ،‬این ضروری ترین چیزی است که اطالعات و موادهای تحصیلی‬
‫توسط استادان به صورت آنالین به اشتراک گذاشته شود‪ .‬همینطور کارهای تحقیق شده و موضوعات پایان‬
‫نامه فارغ التحصیالن‪ .‬شرایط فعلی وزارت تحصیالت عالی افغانستان هم همین را تقاضا میکند که سیستمی‬
‫وجود داشته باشد تا از طریق آن مواد تحصیلی وزارت تحصیالت عالی به اشتراک گذاشته شود و محصالن‬
‫هم صالحیت در تغییرات مواد را نداشته و صرفا از همه جا برای شان قابل دسترس باشد‪ .‬عالوه بر موضوعات‬
‫مطرح شده‪ ،‬سیستم و نرم افزارهای جلوگیری از تکرار و تقلب در موضوعات پایانه نامه فارغالتحصیالن و‬
‫چگونگی ساختن یک سیستم ساده و موثر آن نیز مورد بحث و بررسیهای فراوان است‪ .‬از این حیث‪،‬‬
‫سیستمهای کمپیوتری و نرم افزای بایستی بتوانند گام به گام‪ ،‬با افزایش اندازه و وسعت‪ ،‬سرعت‪ ،‬دقت و‬
‫پویایی‪ ،‬قدم برداشته و پیشرفت کنند‪.‬‬

‫مشکلی دیگری که فعال دامن گیر تحصیالت عالی است‪ ،‬تقلب و تکرار پایاننامهها است‪ .‬بسیاری از‬
‫مونوگرافهای هجده سال اخیر به نحوی در دانشگاههای مرکز و والیتهای افعانستان در گردش است و‬
‫چندین بار مورد استفاده قرارگرفته است‪ .‬ابزار و یا سیستمی که بتواند تکراری بودن تحقیق دانشگاهی و یا‬
‫سرقت ادبی را تشخیص بدهد‪ ،‬وجود ندارد‪( .‬رهنوش‪)1398 .‬‬

‫‪ 3.1‬اهداف تحقیق‬
‫‪ 1.3.1‬اهداف کلی تحقیق‬
‫✓ بایگانی مواد تحصیلی و دسترسی به آن‬
‫✓ ثبت موضوعات گرفته شده فارغالتحصیالن سالهای گذشته از سراسر دانشگاههای افغانستان‬
‫✓ جلوگیری از کارکردن و تحقیق روی موضوعات تکراری‬
‫✓ ارزیابی استادان‬

‫‪ 2.3.1‬اهداف جزئی تحقیق‬


‫✓ ثبت‪ ،‬بایگانی و بازیابی اطالعات دانشگاهها‪ ،‬فاکولتهها‪ ،‬دیپارتمنتها‪ ،‬استادان و محصالن در‬
‫دیتابیس‬
‫✓ رای و نظر در مورد مواد تحصیلی توسط محصالن‬

‫‪3‬‬
‫‪ 4.1‬سوالهای تحقیق‬
‫‪ .1‬چگونه میتوان مواد تحصیلی و موضوعات پایان نامهها را برای تمام محصالن به اشتراک گذاشته‬
‫و قابل دسترس ساخت؟‬
‫‪ .2‬راهکارها برای ازبین بردن تقلب و جلوگیری از کارکردن روی پایاننامههای تکراری چیست؟‬
‫‪ .3‬چگونه میتوان میزان مؤثریت تدریس استادان را در هر سمستر ارزیابی کرد؟‬

‫‪ 5.1‬فرضیههای تحقیق‬
‫پاسخ اجمالی تحقیق چنین است که از طریق ایجاد یک سیستم با استفاده از تکنولوژی معلوماتی‪ ،‬مواد‬
‫آموزشی و تحصیلی‪ ،‬کارهای تحقیقاتی فارغالتحصیالن و موضوعات پایان نامه به صورت آنالین قابل‬
‫دسترس یا به اشتراک گذاشته شود‪ .‬محصلین برای پایان نامه شان نتوانند موضوعات تکراری را انتخاب‬
‫کنند‪ .‬تمام موضوعات گرفته شده و کارهای قبلی فارغالتحصیالن در دیتابیس آن سیستم ثبت باشد و از‬
‫تکرار آن جلوگیری کند‪.‬‬

‫همچنان کورسهای هر سمستر ثبت سیستم شود و محصلین هر سمستر‪ ،‬کورسها و مضمونهای‬
‫مربوطه اش را نظر به میزان مؤثریت کورس و فعالیت استاد با یک کلیک ارزیابی کرده و نتایج آن برای‬
‫کسانی که در سیستم دخیل اند‪ ،‬قابل مشاهده و دید باشند‪.‬‬

‫‪ 6.1‬اهمیت تحقیق‬
‫عدم آگاهی محصلین از کارهای تحقیق شده فارغ التحصیالن در سایر دانشگاههای افغانستان و همچنین‬
‫عدم دسترسی به آن ها یکی از چالشهای حاضر در وزارت تحصیالت عالی محسوب میشود‪ .‬زمانیکه‬
‫محصلین از کارهای دیگران در سایر دانشگاهها خبر نباشند‪ ،‬حتم بر این است و احتمال قوی هم وجود‬
‫دارد که وقتش روی کارکردن موضوعات تکراری هدر برود و موضوعی را کار کند که قبال کدام محصل‬
‫دیگر در کدام دانشگاه دیگر روی آن کار کردهاست‪ .‬پس در اینجا سیستمی باشد که محصالن با استفاده‬
‫از آن بتوانند مواد و کارهای دیگران را ببینند و همچنان آگاه باشند که روی کدام موضوعات کار و تحقیق‬
‫صورت گرفته است و از انتخاب و کار آن جلوگیری کند‪.‬‬
‫برعالوه دسترسی به پایاننامهها و آگاهی از موضوعات و عناوین آن‪ ،‬دسترسی به مواد تحصیلی از‬
‫سراسر دانشگاهها بدون محدودیت مکانی و زمانی در آموزش تسریع بخشیده و یکی از بهترین سهولتهای‬
‫آموزشی است‪ .‬محصلینی که خواهان دسترسی و داشتن مواد و منابع بیشتر تحصیلی را داشته باشند‪ ،‬از‬
‫این طریق میتوانند به منابع معتبر دانشگاهی دسترسی داشته باشند‪.‬‬

‫‪4‬‬
‫در ضمن نکات ذکر شده‪ ،‬مسأله ارزیابی استادان توسط محصلین است‪ .‬نظر به این که چقدر درس‬
‫استادان در هر سمستر برای محصلین مؤثر تمام شده و قوه افهام و تفهیم و روش تدریس استادان در‬
‫مضمون شان چه رقم بوده‪ ،‬ارزیابی کرد‪ .‬این ارزیابی میتواند از راههای مختلف صورت گیرد‪ ،‬اما محرمانه‬
‫و عاری از تقلب باشد‪.‬‬

‫‪ 7.1‬محدوده تحقیق‬
‫نیازمندی کامل وزارت تحصیالت عالی مانند مدیریت تمام اطالعات‪ ،‬نمرات محصلین‪ ،‬نتایج محصلین و‬
‫سایر امور زیاد بوده و در محدوده این پایان نامه نیست‪ .‬محدوده این پایان نامه‪ ،‬اشتراک گذاری و در‬
‫دسترس قرار دادن مواد تحصیلی وزارت تحصیالت عالی‪ ،‬ثبت و اشتراک گذاری موضوعات پایان نامه فارغ‬
‫التحصیالن و ارزیابی فعال بودن استادان در هر سمستر است‪.‬‬

‫‪ 8.1‬خالصه و ساختار کلی فصلها‬


‫سند )‪ 1OAMSES (Documentation‬به پنج فصل ترتیب و تنظیم شده است‪ .‬فصل اول با معرفی‬
‫شروع شده بعدا شامل پیشینه تحقیق‪ ،‬تبیین مسأله تحقیق‪ ،‬اهداف تحقیق‪ ،‬سوالهای تحقیق‪ ،‬فرضیههای‬
‫تحقیق‪ ،‬اهمیت تحقیق‪ ،‬محدوده تحقیق و خالصه و ساختار کلی فصلها را در بر میگیرد‪.‬‬

‫فصل دوم ‪ Literature Review‬یا مروری بر تحقیقات و کارهای انجام شده بوده و با معرفی‬
‫‪ SlideShare‬شروع شده بعدا شامل مقایسه سیستمهای مشابه با ‪ OAMSES‬را دربر میگیرد‪.‬‬

‫فصل سوم میتودولوژی با طرح مسأله‪ ،‬اثر و دلیل‪ ،‬معیارهای ارزیابی میتودولوژی‪ ،‬میتودولوژی‪،‬‬
‫بررسی اجمالی میتودولوژی ‪ ،Feature Driven Development‬دالیل انتخاب میتودولوژی ‪،FDD‬‬
‫‪ ،Data Modeling ،Implementation ،Analysis ،Requirements‬امنیت ‪ OAMSES‬و منابع‬
‫و تکنولوژیهای مورد نیاز را در بر میگیرد‪.‬‬

‫فصل چهارم یافتهها و نتایج تحقیق با مقدمه شروع شده و بعدا شامل قابلیتهای سیستم اشتراک‬
‫گذاری مواد تحصیلی و ارزیابی آنالین )‪ (OAMSES‬را دربر میگیرد‪.‬‬

‫فصل پنجم نتیجهگیری و پیشنهادات با نتیجهگیری شروع شده بعدا شامل پیشنهادات و منابع و‬
‫مآخذ را دربر میگیرد‪.‬‬

‫‪1‬‬
‫‪Online Academic Material Sharing and Evaluation System‬‬

‫‪5‬‬
‫فصل دوم‬

‫مروری بر تحقیقات انجام شده‬

‫‪SlideShare 1.2‬‬
‫‪ SlideShare‬یکی از بزرگترین وبسایتهای اشتراکگذاری پریزینتیشن‪ ،‬انفوگرافیک‪ ،‬پیدیاِف‪ ،‬فایلهای‬
‫‪ Word‬و ویدیوها است که با استفاده از ‪ Web 2.0‬عمل میکند‪ .‬محبوبیت این وبسایت در زمینه‬
‫‪ presentation‬به قدری است که به آن ‪ YouTube PowerPoint‬گفته شده است‪(Shelly, 2016).‬‬

‫این وبسایت در سال ‪ 2006‬میالدی توسط خانم ‪ Rashmi Sinha‬یکی از ده تاثیرگذارترین زنها‬
‫در دنیای ‪ Web 2.0‬بنیانگذاری شد‪ .‬نظریه اصلی این وبسایت توسط همکارش ‪Jonathan Boutelle‬‬
‫بود‪(Golden, 2010) .‬‬

‫استفاده از این وبسایت (از ایجاد حساب کاربری تا بارگذاری و آپلود اسالید) رایگان میباشد‪ ،‬اما‬
‫محدودیتهای خود را دارد‪.‬‬

‫در سوم مِی سال ‪ 2012‬میالدی ‪ SlideShare‬توسط ‪ LinkedIn‬با قیمت ‪ 119‬میلیون دالر‬
‫خریداری شد‪(Yarow, 2012) .‬‬

‫استادانیکه به دنبال توسعه حرفهای هستند این امکان را دارند که از ‪ Presentation‬های به‬
‫اشتراکگذاشته شده توسط دیگران در زمینهی کاری شان استفاده کنند‪(Shelly, 2010) .‬‬

‫با استفاده از این نوع سیستمها و وبسایتها میتوان از هزینه چاپ صرفهجویی کرد‪ .‬در بسیاری از‬
‫حوزهها با بروز شدن بسیاری از بخشهای اداری شروع به توزیع حجم زیادی از کاغذ بین کارمندان شان‬
‫میکنند که تنها بخشی از آنها واقعا خوانده میشوند‪ .‬به جای آن کار میتوان آن اطالعات را روی ‪Wiki‬‬
‫آن حوزه و یا وبسایتی مانند ‪ SlideShare‬گذاشت تا از این را‪ ،‬هم در هزینه چاپ صرفه جویی کرد و هم‬
‫کارمندان نیز میتوانند زمانیکه واقعا به آنها نیاز دارند‪ ،‬آنها را بدست آورند‪(Baule, 2012) .‬‬

‫وبسایتهای دیگری شبیه ‪ SlideShare‬مانند ‪ StudyDrive‬برای دانشآموزان و محصالن‬


‫کشورهای اروپایی و ‪ Moodle‬در هند برای ‪ Course Material Sharing‬و ‪Slide Sharing‬‬
‫میباشند که ‪ SlideShare‬جهانی و همگانی است و مثل شبکههای اجتماعی (فیسبوک‪ ،‬تویتر و‬
‫لینکدین) عمل میکند و کاربر پسند )‪ (User Friendly‬است‪ .‬در ‪ StudyDrive‬مواد تحصیلی و آموزشی‬
‫را خود دانشآموزان و محصالن به اشتراک میگذارند و در ‪ Moodle‬استادان‪.‬‬

‫‪6‬‬
‫‪OAMSES vs SlideShare 2.2‬‬
‫‪ SlideShare‬همگانی؛ یعنی هرکس از سراسر دنیا میتواند از آن حتی بدون ایجاد حساب کاربری استفاده‬
‫کند‪ .‬ایجاد حساب کاربری )‪ (Sign Up‬نیز توسط خود شخص صورت میگیرد و کسانیکه در ‪LinkedIn‬‬
‫حساب کاربری دارند توسط آن داخل ‪ SlideShare‬شده میتوانند‪ .‬هیچ محدودیت در سطح دسترسی‬
‫نیز وجود ندارد‪ .‬اما در ‪ OAMSES‬چنین نیست‪ .‬هر حساب کاربری توسط یک حد )‪ (Role level‬باالتر‬
‫ایجاد شده و نظر به ‪ Role‬آن سطح دستری دارد‪ .‬به طور نمونه؛ محصل و حساب کاربری ‪(User‬‬
‫)‪ Account‬آن توسط دیپارتمنت مروبطهاش ثبت و ایجاد میشود‪ .‬بعد از آن همان محصل دسترسی به‬
‫مواد تحصیلی‪ ،‬موضوعات و فایلهای پایاننامه را داشته و همچنان استادان را در هر سمستر ارزیابی کرد‪.‬‬
‫دیگر این که فقط محصلین میتوانند از این سیستم استفاده کنند؛ یعنی همگانی نیست‪ .‬دوره استفاده نیز‬
‫محدود است (فقط در دروان محصلی)‪.‬‬

‫در ‪ SlideShare‬اسالیدها و ویدیوها توسط هر کاربر )‪ (user‬به اشتراکگذاشته میشود؛ یعنی‬


‫هرکاربر میتواند ‪ Slide‬و ‪ Presentation‬های دلخواهش را آپلود کند و آن را به اشتراک بگذارد‪ .‬اما در‬
‫سیستم ‪ OAMSES‬صرفا ‪ Instructor‬یا استادان میتوانند از این صالحیت برخوردار باشند و این عملیه‬
‫را انجام دهند‪.‬‬

‫‪ SlideShare‬صورت و نمای ‪ Presentation‬ها را در داخل خود انجام میدهد؛ یعنی‬


‫‪ SlideCasting‬دارد‪ ،‬اما در این ورژن از ‪ OAMSES‬از این قابلیت برخوردار نیست و در پیشنهادات آمده‬
‫است‪.‬‬

‫‪ OAMSES‬برعالوه سیستم اشتراکگذاری مواد تحصیلی و دانشگاهی‪ ،‬یک سیستم ارزیابی نیز‬
‫میباشد‪ .‬محصلین در هر سمستر‪ ،‬تمام کورس‪/‬مضمون ها را نظر به میزان مؤثریت شان‪ ،‬شیوه تدریس‬
‫استاد‪ ،‬تسلط و حاکمیت داشتن استاد بر مضمون‪ ،‬قوه افهام و تفهیم شان ارزیابی کرد‪ .‬معیار و میزان‬
‫ارزیابی (نمره) در خود سیستم تعریف شده و محصل خارج از آن کاری نمیتواند که در ‪SlideShare‬‬
‫اصال این سیستم (ارزیابی) نیست‪.‬‬

‫تفاوت جزئی دیگر‪ ،‬زیاد وجود دارند‪ .‬مثال سیستم ‪ OAMSES‬اطالعات در مورد دانشگاهها‪،‬‬
‫فاکولتهها‪ ،‬دیپارتمنتها‪ ،‬استادان و محصالن را به صورت تضمین شده (غیر استعاری) دارد که اسالید‬
‫‪ SlideShare‬از آن برخوردار نیست‪ .‬در ضمن‪ SlideShare ،‬برعالوه این که ‪Education and Social‬‬
‫وبسایت است‪ Enterprise ،‬و ‪ Advertise‬وبسایت نیز میباشد که سیستم ‪ OAMSES‬فقط‬
‫‪ Education‬وبسایت است‪.‬‬

‫‪7‬‬
‫چیزی که در ‪ SlideShare‬و ‪ OAMSES‬شبیه هم هستند‪ ،‬سیستم رای و نظردهی درباره‬
‫اسالیدها میباشد‪ .‬تمام کاربران که حساب کاربری )‪ (User Account‬دارند‪ ،‬میتوانند درباره هر اسالید‬
‫رای و نظر )‪ (Like and Comment‬بدهند‪.‬‬

‫نکته مهمی که نباید از قلم بماند‪ ،‬عدم تضمین معتبر بودن اسالیدها در ‪ SlideShare‬است؛ چون‬
‫‪ SlideShare‬هم یکی از شبکههای اجتماعی است و مانند ‪ Facebook‬هرکس پُستهای دلخواهش را‬
‫نشر کند در ‪ SlideShare‬اسالید‪ .‬اما در ‪ OAMSES‬مواد و موضوعات اکادمیک بوده و از آدرس معتبر‬
‫دانشگاه نشر میشوند‪.‬‬

‫‪8‬‬
‫فصل سوم‬

‫میتودولوژی‬

‫‪ 1.3‬طرح مسأله‬
‫طراحی و توسعه وب سایت به عنوان یک صنعت قدامتی ‪ 20‬ساله دارد‪ ،‬بنابراین به نسبت صنایعی با قدامت‬
‫بیش از چند صد سال کودکی نوپا محسوب میشود اما این بدان معنی نیست که اصول موفقیت برای آن‬
‫تدوین نشده باشد‪.‬‬

‫وب سایتهایی را در نظر بگیرید که تقریبا هر روز برای تامین خواستههای مشتریان مجبور به‬
‫تغییر میشوند و همچنان جوابگوی مشتریان (کارفرماها) نیستند و این موضوع نشانه آن است که برای‬
‫سازندگان سایت‪ ،‬مشتریان غیر قابل پیش بینی هستند و نیازهای شان ثبات الزمه را ندارند و این کل‬
‫بیزینس طراحی سایت را تهدید میکند‪.‬‬

‫برای فائق آمدن بر این مشکالت تکراری و هرروزه نیاز به استانداردهایی قابل اتکا داریم که ما را‬
‫در این راه یاری کند‪ ،‬اما پیدا کردن چنین میتودولوژی برای نیازهای متغییر مشتریان بسیار سخت است‬
‫البته این خبر خوب بود‪ ،‬خبر بد این است که تطابق این استاندارد با شرایط مارکت واقعی چند پله سخت‬
‫تر است‪.‬‬

‫‪ 2.3‬اثر و دلیل‬
‫چندین فاکتور همزمان باعث می شوند که تیم ساخت وب سایت برای رسیدن به اهداف مجبور به تغییر‬
‫مسیر شوند‪.‬‬

‫اولین و مهمترین فاکتور گذشت زمان است‪ ،‬نمیتوان علت کلی برای این امر ارائه کرد؛ زیرا در هر‬
‫پروژه ای علل آن متفاوت است‪ .‬اما بیشتر اوقات باعث و بانی این امر تغییر نظر مشتری است‪ .‬بعضی اوقات‬
‫نیز سازنذگان سایت نیازها و نظرات مشتری را اشتباه تفسیر میکنند و گاهی اوقات نیز علت دست کم‬
‫گرفتن کار الزم برای پایان پروژه است‪ .‬گذشته از دلیل این امر‪ ،‬نتیجه پایانی همیشه یکیست‪ .‬افزایش‬
‫هزینه های ملموس و غیر ملموس پروژه از جمله زمان و اعصاب سازندگان بدون اینکه مشتری پرداختی‬
‫خود را افزایش دهد و همچنین تاثیری بدی که این تاخیر بر روی زمان بندی پروژهها در صف میگذارد‪.‬‬

‫‪9‬‬
‫هرچقدر این اتفاق بیشتر بیافتد اوضاع بدتر میشود و در نهایت در مخمصه ای خواهیم افتاد که‬
‫تمام پروژه ها با ریسک باال مواجه میشوند و معموال دچار سندروم سینک ظرفشویی (تغییر پی در پی و‬
‫بی نتیجه پروژهها پس از شروع) و به پایین آمدن روحیه افراد منتج شده و برنامه ریزی و زمان بندی را نا‬
‫ممکن میسازد‪.‬‬

‫راه حل ساده است‪ .‬ما به راهکاری بهتر نیاز داریم که امتحان خود را در زمینه تامین نیازهای‬
‫مشتری با بودجه و زمان منطقی پس داده باشد این راهکار باید منطبق بر فرهنگ کارکنان سازمان باشد‪.‬‬
‫پس ما به یک میتودولوژی وب نیازمندیم‪.‬‬

‫قبول کنید‪ ،‬چکش کاری کنید یا یکی از اول بسازید‬

‫هنگام اتخاذ یک استاندارد برای انجام پروژه‪ ،‬سه انتخاب پیش روی ماست‪:‬‬

‫‪ .1‬خود را با میتودولوژی طراحی شده تطبیق دهیم‬


‫‪ .2‬میتودولوژی و روش را با شرایط خود بومی کنیم‬
‫‪ .3‬یک میتودولوژی مناسب برای خود ایجاد کنیم‬

‫تیم های سازنده سایت بر اساس اتخاذ تصمیم از بین گزینههای باال تقسیم بندی میشوند‪ .‬بعضی معتقدند‬
‫باید بر اساس اصول خود روشی کامال انحصاری بوجود آورند‪ ،‬بعضی دیگر به این کار به چشم اختراع دوباره‬
‫چرخ می نگرند‪ .‬بدیهی است که برای انتخاب گزینه مناسب احتیاج به نیازسنجی دقیق است‪.‬‬

‫‪ 3.3‬معیارهای ارزیابی میتودولوژی‬


‫برای شروع بررسی میتودولوژیهای موجود‪ ،‬در درجه اول به سراغ معیارهای انتخاب آنها میرویم‪.‬‬

‫‪ 1.3.3‬پیچیدگی‬
‫راه حل چیزی بیش از یک دستورالعمل ساده و کوتاه است اما از طرف دیگر اگر بیش از حد هم مفصل و‬
‫سنگین باشد کارایی خود را ازدست میدهد‪ .‬ما به میتودلوژی نیاز داریم که هم به سادگی فهمیده شود –‬
‫به طوری که هم کارکنان و هم مشتریان بتوانند آن را درک کنند – و از طرفی نیز بتواند با عمق کافی‬
‫نیازهای پیچیده سازندگان وبسایت را پاسخگو باشد‪.‬‬

‫‪10‬‬
‫‪ 2.3.3‬اندازه‬
‫امروزه ترغیب مردم به خواندن متون خشک و طوالنی بسیار مشکل و حتی غیرممکن است‪ .‬بنابراین‬
‫میتودهای طوالنی و پر از جزئیات غیرضروری جایی جز بایگانی نخواهند داشت‪ )Bauer, 2005( .‬مثال‬
‫اگر شما دستورالعملی ‪ 100‬صفحه ای با چکیده ای ‪ 10‬صفحه ای داشته باشید مطمئنا مردم به سراغ‬
‫چکیده آن خواهند رفت‪.‬‬

‫‪ 3.3.3‬هزینه‬
‫هر چیزی که مستلزم صرف هزینه مادی باشد باید به دقت صرفه جویی شود ‪ .‬هزینه کمتر‪ ،‬احساس بهتر‪.‬‬

‫‪ 4.3.3‬ریسک‬
‫چیزی بدتر از یک میتودولوژی اشتباه وجود ندارد ‪ .‬در صورت اجرای یک استاندارد غلط‪ ،‬متقاعد کردن‬
‫مردم به اجرای میتودولوژی دیگر بسیار مشکل خواهد بود‪.‬‬

‫‪ 5.3.3‬عملی بودن‬
‫راه حل باید ملموس و عملی باشد‪ ،‬نه صرفا دستوراتی تئوری و غیرقابل اجراء‪ .‬میتودی قابل اتکا است که‬
‫در دنیای واقعی و شرایط بازار امتحان خود را پس داده باشد‪ ،‬البته بیشتر از یک بار‪.‬‬

‫‪ 4.3‬میتودولوژی‬
‫در این پروژه از یکی از شاخههای میتودولوژی ‪ Agile‬به نام میتودولوژی توسعه ویژگی محور یا ‪Feature‬‬
‫)‪ Driven Development (FDD‬استفاده شده است‪ .‬به خاطر پاسخگو بودن به تمام نیازهای پروژه‪،‬‬
‫ساده و دم دستی بودن آن‪.‬‬

‫‪ 5.3‬بررسی اجمالی ‪FDD‬‬


‫میتودولوژی توسعه ویژگی محور یا )‪ Feature Driven Development(FDD‬یک میتودولوژی‬
‫ساخت بر اساس ‪ Agile‬است که اصال توسط ‪ Peter Coad‬طراحی شد‪ (Pressman, 2010) .‬به‬
‫صورت خالصه‪ FDD ،‬به روشنی شامل ‪ 5‬پروسهای واضح است‪ .‬هسته ‪ FDD‬بر اساس مفهوم عملکرد‬
‫مورد انتظار مشتری بنا نهاده شده است‪ .‬مراحل ‪ FDD‬به این صورت طراحی شده که تک تک اجزای پروژه‬
‫را به عنوان ویژگیهای آن تعریف میکنیم‪ ،‬سپس این ویژگیها را با روش های تکراری طراحی کرده و‬
‫میسازیم‪ .‬ساختار سطح باالی میتودولوژی ‪ FDD‬به صورت دیاگرام در شکل ‪ 1.3‬است‪.‬‬

‫‪11‬‬
‫شکل ‪ :1.3‬دیاگرام مراحل ‪(Management, 2018) FDD‬‬

‫‪ 1.5.3‬مرحله ‪ :1‬ساختن یک مدل کلی )‪(Develop an Overall Model‬‬


‫این مرحله‪ ،‬پروسه ابتدایی انجام پروژه است که همراه با اعضای اجرایی و زیر نظر و با هدایت یک طراح‬
‫شی گرا با تجربه به عنوان معمار (برنامه نویس) ارشد است‪ .‬مرحله ‪ 1‬شامل ایجاد مدلی از خصوصیات مورد‬
‫نیاز توسط تیم پروژه است‪ .‬مدلی که کاملتر از طرح ذهنی اولیه باشد‪ .‬این مدل قرار نیست با همه روشها‬
‫و مشخصاتش کامال توصیف شود بلکه این مرحله صرفا مخصوص ایجاد شکلی کلی اما صحیح از نحوه ارایه‬
‫پروژه به صورت یک مدل است نه با جزوئیات کامل‪ .‬این مرحله باید با مشارکت حداکثری همه اعضای تیم‬
‫انجام شود‪ .‬ساخت این مدل به صورت مرحله به مرحله امکان پذیر است‪ .‬در ابتدا یک متخصص راه حل‬
‫های تجاری‪ ،‬قسمتی از خصوصیت را توضیح میدهد سپس تیم پروژه به چند گروه تقسیم میشوند‬
‫(ترجیحا گروههای ‪ 3‬نفره) تا آن قسمت پروژه را مدل سازی کنند‪ .‬سپس گروهها مدل خود را ارایه میکنند‬
‫و برای استفاده از یکی از مدل ها به توافق میرسند‪ .‬سپس برای سایر قسمتهای پروژه مورد نظر این‬
‫پروسه تکرار میشود‪ .‬نتیجه نهایی مدل کامل راه حل پروژه است‪.‬‬

‫‪ 2.5.3‬مرحله ‪ :2‬تهیه لیستی از امکانات )‪(Build a Features List‬‬


‫این مرحله نیز جزء مراحل اولیه اجرا پروژه است که به شناسایی تمامی امکانات مورد نیاز برای پشتیبانی‬
‫از نیازهای پروژه میپردازد‪ .‬تهیه این لیست بر عهده برنامه نویس ارشد مسوول در مرحله مدلینگ است‪.‬‬
‫بر خالف مرحله ‪ 1‬نیازی به حضور مشتری و ذی نفعان در این مرحله نیست‪ .‬اکنون زمان ایجاد لیست‬
‫نیازمندیهای پروژه است؛ نیازی به همفکری و همکاری نیست‪ .‬در این مرحله ایجاد گروههای کاری سازنده‬
‫نیست‪.‬‬

‫‪12‬‬
‫نکته کلیدی در این مرحله تعریف پروژه به زبان بازار است و این بدان معنی است که مشتری بتواند منفعت‬
‫دقیق هر ویژگی و ارزش آن را در مقابل هزینه های آن درک کند و همینطور باعث ایجاد درکی متقابل‬
‫بین مشتری و تیم میشود و خطر بدفهمی و یا احساس مغبون شدن را از بین میبرد‪ .‬ارتباطات ضعیف‬
‫پایه و اساس بیشتر مشکالت در این کسب و کار است‪ .‬کلماتی که ما به کار میبریم موثرترین عامل‬
‫تاثیرگزاری بر دیگران است‪ .‬در این مرحله مهمترین نکته این است که ما چطور هزینهها را برای مشتری‬
‫توجیح میکنیم و چقدر میتوانیم به زبان او منابع را درخواست کنیم‪ .‬ممکن است این مرحله خیلی ساده‬
‫و سرراست به نظر برسد‪ ،‬اما مطلقا آن را دست کم نگیرید؛ چون خیلی روی کل پروژه تاثیرگذار است‪.‬‬
‫تعریف کردن همه چیز بر اساس ویژگی از اشتباهاتی که ممکن است در اثر بدفهمی مشتری و تیم سازنده‬
‫بوجود آید جلوگیری میکند و در این موقعیت نقش مدیر پروژه برای تفسیر و ترجمه زبان بین این دو‬
‫بسیار سازنده وحیاتی است‪ .‬در صورتی که مدیر پروژه به درستی نتواند ارتباط بین مشتری و تیم اجرایی‬
‫را برقرار کند‪ ،‬مشکالت شروع به خود نمایی میکنند‪ .‬البته از مدیر پروژه نباید انتظار معجزه داشت‪.‬‬

‫‪ 3.5.3‬مرحله ‪ :3‬برنامه ریزی به اساس ویژگیها )‪(Plan by Feature‬‬


‫این پیش مرحله به چگونگی ایجاد برنامه کاری پروژه میپردازد‪ .‬این مرحله در امتداد و ادامه مرحله ‪ 2‬و‬
‫ابزاری است برای مشخص کردن مراحل ساخت سایت که چه برای مشتری و چه برای سازندگان بسیار‬
‫مفید و کاربردی است‪.‬‬

‫در این مرحله مدیر پروژه و برنامه نویس ارشد باید در مواردی مانند کدام خصوصیات در چه زمانی‬
‫ساخته شود‪ ،‬واگذار وظایف به اعضاء و ایجاد استراتژی برای ارایه دمو (نمونه) به مشتری های کم تحمل با‬
‫یکدیگر مشورت کنند‪)Bauer, 2005( .‬‬

‫‪ 4.5.3‬مرحله ‪ :4‬طراحی به اساس ویژگیها )‪(Design by Feature‬‬


‫مرحله چهارم شامل فعالیتهایی بر اساس ویژگیهای مطلوب است تا بتوان پروژه را بر اساس یک بسته‬
‫طراحی ویژگیها تعریف کرد‪ .‬این پروسه را میتوان به سه بخش تقسیم کرد‪:‬‬

‫‪ .1‬بررسی کلی‬
‫‪ .2‬طراحی‬
‫‪ .3‬بازرسی‬

‫در بخش بررسی کلی‪ ،‬برنامه نویسان پیش از شروع کار با نقش کلی خود در انجام پروژه آشنا میشوند‪،‬‬
‫سپس در بخش طراحی نقش آنان به دقت و با جزئیات ترسیم شده و سپس نکات و ابهامات بازرسی دقیق‬

‫‪13‬‬
‫میشود‪ .‬این بخش باعث میشود که اگر تعارض و یا مشکلی وجود داشته باشد قبل از اینکه کارکنان حتی‬
‫یک خط کد بنویسند‪ ،‬خود را نشان دهد و میتوان با هزینهای اندک آن را برطرف کرد‪ .‬خیلی بدیهی بنظر‬
‫میرسد که قبل از انجام پروژهای باید آن را طراحی و یا بازرسی کرد اما نتیجه تحقیقات نشان میدهد که‬
‫معموال این مراحل نادیده گرفته میشود‪ .‬در خیلی از صنایع ایده ساخت چیزی قبل از اینکه به دقت‬
‫تعریف‪ ،‬طراحی و یا برنامه ریزی شده باشد‪ ،‬اجرا نمیشود و متاسفانه وضعیت در صنعت طراحی سایت نیز‬
‫همین گونه است‪.‬‬

‫اولین کار یک سازنده سایت پس از قبول پروژه معموال باز کردن ادیتور و شروع به کد نویسی‬
‫است‪ .‬مقدار ریسک در پروژه ای که بدین صورت انجام شود فوق العاده باالست‪ .‬اما دقت شود که در انجام‬
‫این مراحل نیز نباید افراط شود؛ زیرا تالش برای طراحی همه چیز و بدون ایراد بودن ممکن است به فلج‬
‫تحلیلی منتج شود‪ .‬اینکه در این مرحله چقدر به دقت و وسواس نیاز است‪ ،‬موضوعی مورد مناقشه در میان‬
‫میتودولوژیستها میباشد‪(Bauer, 2005) .‬‬

‫رویکرد ‪ FDD‬مرز مشخصی میان پروسه ‪ 1‬و پروسه ‪ 4‬قایل میشود‪ .‬همانطور که دیدیم پروسه‬
‫‪ 1‬شامل طراحی اولیه بدون جزئیات است که جزئیات را نادیده میگیرد و تمرکز بر جزئیات به مرحله ‪4‬‬
‫واگذار شده است‪ .‬قراردادن طراحی جزئیات در این مرحله و قبل از کد نویسی به زیرکی انجام شده است‪.‬‬
‫همچنین این پروسه‪ ،‬پروژه را بر اساس تک تک جزئیات به قطعات کوچک و مستقل تقسیم بندی میکند‬
‫‪ .‬به محض پایان یافتن طراحی‪ ،‬کد نویسی آغاز میشود‪.‬‬

‫‪ 5.5.3‬مرحله ‪ :5‬ساختن به اساس ویژگیها )‪(Build by Feature‬‬


‫پروسه ‪ 5‬انجام عملیات اجرایی برای ایجاد پروژه بر اساس ویژگیهای مطلوب مشتری است‪ .‬پروسه ‪ 5‬را‬
‫می توان به ‪ 3‬بخش تقسیم کرد‪:‬‬

‫‪ .1‬کد نویسی‬
‫‪ .2‬بررسی کدها‬
‫‪ .3‬ارتقاء به محصول‬

‫مانند پروسه ‪ ،4‬استفاده از هم فکری اعضاء و همچنین مزایای نظارت غیر قابل کتمان است‪ .‬چیزی که این‬
‫مرحله را منحصر به فرد می سازد بخش «ارتقاء به محصول» است‪ .‬برای اینکه مجموعه ای از کدها به‬
‫مرحله «ارتقاء به محصول» برسد‪ ،‬در وهله اول باید به پایان رسیده باشد‪ .‬نکته اصلی در اینجا تعریف عبارت‬
‫«به پایان رسیدن» است‪ .‬پروژه تا وقتی که کاری باقی مانده است به پایان نرسیده است‪ .‬راه فهمیدن این‬

‫‪14‬‬
‫موضوع این است که مدیر پروژه باید از برنامه نویسان یک سوال ساده بپرسد‪« :‬آیا کار به پایان رسیده؟»‬
‫اگر جواب برنامه نویسان «بلی» بود ‪ ،‬سوال دیگری باید پرسیده شود‪« :‬کار دیگری برای انجام دادن باقی‬
‫مانده؟» ‪ .‬این سوال واکنشهای متفاوتی ممکن است ایجاد کند‪ .‬دلیل این سوال‪ ،‬گمراه کردن و یا گیر‬
‫انداختن برنامه نویسان نیست‪ ،‬بلکه سنجش وضعیت است؛ چون بعضی برنامه نویسان تمایل دارند که تا‬
‫ابد به ارتقاء‪ ،‬بهبود و بهتر کردن کدهای خود ادامه دهند که البته در صورت وجود زمان کافی این امر بدون‬
‫ایراد است‪ ،‬اما در صورتی که با زمان بندی مواجه باشیم‪ ،‬مدیر پروژه باید برنامه نویسان را به کامل کردن‬
‫و تحویل کار در زمان معین وادار کند‪ .‬این پروسس بهترین راه حل برای انجام این کار است‪ .‬مزیت دیگر‬
‫این فرایند این است که مدیر پروژه به صورت کامل در جریان میزان پیشرفت کار و همچنین قابلیتهای‬
‫عملی هر برنامه نویس پی میبرد‪ .‬بر طبق گفته جرالد واینبرگ نویسنده کتاب «مدیریت کیفی نرم افزار»‪،‬‬
‫به قابلیت های عملی برنامه نویسان میتوان از ‪ 1‬تا ‪ 20‬نمره داد‪ .‬مسأله اصلی در اینجا نحوه ارزیابی این‬
‫قابلیت است‪ .‬فرقی نمیکند که بازه زمانی برای سنجش کیفیت برنامه نویسان ‪ 2‬ساعت و یا ‪ 2‬هفته باشد‪.‬‬
‫یک مدیر پروژه با احتساب حجم کار محوله به یک برنامه نویس میتواند بازدهی او را بدقت محاسبه کند‪.‬‬

‫شکل ‪ :2.3‬جزئیات دیاگرام ‪(Management, 2018) FDD‬‬


‫‪15‬‬
‫‪ 6.3‬دالیل انتخاب میتودولوژی ‪FDD‬‬
‫اجرای یک روش جدید برای ساختن سایت و سایر نرمافزارها سختتر از چیزی است که به نظر میرسد‪.‬‬
‫آدمها از تغییر گریزانند و حتی کسانی که معموال از نوآوریها استقبال میکنند به سرعت و با اولین سختی‬
‫ها روی به روش های قدیمی میآورند‪ .‬روش ‪ FDD‬ساده و زود فهم است و برای مدیران افزایش بازدهی‬
‫ایجاد شده با استفاده از این میتودولوژی ملموس است‪ .‬جنبه های شاخص ‪ FDD‬که به نظر بسیار جالب و‬
‫کاربردی هستند عبارتند از‪:‬‬

‫• قابلیت های برنامه ریزی و گزارش گیری‬


‫• منظم و شفاف بودن‬
‫• مطابق با نیازهای مشتری بودن‬
‫• کاهش ریسک‬
‫• طراحی مداوم و ساخت به صورت مرحله به مرحله‬
‫• شفافیت منابع مورد نیاز‬
‫• فهم بهتر از پروژه‬
‫• عدم نیاز با بازنگری های متعدد‬

‫تمامی پروژه های مبتنی بر ‪ FDD‬باید هدف واضحی داشته باشند‪ .‬این موضوع چیزی فراتر از بیان یک‬
‫جمله ساده برای توضیح پروژه و هدف نهایی آن است‪ .‬من همچنین دریافتم که میتودولوژی ‪ FDD‬پاسخی‬
‫کامل و بی نقص به نیازهای من نخواهد بود‪ FDD .‬مراحل برنامه نویسی را به دقت تحت پوشش قرار‬
‫میدهد‪ ،‬اما در رابطه با مواردی مانند جمع آوری اطالعات )‪ ،(Requirement Gathering‬طراحی رابط‬
‫کاربری )‪ (User Interface‬و یا تست نهایی هنوز کامل نیست‪ .‬نقاط ضعف ‪ FDD‬از نظر من عبارتند از‪:‬‬

‫• وابستگی فراوان به رهبری تکنیکی‬


‫• مسکوت ماندن رابطه کاربری و ساخت آن بر روی پروژه های بزرگ بهتر جواب گو است‬
‫• تست نهایی و عرضه را پوشش نمیدهد‬

‫و در نهایت این که ‪ FDD‬معجزه نمیکند! و طبیعتا ما مجبوریم که آن را با نیازهایمان مطابقت دهیم‬


‫(چکش کاری کنیم)‪ .‬نظر به همین در سیستم ‪ OAMSES‬از ‪ Requirement Engineering‬استفاده‬
‫شده و ضروریات پروژه مطابق به آن در نظر گرفته شده است‪.‬‬

‫‪16‬‬
‫از نقطه نظر تخنیکی‪ ،‬سیستم ‪ OAMSES‬ضروریات عملی )‪ (Functional Requirement‬و‬
‫ضروریات غیر عملی )‪ (Non-functional Requirement‬زیر را دارد‪.‬‬

‫‪( Functional Requirements 7.3‬ضروریات عملی)‬

‫سیستم ‪ OAMSES‬هفت نوع استفاده کنند )‪ (User‬را تعریف میکند‪.‬‬

‫‪Ministry )1‬‬
‫‪ Ministry‬باید بتواند ‪ University‬ها را با ‪ User Account‬های آن ایجاد کند‪.‬‬

‫‪University )2‬‬
‫‪ University‬باید بتواند ‪ Faculty‬های مربوطهاش را با ‪ User Account‬های آن ایجاد کند‪.‬‬

‫‪Faculty )3‬‬
‫‪ Faculty‬باید بتواند ‪ Department‬های مربوطهاش را با ‪ User Account‬های آن ایجاد کند‪.‬‬

‫‪Teaching Administration )4‬‬


‫‪ Teaching Administration‬یا مدیر تدریسی باید بتواند مضمونهای هر سمستر را ثبت کند‪.‬‬

‫‪Department )5‬‬
‫‪ Department‬باید بتواند ‪ Instructor‬ها و ‪ Student‬های مربوطاش را با ‪User Account‬‬
‫های آن ایجاد کند‪ .‬موضوعات پایان نامههای دانش آموزان را ثبت و فایلهای آن را آپلود کند‪.‬‬

‫‪Instructor )6‬‬
‫‪ Instructor‬باید بتواند مواد تحصیلی (مانند لکچر نوتها‪ ،‬اسالیدها و منابع آموزشی) را آپلود کند‪.‬‬

‫‪Student )7‬‬
‫‪ Student‬باید بتواند به مواد تحصیلی‪ ،‬فایل و موضوعات پایاننامهها دسترسی داشته باشند‪.‬‬

‫‪( Non-Functional Requirements 8.3‬ضروریات غیر عملی)‬


‫‪Language Support‬‬
‫پشتیبانی از زبانهای رسمی کشور (دری و پشتو) و انگلیسی تا مواد و موضوعات نظر به ضرورت و‬
‫وضاحت ثبت و نمایش داده شود‪.‬‬

‫‪Documentation‬‬

‫‪17‬‬
‫سیستم ‪ OAMSES‬باید ‪ Document‬به یکی از زبانهای رسمی کشور داشته باشد که من برای‬
‫‪ Documentation‬زبان دری را انتخاب کردهام‪.‬‬
‫‪Security‬‬
‫سیستم ‪ OAMSES‬باید امنیت در بخشهای مختلف تامین کرده باشد؛ یعنی استفاده کننده از این‬
‫سیستم تنها نظر به صالحیتهایی که دارند‪ ،‬به منابع مختلف آن دسترسی داشته باشند‪.‬‬

‫‪Adaptable‬‬
‫سیستم ‪ OAMSES‬باید بتواند با هرنوع وسیله )‪ (Device‬سازگاری داشته باشد‪.‬‬

‫‪Cross-Platform‬‬
‫سیستم ‪ OAMSES‬باید بتواند روی هرنوع سیستم عامل )‪ (Operating System‬اجرا شود‪.‬‬

‫‪Requirement Engineering 9.3‬‬


‫ضروریات مشخصههای اند که یک سیستم باید داشته باشد و ‪ Requirement Engineering‬عبارت‬
‫از مجموعه فعالیت های برای جمع آوری معلومات از سیستم آینده است که تحت یک هدف خاص بدست‬
‫میآید و پل ارتباط بین دیزان و ایجاد (ساختن) است‪ .‬به عبارت دیگر ‪Requirement Engineering‬‬
‫طیف وسیعی از وظایف و تخنیک است که ما را به شناسیی ضروریات قادر میسازد‪Requirement .‬‬
‫‪ Engineering‬شامل دو بخش است‪ Requirement Elicitation :‬و ‪.Analysis‬‬

‫‪Requirement Elicitation 10.3‬‬


‫‪ Requirement Elicitation‬بیشتر اهداف سیستم جدید را توضیح میدهد که برای افراد غیر مسلکی‬
‫توسعه نرم افزار و مشتری قابل فهم است‪ Requirement Elicitation .‬به سه کتگوری تقسیم میشود‪.‬‬

‫شکل ‪ :3.3‬دیاگرام ‪Requirement Elicitation‬‬

‫‪18‬‬
‫در سیستم ‪ Requirement Elicitation OAMSES‬از نوع ‪ Greenfield Engineering‬است؛ زیرا‬
‫این نوع زمانی به کار میرود که هیچ سیستمی شبیه به آن قبال موجود نباشد و توسعه دهندگان نرم افزار‬
‫)‪ ،(Developer‬سیستم را از اول (از زیر بنا و ابتدا) بسازند و در ‪ OAMSES‬به خاطر عدم پیچیدگی‬
‫ضروریات‪ ،‬اطالعات به شکل مشاهده و مطالعه جمع آوری شده است‪.‬‬

‫‪Requirement Specification 11.3‬‬


‫‪ Requirement Specification‬نتیجه مطالعه ‪Requirement Elicitation (Requirement‬‬
‫)‪ Gathering‬است که در آن ‪ Scenario‬و ‪ Use Case Model‬و ‪ Actor‬ها مشخص میشود‪.‬‬
‫نیازمندیها باید به شکل و طریقه واضح نمایش داده شود و باید در سیستمهای کالن به زبان طبیعی‬
‫نوشته و به اشکال گرافیکی نمایش داده شود‪.‬‬

‫‪ 12.3‬نمودار ‪Use Case‬‬


‫نموداری است که تعامالت میان سیستم مورد نظر با سیستم های خارجی و کاربران را به تصویر می کشد‪.‬‬

‫‪Use Case 1.12.3‬‬


‫یکسری مراحل مرتبط با هم (از لحاظ رفتاری) یا به عبارت دیگر ‪ Use Case‬ها کارکردهای سیستم را از‬
‫دیدگاه کاربر نشان میدهد‪.‬‬

‫‪ Use Case‬دارای ساختار ستاندرد میباشد که معموال یک ‪ use case‬متشکل از‪:‬‬


‫‪ :Use case Name .1‬نام ‪ use case‬باید طوری انتخاب شود که با ‪ follow event‬آن مطابقت‬
‫داشته باشد‪ .‬نام ‪ use case‬باید ‪ phrase verb‬باشد‪.‬‬
‫‪ :Participating actor .2‬در این قسمت از ‪ actor ،use case‬های که درگیر است‪ ،‬ذکر میشود‪.‬‬
‫‪ :Initiated By .3‬دراین نام ‪ actor‬که ‪ use case‬را )‪ (Initiate‬راه اندازی میکند ذکر میگردد‪.‬‬
‫‪ :Follow of events .4‬عبارت از مجموعه کارهایی است که به صورت منطقی و سلسلهای اجرا‬
‫میشود‪ ،‬ذکر میکنیم‪.‬‬
‫‪ :Entry Condition .5‬عبارت از )‪ (condition‬شرطی است که قبل از اینکه ‪ use case‬راه اندازی‬
‫شود‪ ،‬این شرط باید صدق کند‪.‬‬
‫‪ :Exit Condition .6‬عبارت شرطی است که بعد از اینکه سلسلهای از کارهای یک ‪ use case‬ختم‬
‫شد‪ ،‬این شرط باید صدق کند‪.‬‬

‫‪19‬‬
‫‪ 2.12.3‬چگونگی تولید ‪Use Case‬‬
‫یافتن عامل ها و ‪ Use Case‬ها‪:‬‬

‫• چه کسانی از سیستم برای وارد کردن اطالعات استفاده میکنند؟‬


‫• چه کسانی از سیستم اطالعات دریافت میکنند؟‬
‫• این سیستم با چه سیستمهای دیگری تعامل دارد؟‬
‫• اولویت دادن به ‪ Use Case‬ها‬
‫• توسعه هر ‪ Use Case‬با شروع از اولویت بیشتر‬

‫‪Actor 3.12.3‬‬
‫‪ Actor‬ها افراد و یا سیستمهای هستند که به منظور تبادل اطالعات نیازمند تعامل با سیستم اند و بخشی‬
‫از خود سیستم نیستند‪ Actor .‬های شناسایی شده در ‪ OAMSES‬عبارت اند از ‪،Ministry‬‬
‫‪ Instructor ،Department ،Teaching Administration ،Faculty ،University‬و‬
‫‪.Student‬‬

‫• ‪Ministry‬‬
‫‪ Ministry‬نقشی و یا کسی است که میتواند ‪ University‬ها را با ‪ User Account‬های آن ایجاد‬
‫کند‪ .‬اطالعات دانشگاه را ویرایش‪ ،‬حذف و حسابهای کاربری آن را فعال و غیر فعال کند‪ .‬ایمیلها را‬
‫بخواند و ‪ Daily Quotes‬را درج کند‪.‬‬

‫• ‪University‬‬
‫‪ University‬نقشی و یا کسی (ریاست دانشگاه) است که میتواند ‪ Faculty‬های مربوطهاش را با‬
‫‪ User Account‬های آن ایجاد کند‪ .‬اطالعات فاکولتههایش را ویرایش‪ ،‬حذف و حسابهای کاربری‬
‫آن را فعال و غیر فعال کند‪.‬‬

‫• ‪Faculty‬‬
‫‪ Faculty‬نقشی و یا کسی است که میتواند ‪ Department‬های مربوطهاش را با ‪User Account‬‬
‫های آن ایجاد کند‪ .‬اطالعات دیپارتمنتهایش را ویرایش‪ ،‬حذف و حسابهای کاربری آن را فعال و‬
‫غیر فعال کند‪.‬‬

‫• ‪Teaching Administration‬‬

‫‪20‬‬
‫‪ Teaching Administration‬شخصی (مدیر تدریسی) است که میتواند مضمون )‪(Course‬‬
‫های هر سمستر را ثبت و تعیین کند‪.‬‬

‫• ‪Department‬‬
‫‪ Department‬نقشی و یا کسی است که میتواند ‪ Instructor‬ها و ‪ Student‬های مربوطاش را‬
‫با ‪ User Account‬های آن ثبت و ایجاد کند‪ .‬اطالعات محصالن و استادانش را ویرایش‪ ،‬حذف و‬
‫حسابهای کاربری آن را فعال و غیر فعال کند‪ .‬موضوعات پایان نامههای دانش آموزان را ثبت و‬
‫فایلهای آن را آپلود کند‪.‬‬

‫• ‪Student‬‬
‫‪ Student‬شخصی است که میتواند به مواد تحصیلی‪ ،‬فایلها و موضوعات پایاننامهها دسترسی داشته‬
‫باشد و آنها را دانلود کند‪ .‬شیوهی تدریس و میتود استادان را در هر سمستر ارزیابی کرده و به آن‬
‫یکی از این حالت ضعیف‪ ،‬خوب‪ ،‬خیلی خوب و یا عالی نمره بدهد‪ .‬همچنان میتواند درمورد مواد‬
‫تحصیلی نظر بدهد و یا هم الیک و یا انالیک بزند‪.‬‬

‫شکل ‪Use Case Diagram :4.3‬‬

‫‪21‬‬
‫کاربرد‪ :‬تنظیم و ترتیب مواد تحصیلی‬
‫شماره‪1 :‬‬
‫توصیف اجمالی‪ :‬استاد مواد تحصیلی را به اشتراک میگذارد و مواد به اشتراکگذاشته شده را مدیریت‬
‫میکند‪.‬‬
‫عامل اصلی‪ :‬استاد‬
‫عامل فرعی‪ :‬سیستم ‪ ،OAMSES‬محصل‬
‫شرایط اولیه‪ :‬باید به سیستم ‪ login‬کرده باشد‪.‬‬
‫روند اصلی‪:‬‬
‫‪ .1‬استاد عنوان‪ ،‬کتگوری‪ ،‬برجسپها‪ ،‬توضیحات‪ ،‬فایل و تعداد صفحه (اگر فیلم باشد‪ ،‬مدت) را‬
‫درج کرده و فُرم را ‪ Submit‬میکند‪.‬‬
‫‪ OAMSES .2‬اطمنان حاصل میکند که تمام فیلدها درست پر شده و فایل هم درست انتخاب‬
‫شده و حجم آن از ‪ 512‬اِمبی زیاد نباشد‪.‬‬
‫‪ .3‬استاد مواد تحصیلی را کتگوری بندی میکند‪.‬‬
‫‪ .4‬استاد مواد به اشتراک گذاشتهاش را ویرایش میکند‪.‬‬
‫‪ .5‬محصل مواد به اشتراک گذاشته شده را دانلود میکند‪.‬‬
‫‪ .6‬محصل در مورد مواد تحصیلی نظر میدهد‪.‬‬
‫‪ .7‬محصل مواد تحصیلی را ‪ Up/Down Vote‬میزند‪.‬‬
‫‪ .8‬استاد به نظریات جواب میدهد‪.‬‬

‫شرایط نهایی‪ :‬ندارد‬


‫روند جایگزین‪ :‬شماره ‪ 4‬و ‪8‬‬
‫‪ .1‬حذف مواد تحصیلی‬
‫‪ .2‬حذف نظریات‬

‫جدول ‪ :1.3‬سناریوی تنظیم و ترتیب مواد تحصیلی‬

‫کاربرد‪ :‬ثبت و اشتراکگذاری پایاننامه‬


‫شماره‪2 :‬‬
‫توصیف اجمالی‪ :‬دیپارتمنت پایاننامه دانش آموزان را ثبت و به اشتراک میگذارد‪.‬‬

‫‪22‬‬
‫عامل اصلی‪ :‬دیپارتمنت‬
‫عامل فرعی‪ :‬سیستم ‪OAMSES‬‬
‫شرایط اولیه‪ :‬باید به سیستم ‪ login‬کرده باشد‪.‬‬
‫روند اصلی‪:‬‬
‫‪ .1‬دیپارتمنت عنوان انگلیسی‪ ،‬عنوان ملی‪ ،‬محصل (نویسنده پایاننامه)‪ ،‬استاد راهنما‪ ،‬سال‪ ،‬فایل‬
‫و توضیحات را درج کرده و فرم را ‪ Submit‬میکند‪.‬‬
‫‪ OAMSES .2‬اطمنان حاصل میکند که تمام فیلدها درست پر شده و فایل هم درست انتخاب‬
‫شده و حجم آن از ‪ 36‬اِمبی زیاد نباشد‪.‬‬
‫شرایط نهایی‪ :‬ندارد‬
‫روند جایگزین‪ :‬انتخاب نکردن فایل‬

‫جدول ‪ :2.3‬سناریوی ثبت و اشتراکگذاری پایاننامه‬


‫تحصیلی‬

‫کاربرد‪ :‬تغییر رمزعبور‬


‫شماره‪3 :‬‬
‫توصیف اجمالی‪ :‬تمام کاربران )‪ (user‬عکس پروفایل و یا رمز عبور شان را تبدیل میکند‪.‬‬
‫عامل اصلی‪ :‬تمام کاربر‬
‫عامل فرعی‪ :‬سیستم ‪OAMSES‬‬
‫شرایط اولیه‪ :‬باید به سیستم ‪ login‬کرده باشد‪.‬‬
‫روند اصلی‪:‬‬
‫‪ .1‬کاربر رمز عبور فعلی‪ ،‬رمز عبور جدید و تایید رمز عبور را درج کرده و فرم را ‪ Submit‬میکند‪.‬‬
‫‪ OAMSES .2‬اطمنان حاصل میکند که رمز عبور فعلی درست وارد شده‪ ،‬رمز عبور جدید با‬
‫تایید آن درست وارد شده باشد‪.‬‬
‫‪ .3‬اگر رمز فعلی و یا رمز جدید با تایید آن شباهت نکند‪ ،‬سیستم اخطاریه را به کاربر نمایش‬
‫میدهد‬
‫شرایط نهایی‪ :‬ندارد‬
‫روند جایگزین‪ :‬لغو عملیات‬

‫جدول ‪ :3.3‬سناریوی تغییر رمزعبور‬


‫پایاننامه تحصیلی‬

‫‪23‬‬
‫‪Activity Diagram 13.3‬‬
‫اکتیویتی دیاگرام عبارت از دیاگرامی است که جریان کاری سیستم و مراحل و ترتیب آن را نشان میدهد‪.‬‬
‫در این قسمت پروسه ‪ Login‬شدن تمام نوع کاربران را نظر به ‪ Role‬آن در در قالب این دیاگرام به تصویر‬
‫کشیده شده است تا جریان کاری و نحوه ای انجام پروسسها به صورت قابل فهم نشان داده شود‪.‬‬

‫شکل ‪OAMSES Activity Diagram :5.3‬‬

‫‪24‬‬
‫‪Analysis 14.3‬‬
‫‪ Analysis‬نتیجه مدل از سیستم است که درست‪ ،‬کامل و واضح بودن را بیان میدارد‪ .‬این بخش‬
‫بیشر برای توسعه دهندگان نرم افزار )‪ (Developer‬قابل فهم است‪ .‬هدف از مرحله ‪Analysis‬‬
‫بدست آوردن مدلی از ‪ Application Domain‬است‪ .‬در ‪ OAMSES‬از ‪Object-Oriented‬‬
‫‪ Analysis‬استفاده شده است‪.‬‬

‫‪Object Analysis Model 1.14.3‬‬


‫این مدل شامل تمام ‪ Entity Object‬و روابط بین آنها است‪ Entity Object .‬ها‪ Object ،‬هایی اند‬
‫که بیانگر مفهومهای موجود در ‪ Application Domain‬می باشند و معموال به شکل دایمی ذخیره‬
‫میشوند‪ .‬روابط میان ‪ Entity Object‬ها‪) association ،‬ارتباط( و ‪) aggregation‬تراکم( و‬
‫‪) generalization & specialization‬وراثت( میباشد‪.‬‬

‫همچنین با استفاده از این مدل میتوان ‪ attribute‬های مربوط به هر کالس را معرفی نمود‪.‬‬
‫رسم ذیل کالس های مهمی که در ‪ OAMSES‬قرار دارند همراه با ‪ attribute‬های مربوطشان مشخص‬
‫شده اند‪.‬‬

‫شکل ‪ :6.3‬بعضی کالسهای ‪OAMSES‬‬

‫‪25‬‬
‫شکل ‪OAMSES Data Analysis Model :7.3‬‬

‫‪Implementation 15.3‬‬
‫تکنولوژی استفاده شده برای تطبیق سیستم اشتراک گذاری مواد تحصیلی و ارزیابی آنالین )‪(OAMSES‬‬
‫عبارت از ‪ Laravel‬و از آخرین ورژن آن (هنگام تطبیق پروژه) یعنی از ‪ Laravel 5.8‬استفاده شده است‪.‬‬

‫‪Laravel Support MVC Pattern 16.3‬‬


‫‪ Laravel‬به اساس ساختار ‪ MVC Design Pattern‬کار میکند که این مزیت دلیل انتخابش برای‬
‫تطبیق سیستم ‪ OAMSES‬شده است‪ MVC (Model, View, and Controller) .‬عبارت از ‪design‬‬
‫‪ pattern‬است که هدف آن جدا کردن ‪ view‬از ‪ model‬و ‪ controller‬است‪ .‬هدف از استفاده از این‬
‫‪ Patten‬تقسیم ‪ OAMSES‬به ‪ tier‬هایی است که کمترین ‪ Overlap‬را با هم داشته و تغییرات یک‬
‫‪ ،tier‬باالی ‪ tier‬دیگر کمترین تاثیر را داشته باشد‪ .‬توضیحات ‪ MVC‬قرار شکل ‪ 8.3‬است‪.‬‬

‫‪26‬‬
‫شکل ‪ :8.3‬دیاگرام ‪(Pressman, 2010) MVC‬‬

‫‪ Model .1‬در ‪ Laravel‬عبارت از نمونه ‪ real-life‬از ‪ Object‬به اساس کد میباشد یا به عبارت‬


‫دیگر میتوان گفت که ‪ Model‬عبارت از ‪ data-management‬اپلیکشن است‪.‬‬
‫‪ View .2‬در ‪ Laravel‬عبارت از ‪ blade‬است که صرف عناصر تشکیل دهنده صفحات وب در‬
‫اینجا قرار دارد‪.‬‬
‫‪ Controller .3‬تمام عملهاییکه باعث تغیرات در ‪ Model‬میشود‪ ،‬کنترول میکند و ‪ view‬را‬
‫‪ update‬میکند‪.‬‬

‫اما در ‪ Laravel‬کنترل کننده ‪ routing‬نیز وجود دارد که تمام ‪ rout‬ها را کنترل میکند‪.‬‬

‫شکل ‪ :9.3‬دیاگرام ‪)Coleman, 2018( Laravel MVC‬‬

‫‪27‬‬
‫‪Data Modeling 17.3‬‬
‫دیتا مدلینگ پروسه برای مدل سازی دیتا برای ذخیره کردن در دیتابیس است‪ .‬دیتا مدل شکل مفهومی‬
‫و نمونه دیتا‪ ،‬رابطه و نقش آن را نمایش میهد‪ .‬قسمتی از ‪ Physical Data Model‬سیستم‬
‫‪ OAMSES‬قرار زیر است که با استفاده از طریقه ‪ Reverse Engineering‬ترسیم و تشکیل شده‬
‫است‪.‬‬

‫شکل ‪Physical Data Model :10.3‬‬

‫‪28‬‬
‫برای ذخیره دایمی دیتا در ‪) OAMSES‬به غیر از باینری) از ‪ MySQL Server‬که یک‬
‫‪ Relational Database Management System‬است‪ ،‬استفاده شده که بسیار با زبان ‪PHP‬‬
‫سازگار بوده و ‪ Open Source‬میباشد‪.‬‬

‫‪Object Relational Mapping 18.3‬‬


‫دنیای الراول متفاوت از دنیای ‪ Relational Database‬است‪ .‬دنیای الروال بحث ‪،Class‬‬
‫‪ ،Inheritance ،Method ،Object‬و‪ ...‬است‪ .‬اما در دیتابیس‪ ،‬سطر و ستون & ‪(Row‬‬
‫)‪ .Column‬الراول برای ارتباط دادن و ‪ Map‬کردن از ‪ Migration‬استفاده میکند‪ .‬به طور نمونه‬
‫‪ Migration‬کالس ‪ Material‬قرار زیر است‪.‬‬

‫شکل ‪ :11.3‬کالس ‪Material Migration‬‬

‫‪29‬‬
‫برای ‪ map‬کردن این کالس در دیتابیس به ‪ table‬مربوطهاش‪ Migration ،‬جای ما ‪ SQL‬آن را‬
‫ایجاد میکند که در رتصویر زیر نمایش داده شده است‪.‬‬

‫شکل ‪Material SQL :12.3‬‬

‫ساختار نهایی ‪ table‬ای که در دیتابیس ‪ ،Material‬تصویر می شود‪ ،‬در رسم ذیل نشان داده شده‬
‫است‪.‬‬

‫شکل ‪ :13.3‬ساختار نهایی جدول ‪Material‬‬

‫‪30‬‬
‫‪Laravel Life Cycle 19.3‬‬
‫برای اینکه بهتر بفهمیم که ‪ Laravel Page‬کدام پروسه ها را میگذراند تا به مرحلهای میرسد‬
‫که بروی ‪ browser‬های ‪ client‬این ‪ web page‬ها نشان داده میشود‪ .‬برای این کار‪ ،‬الزم است‬
‫که ما ‪ life-cycle‬آن را بفهمیم‪ .‬زمانی که یک صفحه از ‪ OAMSES‬توسط کاربر درخواست داده‬
‫میشود مراحل زیر را طی میکند‪.‬‬

‫)‪(Tejani, 2018‬‬

‫شکل ‪ :14.3‬دیاگرام ‪)Tejani, 2018( Laravel Life Cycle‬‬

‫چنانچه در شکل باال دیده میشود که ‪ Life-cycle‬صفحات ‪ Laravel‬متشکل از هشت مرحله است‪،‬‬
‫هر کدام آن را به صورت خالصه تشریح میکنیم‪.‬‬

‫‪ :Loads autoloader .1‬در این مرحله ‪ autoloader‬بارگذاری شده و لیست ‪ Package‬های‬


‫توسط ‪ composer‬که داخل ‪ autoloader_classmap.php‬است‪ ،‬اجرا میشود‪.‬‬
‫‪ :Loads Application Bootstrap .2‬در این مرحله بوت کننده ‪ Application‬راه اندازی‬
‫میشود‪.‬‬
‫‪ :Retrieve instance of application .3‬در این مرحله از ‪ Application‬اخذ میشود‪.‬‬

‫‪31‬‬
‫‪ :Error handling .4‬زمانیکه نمونه یا ‪ instance‬از ‪ Application‬اخذ شد‪ ،‬عیب یابی صورت‬
‫میگیرد‪ .‬درصورت عدم ‪ error‬به مرحله بعدی رفته و در غیر آن تمام خطاها به کاربر نمایش‬
‫داده میشود‪.‬‬
‫‪ :Register all service providers .5‬در این مرحله سرویسهای ‪ Application‬راجستر‬
‫میشود‪.‬‬
‫‪ :Boot all service providers .6‬سرویسهای راجستر شده مرحله ‪ 5‬راه اندازی میشود‪.‬‬
‫‪ :Routes to controller .7‬در این مرحله ‪ link‬و ‪ URL‬درخواست شده از ‪ Route‬که در فایل‬
‫‪ web.php‬است‪ ،‬از ‪ Controller‬تابع و ‪ method‬مربوطه اش اجرا میشود‪ .‬در این مرحله‬
‫درخواست ‪ Dispatch‬میشود‪.‬‬
‫‪ :Render view .8‬در این مرحله که آخرین مرحله از ‪ life-cycle‬است‪ ،‬در ‪ Controller‬میتود‬
‫خواسته شده اجرا شده و نتیجه یا ‪ page‬به کاربر ‪ Render‬شده و به مرورگر وب نمایش داده‬
‫میشود‪.‬‬

‫‪ 20.3‬امنیت ‪OAMSES‬‬
‫امنیت در سیستم ‪ OAMSES‬بر اساس مکانیزم ‪ Mission-Critical Application‬میباشد‪ .‬این‬
‫مکانیزم شامل دو بخش است‪:‬‬

‫‪Application Level Security .1‬‬


‫‪Server Level Security .2‬‬
‫‪ Laravel‬یک فریمورک توسعه است که امنیت سرور را افزایش نمیدهد و امنیت و ایمن سازی بیشتر‬
‫روی ‪ Application‬است‪(Mansuri, 2018).‬‬

‫‪Application Security in Laravel 1.20.3‬‬


‫• حفاظت در قبال ‪SQL injection‬‬
‫‪ Laravel‬در قبال حمالت ‪ SQL injection‬در صورتیکه از ‪ Eloquent‬یا ‪Fluent Query‬‬
‫‪ Builder‬در ‪ Application‬استفاده شده باشد‪ ،‬حفاظت میکند‪ .‬الراول این را با استفاده از‬
‫‪ Prepared Statements‬انجام میدهد که دیتا مستقیما از طریق ‪ Form‬ها توسط ‪User‬‬
‫وارد شده است‪ .‬اگر هکر کوشش کند که از طریق ‪ input‬ها ‪ quote‬را درج کند و بعدا ‪custom‬‬
‫‪ query‬را اجرا کند‪ ،‬اجرا نخواهد شد‪ .‬نتیجه ‪ invalid query‬میباشد‪.‬‬

‫‪32‬‬
‫• حفاظت از کوکیها‬
‫‪ Laravel‬همچنان از کوکیها )‪ (cookie‬حفاظت میکند‪ .‬برای این کار بیاز به ‪Application‬‬
‫‪ key‬است و آن توسط ‪ php artisan command‬به طور زیر ساخته میشود‪.‬‬
‫‪php artisan key:generate‬‬
‫در الراول ورژن ‪ 5‬و باالتر از آن ‪ Application key‬را به نام ‪ Encryption key‬یاد میکند‬
‫که میتوان آن را در مسیر پروژه داخل پوشه ‪ config‬و در فایل ‪ app.php‬پیدا کرد‪ .‬تعداد آن‬
‫‪ 32‬کرکتر بوده و ‪ Laravel‬برای ‪ validate‬کردن کوکیها از آن استفاده میکند‪.‬‬
‫• حفاظت در قبال )‪Cross-Site Request Forgery (CSRF‬‬
‫‪ Laravel‬در قبال حمالت ‪ CSRF‬اپلیکشن را حفاظت میکند‪ .‬الراول برای این کار از ‪Form‬‬
‫‪ Classes Token‬میتود استفاده میکند‪.‬‬
‫• حفاظت در قبال )‪Cross-Site Scripting (XSS‬‬
‫الراول با استفاده از ساینتکس }}{{@ از این نوع حمالت حفاظت میکند‪.‬‬
‫• ‪Mass Assignment Vulnerabilities‬‬
‫الراول برای پرکردن این خال و نقطه ضعف از )‪Object Relational Mapping (Eloquent‬‬
‫استفاده میکند که هر جدول در دیتابیس مطابق به آن در ‪ Application‬یک ‪Class Model‬‬
‫دارد‪.‬‬

‫‪Authorization and User Role 2.20.3‬‬


‫بعد از اینکه امنیت از لحاظ کلی در ‪ Application‬در نظر گرفته شد؛ یعنی از بین بردن خالهایی مذبور‬
‫در ‪ Laravel Application‬پیاده سازی شد‪ ،‬در ‪ OAMSES‬نوبت به ‪ Authorization‬و تعیین ‪Role‬‬
‫ها است‪ OAMSES .‬مسایل نظیر تعیین و تعریف صالحیتها را برعهده دارد‪ .‬همچنان صالحیتها را به‬
‫هویتها تصویر و تعریف میکند‪ .‬در ‪ OAMSES‬هفت نوع صالحیت یا ‪ Role‬وجود دارند‪:‬‬

‫‪Ministry‬‬ ‫‪.1‬‬
‫‪University‬‬ ‫‪.2‬‬
‫‪Faculty‬‬ ‫‪.3‬‬
‫‪Teaching Administration‬‬ ‫‪.4‬‬
‫‪Department‬‬ ‫‪.5‬‬
‫‪Instructor‬‬ ‫‪.6‬‬
‫‪Student‬‬ ‫‪.7‬‬

‫‪33‬‬
‫این ‪ Role‬ها در ‪ Database Seeder‬سیستم ‪ OAMSES‬وجود دارد و با ‪ Seed‬کردن به جدول‬
‫‪ UserRole‬در دیتابیس ذخیره میشود‪ .‬بعدا نظر به همین ‪ Role‬یا صالحیتها سیستم ‪OAMSES‬‬
‫توسط ‪ UserRoleMiddleware‬صالحیت هر ‪ User‬را کنترل میکند‪.‬‬

‫در ‪ OAMSES‬از دو ‪ Middleware‬برای ‪ Authentication‬و ‪ Authorization‬استفاده‬


‫میکند‪.‬‬

‫‪ :AuthenMiddleware .1‬این ‪ Middleware‬در ‪ OAMSES‬وظیفه ‪ Authentication‬را‬


‫برعهده دارد‪.‬‬
‫‪ :UserRoleMiddleware .2‬این ‪ Middleware‬در ‪ OAMSES‬وظیفه ‪ Authorization‬را‬
‫برعهده دارد و تمام صالحیتها را مدیریت و کنترل میکند‪.‬‬

‫شکل ‪ :15.3‬عملکرد ‪Middle Ware‬‬

‫‪ 21.3‬منابع و تکنولوژیهای مورد نیاز‬

‫• ‪ :HTML‬عبارت از ‪ Hypertext Markup Language‬است که ساختار صحفات وب‬


‫را توسط تگ ها عالمت گذاری کرده و آنها را بوجود می آورد‪.‬‬

‫‪34‬‬
‫• ‪ :CSS‬این زبان نیز برای تزین و طراحی صفحات وب استفاده می شود و استایل را برای‬
‫وب سایت ها معرفی میکند‪.‬‬

‫• ‪ :JavaScript‬این زبان ‪ Scripting Language‬است که برای داینامیک کردن ظاهر‬


‫وب سایتها استفاده میشود و میتواند بعضی از اعتبار سنجی )‪ (Validation‬را به‬
‫صورت سمت کاربر؛ یعنی در مرورگر کاربر انجام دهد‪.‬‬

‫• ‪ :jQuery‬با استفاده از این ایپیآی انمیشنهای وبسایت طراحی میشود و کار نوشتن‬
‫جاوا اسکریپت را ساده میکند‪.‬‬

‫• ‪ :Bootstrap‬از این فریم ورک و کتابخانه ‪ CSS‬برای تزین و شکل ظاهری تا‬
‫‪ Responsive‬بودن وبسایت استفاده میشود‪ .‬یکی از بهترین مزیت ‪Bootstrap‬‬
‫سیستم ستون بندی یا ‪ Gridding‬آن میباشد‪.‬‬

‫• ‪ :Font Awesome‬کتابخانه اشکال )‪ (Icon‬برای درج اشکال روی دگمهها‪ ،‬عنوانها‬


‫و سایر قسمتهای ‪ Web Page‬استفاده میشود‪.‬‬

‫• ‪ :PHP‬این زبان یک ‪ Scripting Language‬است که برای طراحی وب سایت های‬


‫داینامیک که با دیتابیس در تعامل باشد استفاده میشود‪ .‬که امکان پرسوجو )‪(Query‬‬
‫کردن دیتاها را از دیتابیس دارد و محتویات وب را به صورت جداگانه از ساختار وب‬
‫میتواند ارایه کند‪.‬‬

‫• ‪ :XAMPP Server‬عبارت از سرور مجازی برای اجرای زبان‪ PHP‬و اجرای وبسایت‬
‫داینامیک در کمپیوتر محلی میباشد‪.‬‬

‫• ‪ :Microsoft Visio‬برای ‪ UML‬و مدل سازی و نمونه سازی سیستم میباشد‪.‬‬

‫• ‪ :Microsoft Visual Code Studio‬عبارت از یک ویرایش گر حرفه ای متنی بوده‬


‫که ‪ Terminal‬های ‪ Git‬و ‪ Bash Ubuntu‬و ‪ CMD‬همرای آن وصل شده و داخل‬
‫آن کار میکنند‪ .‬محیط جذاب داشته و برای کد و اسکریپت نویسی خیلی خوب است و‬
‫تقریبا از تمام ‪ Syntax‬های زبانهای برنامه نویسی پشتیبانی میکند‪.‬‬

‫‪35‬‬
‫فصل چهارم‬

‫یافتهها و نتایج تحقیق‬

‫‪ 1.4‬مقدمه‬
‫برای حل مسأله خرید و فروش پایاننامهها‪ ،‬جلوگیری از دوران و چرخش آن در دانشگاههای مرکز و‬
‫والیتهای افغانستان و همچنان اشتراکگذاری ‪ Course Material‬یا مواد تحصیلی از سراسر‬
‫دانشگاههای افغانستان‪ ،‬رای و نظر سنجی در مورد آن‪ ،‬سیستم پیشنهادی ‪ OAMSES‬ایجاد شده است‪.‬‬
‫این سیستم ‪ Web base‬بوده و سازگاری با تمام سیستمهای عامل و ‪ Device‬ها را دارد‪.‬‬

‫‪ 2.4‬قابلیتهای ‪OAMSES‬‬
‫قابلیتها کلی این سیستم‪ ،‬در زیر به شکل شمارهوار لیست شده اند‪.‬‬

‫‪ .1‬ثبت و مدیریت دانشگاهها‪ ،‬فاکولتهها و دیپارتمنتها با حسابهای کاربری )‪(User Account‬‬


‫آن‪ .‬این عملیه بر اساس سلسله مراتبی بوده و ساختار این گونه است که وزارت تحصیالت عالی‬
‫دانشگاهها را ثبت و مدیریت میکند؛ دانشگاهها فاکولتههای مربوطه اش را ثبت و مدیریت میکنند؛‬
‫فاکولتهها دیپارتمنتها و مدیریت تدریسی مربوطه اش را ثبت و مدیریت میکنند‪.‬‬

‫شکل ‪ :1.4‬فُرم ثبت دانشگاه‬

‫‪36‬‬
‫‪ .2‬ثبت‪ ،‬مشاهده و مدیریت استادان و محصالن هر دیپارتمنت توسط دیپارتمنت مربوطهاش همراه‬
‫با حساب کاربری آن‪ .‬دیپارتمنتها‪ ،‬استادان و محصالنش را ثبت سیستم کرده و برای آن ها‬
‫‪ User Account‬ایجاد میکنند‪ .‬ویرایش اطالعات شان نیز توسط دیپارتمنت صورت میگیرد و‬
‫همچنان فعال و غیرفعال سازی حسابهای کاربری شان‪ .‬ثبت پایان نامهها نیز توسط دیپارتمنت‬
‫صورت گرفته و فایل آن آپلود میشود‪.‬‬

‫شکل ‪ :2.4‬لیست استادان‬

‫شکل ‪ :3.4‬لیست محصالن‬

‫‪37‬‬
‫شکل ‪ :4.4‬لیست پایاننامههای ثبت شده دیپارتمنت و فارغین‬

‫شکل ‪ :5.4‬فرم ثبت پایان نامه‬

‫‪38‬‬
‫‪ .3‬اشتراک گذاری مواد تحصیلی (اسالیدها‪ ،‬لکچر نوتها‪ ،‬منابع‪ ،‬ویدیوها) توسط استادان‪ .‬استادان‬
‫توسط این سیستم مواد تحصیلی را به اشتراک گذاشته و محصالن به آن میتواند دسترسی داشته‬
‫باشند‪ .‬برعالوه دسترسی‪ ،‬میتوانند مواد تحصیلی را ‪ Like‬و ‪ Dislike‬و همچنان در مورد آن نظر‬
‫بدهند و نظر دیگران را بخوانند‪.‬‬

‫شکل ‪ :6.4‬فرم اشتراک گذاری مواد تحصیلی‬

‫شکل ‪ :7.4‬صفحه مواد تحصیلی به اشتراک گذاشته شده‬

‫‪39‬‬
‫شکل ‪ :8.4‬نظرات محصالن در مورد مواد به اشتراک گذاشته‬
‫شده‬
‫‪ .4‬ارزیابی ‪ Course‬ها‬
‫محصلین هر دیپارتمنت میتوانند درباره مضامین سمستر مربوطه اش‪ ،‬میزان کیفیت و موثریت‬
‫تدریس استادان را ارزیابی کند‪ .‬ارزیابی طوری صورت میگیرد که هر محصل صرف یکبار یک‬
‫مضمون را به یکی از چهار حالت ضعیف‪ ،‬خوب‪ ،‬خیلی خوب و عالی ارزیابی کند‪.‬‬

‫مدت ارزیابی نیز محدود بوده و بعد از این که ‪ Course‬ها توسط تدریسی ثبت شد‪ ،‬هر ‪Course‬‬
‫‪ 15‬هفته که معادل آن در ‪ 105 OAMSES‬روز میشود‪ ،‬وقت دارد‪.‬‬

‫شکل ‪ :9.4‬صفحه داشبورد یا ‪ Home Page‬محصالن‬

‫‪40‬‬
‫شکل ‪ :10.4‬صفحه ارزیابی ‪ Course‬ها‬

‫‪ .5‬نمایش نتایج ارزیابی‬


‫هرکس (محصل) میتواند کورسها را به صورت دلخواه ارزیابی کند و رای (ارزیابی) آن ها محرمانه‬
‫میباشد‪ .‬هیچ یکی از ‪ Role‬هایی که در ‪ OAMSES‬وجود دارد‪ ،‬نمیتواند بفهمد که کی و‬
‫چطوری )‪ (Poor, Good, Very Good, Excellent‬رای داده است‪.‬‬
‫نتایج ارزیابی توسط استادان و محصالن صرف ‪ Course‬های دیپارتمنت مربوطهاش‪،‬‬
‫برای مدیریت تدریسی تمام دیپارتمنتهای مربوطهاش و برای ریاست دانشگاه‪ ،‬تمام کورسهای‬
‫فاکولتههایش (تمام دیپارتمنت همان دانشگاه) قابل مشاهده و دسترسی است‪.‬‬

‫شکل ‪ :11.4‬فرم ثبت کورسها‬

‫‪41‬‬
‫شکل ‪ :12.4‬صفحه داشبورد دانشگاهها‬

‫شکل ‪ :13.4‬صفحه مشاهده دیپارتمنتها برای نمایش ارزیابی‬

‫‪42‬‬
‫شکل ‪ :16.4‬صفحه نتیجه ارزیابی ‪ Course‬ها‬

‫مدت نمایش نتایج ارزیابی نیز محدود بوده و صرف ‪ 15‬به عالوه یک هفته قابل نمایش میباشد؛ یعنی ‪15‬‬
‫هفته برای ارزیابی و یک هفته اضافه آن برای نمایش نتایج ارزیابی میباشد‪.‬‬

‫‪ .6‬نمایش اطالعات دانشگاهها‬


‫تمام کاربران با هر ‪ Role‬یا صالحیتی که در ‪ OAMSES‬دارند‪ ،‬میتوانند اطالعات کلی و جزئی‬
‫(فاکولتهها و دیپارتمنتها) دانشگاهها را ببینند‪.‬‬

‫شکل ‪ :15.4‬صفحه نمایش اطالعات کلی دانشگاهها‬

‫‪43‬‬
‫شکل ‪ :16.4‬صفحه نمایش اطالعات جزئی دانشگاهها‬

‫‪44‬‬
‫‪ .7‬مدیریت پروفایل‬
‫زمانی که برای هر استفاده کننده که دارای هر ‪ Role‬یا صالحیت هم باشد‪ ،‬برایش حساب کاربری‬
‫)‪ (User Account‬ایجاد شود‪ ،‬برای ‪ Authentication‬ایمیل او و رمز عبور پیش فرض‪ ،‬کلمه‬
‫”‪ “password‬میباشد‪ .‬بعد از این که هر کاربر داخل حساب کاربری اش شد‪ ،‬میتوانند رمز‬
‫عبور و عکس پروفایل شان را تبدیل کنند‪.‬‬

‫شکل ‪ :17.4‬مدیریت پروفایل‬

‫‪ .8‬ارسال پیشنهادات و انتقادات‬


‫تمام اشخاصی که اعم از اینکه در ‪ OAMSES‬حساب دارند یا ندارند‪ ،‬میتوانند به ‪ Admin‬یا‬
‫وزارت تحصیالت عالی ایمیل بزنند‪ .‬انتقادات و پیشنهادات شان را شریک سازند‪ .‬ایمیل هم به خود‬
‫ایمیل آدرس سایت آمده و هم به داخل خود سیستم میآید‪ .‬ادمین یا مدیر ‪ OAMSES‬میتواند‬
‫ایمیل ها را بخواند و یا هم ایمیلهای دریافت شده را از سیستم حذف کند‪ .‬اما از طریق خود‬
‫سایت امکان جواب دادن به ایمیل وجود ندارد‪.‬‬

‫‪45‬‬
‫شکل ‪ :18.4‬صفحه ارتباط با ما‬

‫شکل ‪ :19.4‬صفحه داشبورد وزارت‬

‫برعالوه بررسی ایمیلها‪ ،‬سخنان بزرگان نیز از داشبورد وزارت تحصیالت ثبت میشوند که در صفحات مواد‬
‫تحصیلی و پایاننامهها قابل مشاهده است‪.‬‬

‫‪46‬‬
‫شکل ‪Mailbox :20.4‬‬

‫شکل ‪ :21.4‬صفحه پایاننامهها‬

‫‪47‬‬
‫فصل پنجم‬

‫نتیجهگیری و پیشنهادات‬

‫‪ 1.5‬نتیجهگیری‬
‫سیستم ‪ OAMSES‬به خاطر دسترسی به مواد تحصیلی و آموزشی‪ ،‬موضوعات تحقیق و کارهای انجام‬
‫شده (پایاننامه)‪ ،‬رای دهی و نظر سنجی در مورد مواد تحصیلی ایجاد شدهاست‪ .‬همچنان کاهش در تقلب‬
‫و کار و تحقیق روی موضوعات تکراری‪.‬‬

‫استادان با استفاده از این سیستم میتوانند مواد تحصیلی را از سراسر دانشگاههای کشور مان‬
‫افغانستان به اشتراک گذاشته و محصالن بدون محدودیت زمانی و مکانی به آن دسترسی داشته باشند‪.‬‬
‫برعالوه دسترسی‪ ،‬رای مثبت و منفی و یا هم در مورد مواد تحصیلی نظر بدهند‪.‬‬

‫برعالوه موارد فوق‪ ،‬ارزیابی میزان مؤثریت و قوه افهام و تفهیم استادان تا روش و میتود تدریس‬
‫شان‪ .‬محصلین در هر سمستر به صورت محرمانه نظر به میزانی که در ‪( OAMSES‬ضعیف‪ ،‬خوب‪ ،‬خیلی‬
‫خوب و عالی) تعریف شده‪ ،‬ارزیابی کرد‪ .‬نتایج ارزیابی توسط محصلین‪ ،‬استادان‪ ،‬مدیریت تدریسی و ریاست‬
‫دانشگاه قابل مشاهده و دید است‪.‬‬

‫برای توسعه‪ ،‬طراحی و تطبیق این سیستم از روشهای درست مهندسی نرمافزار مانند ‪Object‬‬
‫‪Feature Driven‬‬ ‫میتودولوژی‬ ‫و‬ ‫‪Oriented Software Engineering‬‬
‫‪ Development‬که یکی از زیر شاخههای ‪ Agile‬است‪ ،‬استفاده شدهاست‪ .‬برای تطبیق آن از بهترین‬
‫و جدیدترین تکنولوژیها مانند ‪ AJAX‬و ‪ Laravel PHP Framework‬استفاده صورت گرفته‬
‫است‪.‬‬

‫‪ 2.5‬پیشنهادات‬
‫محصلین و محققینی که شایق کار در ادامه این پروژه هستند‪ ،‬نکات ذیل پیشنهاد میشوند‪:‬‬

‫‪ -1‬ایجاد سیستم اطالع رسانی )‪ (Notification‬در ایمیل از آخرین مواد تحصیلی نظر به رشته‬
‫تحصیلیاش‪.‬‬
‫‪ -2‬ایجاد ‪ Forum‬های عمومی و اختصاصی برای هر دیپارتمنت‪.‬‬

‫‪48‬‬
‫‪ -3‬ایجاد ‪ Logging‬برای عیب یابی و عوارض تخنیکی سیستم‪.‬‬
‫‪ -4‬ایجاد ‪( Localization‬عالوه کردن زبان دری و پشتو برای رابطه کاربری سیستم)‬
‫‪ -5‬ایجاد ‪ Slide Casting‬برای نمایش مواد تحصیلی روی خود سیستم یا سایت‪.‬‬
‫‪ -6‬ایجاد سیستم ثبت عریضه برای درخواست کار روی موضوع پایان نامه و طی مراحل آن الی آخر‪.‬‬

‫‪49‬‬
‫منابع و مآخد‬

Bauer, M. (2005, May 13). Enterpreneur. Retrieved from sitepoint :


https://www.sitepoint.com/successful-development/
Baule, S. (2012). Social Networking for Schools.
Coleman, A. (2018, May 14). Web App. Retrieved from self-taught coders:
https://selftauughtcoders.com/from-idea-to-launch/lesson-
17/laravel-5-mvc-application-in-10-minutes/
Golden, M. (2010). Social Media Strategies for Professional and Their Firms.
Management. (2018, February 28). Retrieved from New Line Technologies:
https://newline.tech/blog/feature-driven-development-methology/
Mansuri, S. (2018, June 28). Retrieved from auth0:
https://www.auth0.com/blog/amp/why-laravel-is-the-recommended-
framework-for-secure-mission-critical-applications/
Pressman, R. (2010). Software Engineering: a practitioner’s approach. New
York: Raghothaman Srinivasan.
Shelly, J. (2010). Using Technology to Sell: Tactics to Rachet up Results.
Tejani, A. (2018, May 29). Retrieved from medium:
https://meduim.com/@ankitatejani84/laravel-request-lifecycle-
7c2145aa1257
Yarow, J. (2012, May 4). Retrieved from Business Insider:
https://www.businessinsider.com/linkedin-is-buying-slideshare-2012-
5?op=1

:‫ بازیابی از بیبیسی‬.)14 ‫ عقرب‬.1398( .‫ ر‬.‫رهنوش‬


https://www.bbc.com/persian/amp/afghanistan-50279737

50

You might also like