چکیده
طراحی و پیاده سازی یک سیستم E-test
همان طور که از نام پروژه پیداست ما به دنبال طراحی یک سیستم برگزاری آزمون بصورت آنلاین هستیم، برنامه ای که بتواند این امکان را در اختیار اساتید، معلمان و یا هر نهاد وسازمانی که به دنبال برگزاری آزمون بصورت الکترونیکی، سریع ،آسان ، ارزان و ایمن باشد، فراهم سازد. بدیهی است که کنترل و هدایت قسمت های مختلف سیستم در اختیار سطوح مختلف دسترسی می باشد که توسط طراح پیاده سازی شده است و با تغییر آن می توان عملکرد سیستم را بر حسب نیاز تغییر داد. این پروژه می تواند کاربردهای وسیعی داشته باشد و در زمینه های گوناگون مورد استفاده قرار بگیرد و با کاهش هزینه های برگزاری آزمون، سهولت و امنیت برگزاری یک آزمون را تضمین نماید. با توجه به اینکه انجام این کار نیازمند اطلاعات پایه ای از عملکرد این گونه سیستم ها وکارهای انجام شده در این زمینه بود، تحقیق و جمع آوری اطلاعات در این زمینه را آغاز کردم. بعد از جمع آوری اطلاعات مورد نیاز پروژه را به چند گام و هر گام را به فازهای کوچکتر تقسیم نموده و مرحله به مرحله کار را جلو بردم. آنچه در این مختصر آمده توضیحاتی در مورد سیستم ، تعریف ، اصول کار و شرح قسمت های مختلف سیستم، چگونگی پیاده سازی قسمتهای مختلف و الگوریتم های مربوطه می باشد.
واژههای کلیدی
سیستم ،آزمون آنلاین، طراحی سوال، session،آزمون پیش فرض.
مقدمه
در آستانه قرن بیست و یکم به دلیل گسترش الکترونیک، آنچه بیش از همه در امر اطلاع رسانی مدنظر است، دیجیتالی کردن اطلاع رسانی است که از طرق مختلف می توان به این هدف دست یافت. یکی از جدیدترین روش ها، اطلاع رسانی از طریق شبکه جهانی اینترنت می باشد.
از سوی دیگر امروزه با گسترش روزافزون علم و صنعت کامپیوتر در تمام سطوح جامعه از امور فردی گرفته تا اجتماعی شاهد جریانی هستیم که از آن به عنوان مکانیزه شدن یاد می شود. جریانی که خود ملاک و معیاری برای سنجش میزان کارایی امور قرار داده است، به طوری که اگر فعالیت و عملیاتی مکانیزه نباشد، هیچ گونه ابزاری برای مقایسه خود ونیز رقابت با دیگر سیستم های مشابه را نخواهد داشت. جریانی که اگرچه ممکن است برای خواستاران آن هزینه بر باشد ولی آینده ای روشن را برای ارتقا آن ترسیم خواهد کرد.
در این راستا جامعه طیف وسیعی از فعالیت های خود را با شرایط جدید وفق داده است و سازمان ها مکانیزه کردن سیستم های خود را تنها وسیله، برای خدمت دهی مناسب به خارج از سیستم و تامین محیطی ایده آل برای کارکنان درون سیستم خود می دانند.
با توجه به آنچه خواندید، یکی از مظاهر تلفیق مکانیزاسیون و اطلاع رسانی، وب سایت است.در حقیقت طراحی وب کار مشکل و پیچیده ای است، چرا که موضوع اصلی آن معماری اطلاعات و طراحی جریان کاری است که هیچ کدامشان را نمی توان استاندارد کرد.
طراحی سوالات یک آزمون، چاپ کردن و تکثیرآن ها به تعداد مورد نیاز،برگزاری آزمون به روش سنتی،تصحیح اوراق و اعلام نتایج مدتها پس از برگزاری آزمون از مشکلات عمده اساتید،معلمین ومدرسین و حتی داوطلبان شرکت در آزمون است.
اما امروزه با عمومی ترشدن استفاده از رایانه ها، می توان انتظار داشت در مراکز برگزاری آزمون،تعداد قابل توجهی رایانه، در دسترس باشد. حال اگر بتوان با توجه به توانائی بالای رایانه ها شرایطی فراهم کرد تا مشکلات مذکور، کمتر و درکل، سرعت برگزاری یک آزمون تا حد ممکن سریعتر شود، می توان از بسیاری از اضافه کاری ها اجتناب نمود.
پروژه ای که قرار است با همین هدف طراحی و پیاده سازی شود یک" سیستم مدیریت آزمون آنلاین" است تا جایگزین مناسبی برای روش های سنتی برگزاری آزمون گردد.
استفاده از این سیستم های OTMS (Online Test Management System)،روز به روز در حال گسترش است و امروزه بسیاری از موسسات معتبر دنیا با استفاده از این نوع سیستم ها آزمون های خود را به صورت Internet_Based Test به اجرا در می آورند.
آزمون هائی از قبیل TOEFL،IELTS و...از این دست آزمون ها هستند.
در نهایت با توجه به آنچه در ابتدا درباره اهمیت اطلاع رسانی و ارتباط پویا با کاربران در شبکه ایترنت گفته شد و همچنین افزایش روزافزون اهمیت Web Apps تصمیم بر آن گرفته شد تا وب سایتی پویا طراحی شود تا بتواند نیازهای مورد نظر را برآورده سازد.
فصل یکم – نگاه کلی به سیستم های مدیریت آزمون آنلاین
1-1- سیستم هایOTMS و ویژگی آنها
سیستم های OTMS (Online Test Management System)،همان سیستم های مدیریت و برگزاری آزمون روی خط یا آنلاین هستند که کاربرد آنها روز به روز در حال افزایش بوده و به عنوان یکی از ابزارهای آموزش الکترونیکی مورد توجه قرار گرفته اند.
این سیستم ها در مقایسه با روش های برگزاری آزمون بصورت سنتی از مزایا و ویژگی های بسیار زیادی برخوردار هستند که اجمالا در اینجا بیان می شود.
ویژگی ها:
از هزینه های زیاد و گاهی بسیار زیاد چاپ و تکثیر اوراق امتحانی تا حد صفر کاسته می شود.
از مشکلات تکثیر سوالات؛ از قبیل اضافه یا کم بودن تعداد برگه ها نسبت به تعداد داوطلبان آزمون، ناخوانا بودن یا واضح نبودن سوالات و تصاویر،محدودیت در استفاده از تصاویر متحرک و فیلم، انباشته شدن سوالات تکثیر شده و...کاسته می شود.
فرآیند تصحیح اوراق و اعلام نتایج در کسری از زمان صورت می گیرد.
اضطراب داوطلبان آزمون در مدت زمان بین شرکت در آزمون و اعلام نتایج به شدت کاهش می یابد.
تاثیر اشتباهات معمول انسانی در زمان تصحیح اوراق از بین می رود.
برگزاری آزمون های آزمایشی برای سنجش سطح علمی داوطلبان به یک امر آسان تبدیل شده و با برگزاری مداوم آنها، بر سطح آمادگی داوطلبان افزوده می شود.
حضور کاربر در محل برگزاری آزمون الزامی نمی باشد.
با توجه به امکانات سیستم، از قبیل نمایش تصادفی سوالات، امکان تقلب در آزمون کاهش می یابد.
امکان تهیه سریع و خودکار آمارهای بسیار جزئی از نحوه پاسخگوئی داوطلبان تنها با چند کلیک فراهم باشد.
امکان تعریف زمان برای پاسخگوئی به سوالات همانند روش های سنتی و امکان مشاهده نتایج حاصل بلافاصله پس از پایان آزمون.
1-2- شروع به کار و موانع موجود بر سر راه
در آغاز پروژه های تحت وب باید با توجه به نوع این وب سایت و عملیاتی که قرار است برای ما انجام دهد، یک زبان از مجموع زبان های ایجاد صفحات وب به درستی انتخاب و مورد استفاده قرار گیرد.
شاید با HTML (مخفف زبان نشانه گذاری فرامتنی) به عنوان یکی از ساده ترین و مقدماتی ترین نوع از این زبان ها آشنا باشید. اما از آنجائی که این زبان قدرت ایجاد صفحاتی پویا به شکلی دوطرفه بین کاربر و سرویس دهنده را ندارد گزینه مناسبی برای ما به شمار نمی رود.
در واقع ما نیاز به زبانی داریم که بتواند با پایگاه داده موجود بر روی سرویس دهنده ارتباط برقرار کند و روی داده های مورد نظر پردازش و محاسبه انجام دهد(که این ویژگی در HTML یافت نمی شود)، بنابراین در این جستجو به زبان های .ASP،.PHP و.JSP می رسیم.
اما هر کدام از این زبان ها پایگاه داده،سیستم عامل و نرم افزار اجرای خاص خود را دارد که بر روی سرویس دهنده مورد نظر نصب می شود(سمت سرور).
حال با توجه به برتری سیستم عامل های سرویس دهنده Linux ،ساده بودن و نزدیکی زبان PHP به زبان C، امکان استفاده آنها در سرویس دهنده سیستم عامل Windows و نیز نیاز به ارتباط پویا و دوطرفه با داوطلبان شرکت در آزمونها، از گزینه دوم موجود در این جدول برای پروژه خود استفاده خواهیم کرد.
1-3- مشخصات اولیه سیستم
با توجه به آنچه درباره نیازمندی های این پروژه گفته شد و آنچه که ما را به سمت یک سیستم کارآمد سوق می دهد،نیاز به سیستمی داریم تا حداقل ها و مشخصات زیر را داشته باشد و بتواند نیازهای ما را برطرف کند؛
این سیستم برای برگزاری آزمون تحت وب، و توسط زبان برنامه نویسی PHP پیاده سازی می شود.
در کنار PHP ،برای انعطاف بیشتر سیستم از Javascript و در بعضی از بخش ها از تکنولوژی Ajax استفاده خواهدشد.
از زبان MySQL جهت ارتباط با پایگاه داده استفاده شده وPHPmyAdmin به عنوان DBMS در نظر گرفته شده است.
استفاده از نرم افزار WAMP ،جهت اجرای برنامه های تحت وب بر روی ویندوز.
تعریف سه سطح مدیر سیستم،مربی و داطلب. مدیر سیستم یا مربی با ورود به سیستم سوالات مورد نظر را طراحی کرده و در اختیار داوطلبان قرار می دهند.
در اینجا ما به جای نصب هر یک از نرم افزار های مورد نیاز برای این زبان از یک نرم افزار جداگانه به نام WAMPServer(مخففPHP Windows Apache MySQL) استفاده میکنیم. این نرم افزار که بر روی سیستم عامل Windows نصب می شود شامل نسخه ای از Apache، PHP و MySQL (phpMyAdmin و SQLitemanager برای مدیریت پایگاه داده) می باشد.
پس از نصب برنامه بالا برای ویرایش کدهای PHP نیاز به برنامه های ویرایشگری مانند EnginSite یا Dreamweaver داریم که در اینجا به دلیل امکاناتی که Dreamweaver دارد از آن استفاده می کنیم.
مشکلات بر سر راه
هر چند می توان مزایای بسیار زیادی برای این سیستم برشمرد، اما هنوز مشکلاتی بر سر راه توسعه استفاده از این روش وجود دارد. مشکلاتی از قبیل:
نیاز به تعداد بسیار زیادی رایانه متناسب با تعداد داوطلبان و بالا بودن قیمت آنها نسبت به اوراق سنتی.
نیاز به تهیه تجهیزات و راه اندازی شبکه های مورد نیاز.
نیاز به آموزش طراحان سوال و داوطلبان،جهت کار با سیستم وحتی کار با رایانه.
نیاز به نیروهای متخصص جهت پشتیبانی رایانه ها و شبکه ها.
فصل دوم – بانک اطلاعاتی
2-1- MY SQL
MY SQL بانک اطلاعاتی بسیار سریع و امن RDBMS است.MY SQL یکی از انواع سرویس دهنده های پایگاه داده است که با وجود اینکه نسبت به سایر DBMSهای موجود قدرتمند نمی باشد، اما بعلت قیمت و عملکرد مناسب آن، مورد استفاده گسترده قرار می گیرد. MY SQLیک سیستم مدیریت پایگاه داده رابطه ای (RDBMS) است که امکان ذخیره سازی،جستجو،مرتب سازی و بازیابی داده ها را فراهم می کند.سرویس دهنده MY SQL به چندین کاربر اجازه استفاده همزمان از داده ها را می دهد و دسترسی افراد معتبر به داده ها را تسریع می کند.بنابراین MY SQL یک سرویس دهنده چند کاربره و چند ریسمانه است.
این سیستم مدیریتی پایگاه داده، رایج ترین پایگاه داده کدباز(open Source) محسوب می شود.بدین دلیل MY SQL بانک اطلاعاتی با کاربران زیاد و کانال های متفاوت می باشد که MY SQL زبان استاندارد جهانی بانک های اطلاعاتی SQL را به کار می گیرد.
2-1-1 انتخاب پایگاه داده و برتری های MYSQL
همان طور که می دانید جهت انجام عملیات مختلف بانک اطلاعاتی که در برنامه های کابردی برنامه ریزی می شوند نیازمند استفاده از تکنولوژی های موجود برای اتصال برنامه کاربردی به بانک اطلاعاتی هستیم. به عنوان مثال زبان دلفی به برنامه نویسان قابلیت های مختلفی را می دهد.
یکی از تکنولوژی ها، ADO می باشد که در برنامه کاربردی نوشته شده از آن استفاده شده است.ADO یک واسط برنامه کاربردی از شرکت ماکروسافت است که به کاربرانی که برنامه های کاربردی ویندوز را می نویسند،این قابلیت را می دهد که به یک پایگاه داده رابطه ای و یا غیر رابطه ای چه محصول ماکروسافت باشد و یا از دیگر تولیدکنندگان دسترسی داشته باشند.
اما در PHP این مسائل نیست،یک مزیت بزرگ استفاده از یک زبان اسکریپتی مثل PHP قابلیت ایجاد محتوای پویا می باشد.اگرمنبع محتوا ورودی کاربر از محل متغیرهائی چون Session و یا فایلهای متنی باشد مشکلی وجود ندارد،اما برای داشتن اطلاعاتی ماندگارتر از طول حیات یک صفحه وب، نیاز است مدیریت داده و دیسک را به پایگاه داده ای بنام MY SQL بسپاریم که علاوه بر فراهم کردن شرایط استفاده از دستورات SQL و ایجاد یک سیستم مدیریت پایگاه داده(DBMS) به عنوان یک واسط عمل می کند و علاوه بر آن نیز خود در PHP دارای واسط کاربر است یعنی می توان دستورات MY SQL را با کمک Queryهای PHP به آن ارسال کرد.
اکثر برنامه های کابردی تحت وبی که نوشته می شوند،برای ذخیره دائمی اطلاعات خود از بانک اطلاعاتی استفاده می کنند. هرگاه از بانک اطلاعاتی صحبتی می شود، برنامه نویس می بایست فاکتورهایی را برای انتخاب بانک در نظر بگیرد و با حلاجی آنها،بهترین انتخاب را انجام دهد.ویژگی های مشترکی که هر برنامه نویس به دنبال آنهاست و در واقع حداقل نیازمندی های او از یک بانک اطلاعاتی است را می توان در سه صفت خلاصه کرد:
سرعت،پایداری و قابلیت اطمینان؛
آیا MY SQL تمام نیازمندی های ذخیره و بازیابی داده ها را با توجه به آنچه در مورد این پروژه و نیز قابلیت های گفته شده در MY SQL ، تامین نمی کند؟!
فروردین ماه 1388