توضيح: خواننده گرامي

متني كه پيش روي شماست ايده هاي اوليه براي ساخت يك سايت با ويژگي اوليه مديريت ساده توسط كاربر غير حرفه اي به منظور استفاده از آن در محيطهاي دانشگاهي براي برقراري پل ارتباطي ميان استادان و دانشجويان از طريق شبكه جهاني اينترنت است. ماحصل اين ايده ساخت ساخت http://meybod.yazd.info با استفاده از تكنيكهاي server side scripting بوده است.

1- متني كه در اختيار شما قرار گرفته است مقدمات يك مقاله است در توجيه ساخت و عملكرد اين سايت. چنانچه ايده يا نظري در اين مورد داريد از طريق همين سايت نگارنده را در جريان قرار دهيد.

2- سايتي كه در حال حاضر در آن قرار دهيد بر اساس مطالب و مستنداتي كه بخشهايي از آن در اين مقاله آمده است ساخته شده و هنوز هم كار بر روي آن ادامه دارد.

1- مقدمه:

بشر همواره سير تمدن را با ظهور و بلوغ تكنولوژي سنجيده است: عصر پارينه سنگي، عصر مفرغ، عصرآهن، عصر بخار، عصر اتم و اينك عصر اطلاعات.

فنآوري اطلاعات و ارتباطات (ICT) وجه تمايز بنيادين عصر ما با دوران گذشته است. آنچه كه امروزه تحت عناوين شكاف يا فاصله بين كشورها، مناطق، ملتها، طبقات، اقشار و افراد مطرح است در تحليل نهايي بيش از هر عامل ديگر با "شكاف ديجيتال" و يا ميزان بهره مندي و كاربرد فنآوري اطلاعات و ارتباطات تناسب مستقيم دارد. به بيان ديگر دنياي معاصر ما به "جوامع اطلاعاتي"، "جوامع صنعتي" و "جوامع سنتي" تقسيم شده است. در اين ميان ، ميزان توسعه و كاربرد فنآوري اطلاعات و ارتباطات در امر آموزش مهمترين شاخص پيشرفت به شمار مي رود. پديده هايي چون "آموزش مجازي(Virtual Education)"، يا "آموزش الكترونيكي(E-Learning)" كه امروزه در مورد آنها زياد مطلب نوشته مي شود و توسط صاحبنظران به صورت گسترده اي مورد بحث قرار مي گيرد شايد پر اهميت ترين عامل جهش هاي علمي/ پژوهشي/ فرهنگي و در نتيجه ازدياد شكافهاي رو به رشد باشد. از اين رو براي جلوگيري از عميق تر شدن اين شكافها گذار از شرايط كنوني به جامعه اطلاعاتي مسيري غير قابل اجتناب است.

در ادامه ابتدا به بررسي مفاهيم فراگيري الكترونيكي و موضوعات مرتبط با آن مي پردازيم. خواهيم ديد كه در اختيار داشتن ابزاري براي توليد محتويات آموزشي در حال حاضر يكي از نيازهاي اساسي براي آغاز اين نهضت در دانشگاهها و مراكز آموزشي محسوب مي گردد. در ادامه تكنولوژيهاي مختلف انتشار متون در وب مورد بررسي قرار گرفته و نقاط قوت و ضعف هر كدام مشخص مي گردد. در انتها با بررسي معماريهاي مورد استفاده در توليد نرم افزارهاي مبتني بر وب و بر اساس مفاهيم مطرح در آنها به ساخت يك سيستم مديريت محتوا مبتني بر فايل (Filebased Content Management System:FCMS) خواهيم پرداخت. در انتها نيز به بررسي عملكرد يكساله فعاليت اين سيستم در يك واحد آموزشي نمونه، نقاط ضعف و قوت اين سيستم، مشكلات موجود در كار با اين سيستم توسط كاربران و ... پرداخته و راهكارهايي براي بهبود عملكرد اين گونه سيستم ها در محيطهاي آموزشي ارايه خواهيم داد.

2-فراگيري الكترونيكي:(E-Learning)

در تعريف اين مفهوم آمده است:

1- بهره گيري از فن آوريهاي نوين اطلاعاتي و ارتباطاتي نظير اينترنت و سيستم هاي چندرسانه اي به عنوان ابزارهايي جهت بهبود كيفيت آموزش و فراگيري، از طريق ارايه تسهيلاتي جهت دسترسي آسان به منابع و خدمات آموزش و نيز فراهم نمودن ساز و كارهايي چون تعامل و همكاري از راه دور. را فراگيري الكترونيكي گويند.[1]

2- آموزش الكترونيكي (E-Learning) عبارت است از ارائه محتواي آموزشي و تجربيات اساتيد مجرب هر رشته از طريق تكنولوژي الكترونيك به دانشجويان علاقه مند ، كه اين دانشجويان ميتوانند در هر نقطه جهان از اين آموزشها بهره مند گردند .

3- دست اندركاران سيستم هاي cisco اينگونه معتقدند كه : “ آموزش الكترونيكي يك يادگيري اينترنتي است كه ميتواند شامل رساندن مطلب در چندين شكل ، مديريت آموزش و يك مجموعه شبكه شده از دانش آموزان و تعدادي توسعه دهندگان و كارشناسان خبره باشد. همچنين آموزش الكترونيكي يادگيري را سريعتر و با هزينه اي كمتر ميسر ميسازد. بعلاوه دستيابي به آموزش براي همه و شركت همگان در فرآيند يادگيري را فراهم مي سازد.”

4- Elif trondsen ميگويد: “ آموزش الكترونيكي نيروي شبكه را به كار ميبرد براي كسانيكه به تكنولوژي هاي اينترنتي تكيه دارند كه در ضمن كار با شبكه آنها را قادر به يادگيري نيز مي كند.”

اصطلاح آموزش الكترونيكي، گستره وسيعي از كاربردها از جمله آموزش مبتني بر وب(Web-Based Training:WBT) ، آموزش مبتني بر كامپيوتر(Computer-Based Training:CBT) ، كلاسهاي مجازي (Virtual Classes) و همكاريهاي الكترونيكي (Digital Cooperation) را در برمي گيرد .اين تعريف براساس نحوه ارائه موضوعات از طريق رسانه هاي الكترونيكي شامل اينترنت، اينترانت، اكسترانت، انتشار ماهواره اي، نوارهاي ويديويي يا صوتي و تلويزيونهاي محاوره اي مشخص شده است. آموزش الكترونيكي، تصويري از تكامل آموزشهاي شركتي و شخصي در مقايسه با آموزش سنتي و به مثابه تجارت الكترونيكي در مقايسه با تجارت كنوني است .

آموزش الكترونيكي را به نوعي مي توان همان استفاده از اينترنت براي يادگيري دانست كه با استفاده از ارتباط اينترنتي در هر زمان يا مكاني ميتوان به اين مقصود دست يافت. آموزش الكترونيكي نوع جديدي از آموزش است كه در آن نيازي به حضور دانشجويان در كلاس هاي برنامه ريزي شده نيست. در واقع يك محيط آموزشي مجازي در شبكه است. موضوعهاي درسي چنان طراحي شده اند كه دانشجويان را به بهترين وجه راهنمايي كنند چون آنها در كلاسهاي درس شركت نداشته و از حضور استادان بهره نمي برند.

فراگيرنده در اين سيستم مي تواند با استفاده از امكانات شبكه نظير پست الكترونيك و يا اتاقهاي گفتگو با ديگران ارتباط برقرار كند علاوه بر اين در هر مكان و هر زماني كه مايل باشد مي تواند به مطاله دروس خود بپردازد و در خانه يا اداره نيز فرصت كافي در اختيار خواهد داشت .

انعطاف پذيري اين نوع آموزش براي افرادي كه به دليل تعهدات شغلي يا شخصي ، نوع حاكميتهاي سياسي، اقتصادي و يا فرهنگي و ...(بنگريد [2]) قادر به شركت كردن در يك كلاس رسمي نيستند, محيط آموزشي مناسبي را فراهم مي آورد.مثلا براي كساني كه در ساعات متغير كار مي كنند يا اشخاصي كه به دليل استراحت در منزل شانس حضور در دانشگاه را ندارند در حاليكه ديگران در همان زمان در كلاسها شركت مي كنند. اين روش انتخاب خوبي براي اشخاصي است كه چه از نظر مخارج و يا وقت براي ادامه تحصيل امكان سفر به خارج از كشور را ندارند.

فراگيرنده در اين سيستم از مزاياي زير برخوردار خواهد شد:

- ديگر نيازي به صرف وقت و حضور در كلاس هاي درسِ ندارد.

- مي تواند از طريق شبكه ارتباطي با دانشجويان و مدرسان تمام دنيا ارتباط برقرار كرده و به بحث و گفتگو بپردازد.

- مزيت برخورداري از يك روش مطالعه انعطاف پذير كه مطابق نيازهايش تنظيم شده است را خواهد داشت.

- سرعت مطالعه در دست دانشجو است و مي تواند عنوانها را مرور كرده و در هر خط, سرعت خواندن آن را با توجه به درك و فهم خود بالا ببرد.

- اطلاعات ضروري در مورد پيشرفت آموزشي براي سنجش و ارزيابي شخصي، به سرعت ارائه مي شود.

- مانند كلاسهاي درس از همان برنامه هاي آموزشي, دروس مرجع و راهنمايي هاي درسي برخوردار مي شود.

- در مطالعه از طريق online با غناي آموزش گروهي مواجه مي شود.

- مطالعه از طريق online فراگيرنده را تشويق مي كند تا كنجكاوي و ابتكار بيشتري به كار ببرد و امكان دسترسي به تكنولوژيهاي جديد را افزايش داده و با استفاده از فناوري هاي جديد ، اطلاعات خود را به روز نگه دارد.

- در پايان هر ترم فرم ارزيابي online اطلاعات ضروري و لازم درباره برنامه را به فراگيرنده منتقل مي كند.

دانشگاه مجازي عبارت است از محيطي كه با بهره گيري از ابزارهاي چندرسانه اي مناسب و با دارا بودن زيرساخت ارتباطي مناسب، ارايه دهنده خدمات آموزش الكترونيكي و يادگيري الكترونيكي مي باشد به گونه ايكه معمولا نيازي به مكان فيزيكي به شكل دانشگاه سنتي نداشته و دانشجويان قادرند از هر مكان و در هر زماني كه مايل باشند از بسياري از خدمات ارايه شده نظير درسهاي الكترونيكي يا ارزيابي و آزمونهاي الكترونيكي استفاده نمايند. اين سيستم گاه به صورت مجزا از دانشگاه سنتي و گاه نيز در كنار آن به فعاليت و ارايه خدمات آموزشي مي پردازد[1]

در مقايسه با شيوه سنتي آموزش مي توان ويژگيهاي زير را براي سيستم آموزش الكترونيكي در نظر گرفت

  • جابجايي محتويات (در سيستم الكترونيكي) به جاي جابجايي فراگيرنده (در سيستم سنتي)
  • برنامه آموزشي منطبق با فراگيرنده (در سيستم الكترونيكي) به جاي برنامه آموزشي ايستا (در سيستم سنتي)
  • استفاده از اساتيد مشهور (در سيستم الكترونيكي) به جاي مراكز آموزشي مشهور در نقاط جغرافيايي مشخص (در سيستم سنتي)

Dimensions of an e-learning environment
شكل 1: ابعاد مختلف يك سيستم فراگيري الكترونيكي

2-1- سطوح آموزش الکترونيکي

آموزش الکترونيکي در چهار گروه عمده طبقه بندي مي گردد. گروه هاي فوق سطوح متفاوت آموزشي از ابتدائي تا سطوح پيشرفته را تضمين مي نمايند :

2-1-1- پايگاه هاي دانش . پايگاه هاي دانش خود بعنوان يک آموزش واقعي در نظر گرفته نمي شوند. بانک هاي اطلاعاتي شکل اوليه اي از آموزش الکترونيکي مي باشند. بانک هاي اطلاعاتي فوق را مي توان در سايت هاي نرم افزاري متعدد، در اينترنت مشاهده نمود. بانک هاي اطلاعاتي با يک روش سيستماتيک قادر به ارائه توضيحات و راهنمائي هاي ضروري در ارتباط با سوالات مطرح شده در رابطه با نرم افزار مي باشند. در اين راستا دستورالعمل هاي لازم بمنظور انجام عمليات خاص توسط يک نرم افزار بصورت مرحله به مرحله در اختيار متقاضيان قرار مي گيرد.بانک هاي اطلاعاتي فوق ، اغلب بصورت متعامل با کاربران خود ارتباط برقرار مي نمايند. مثلا" کاربران مي توانند کلمات مورد نظر خود را در بخش مربوطه تايپ تا زمينه جستجو در بانک اطلاعاتي فراهم گردد. در اين راستا امکان انتخاب موضوع مورد علاقه بر اساس ليست هاي مرتب شده ( موضوعي و يا الفبائي ) نيز وجود دارد.

2-1-2- حمايت فني online . حمايت online نيز نوع خاصي از آموزش الکترونيکي بوده که در مواردي شباهت هائي با پايگاه هاي دانش ، دارد. براي پياده سازي حمايت هاي فني online ، از روش هاي متعددي نظير : تالارهاي مباحثه ، اتاق هاي گفتگو ، سيستم هاي BBS ، پست الکترونيکي و يا ارسال پيام فوري و زنده ، استفاده مي شود. سيستم هاي فوق تعامل بمراتب بيشتري را نسبت به پايگاه هاي دانش با مخاطب ، برقرار مي نمايند.
نمونه اي از يك Animation آموزشي

2-1-3- آموزش غير همزمان سيستم فوق در آموزش هاي اوليه الکترونيکي استفاده مي گرديد. در روش فوق امکان خود آموزي با محوريت فراگيران فراهم مي گردد. براي پياده سازي و اجراي سيستم فوق از امکانات و روش هاي متعددي نظير : آموزش هاي مبتني بر CD-ROM ، اينترانت و يا اينترنت استفاده مي گردد. دستيابي به مجموعه اي از دستورالعمل ها بمنظور انجام يک عمليات خاص از طريق سيستم هاي BBS ، گروه ها و تالارهاي متفاوت مباحثه و پست الکترونيکي نمونه هائي از امکانات ارائه شده توسط سيستم هاي فوق مي باشند. در برخي موارد سيستم هاي فوق ، بصورت کاملا" خود آموز بوده و از لينک هاي خاصي براي مراجعه به منابع متفاوت استفاده مي گردد. دراين نوع سيستم ها، از مربيان آموزشي که بصورت زنده فعاليت هاي آموزشي فراگيران را مديريت مي نمايند ، استفاده نمي گردد. چارچوب و ساختار ارائه موضوع و محتوي اغلب بصورت خودآموز با هدايت لينک هاي تعريف شده در موضوعات متفاوت است .

2-1-4- آموزش همزمان آموزش همزمان بصورت بلادرنگ با کمک يک مربي آموزشي که بصورت زنده ناظر تمام فعاليت هاي آموزشي فراگيران است انجام مي گيرد. در سيستم فوق ، فراگيران با ورود به کلاس مجازي ، قادر به برقراري ارتباط مستقيم با مربي و ساير فراگيران موجود در کلاس خواهند بود. در اين نوع آموزش الکترونيکي، تمام ويژگي هاي يک کلاس درس بصورت مجازي شبيه سازي و در اختيار مربي و فراگيران قرار مي گيرد . مثلا" مي توان بصورت مجازي دست خود را براي سوال کردن بالا برده و يا حتي از يک تخته سياه مجازي استفاده و محتويات نوشته شده بر روي آن را مشاهده نمود. جلسات آموزشي ممکن است صرفا" در حد و اندازه يک جلسه بوده و يا هفته ها ، ماه ها و يا حتي سال ها ، بطول انجامد. اين نوع آموزش ها معمولا" از طريق وب سايت هاي اينترنت ، کنفرانس هاي صوتي و يا تصويري ، اينترنت تلفني انجام مي گيرد.

نيازمنديهاي كاربران در يك سيستم آموزش همزمان عبارتند از:

  • کاربري آسان
  • داراي راهنماي جامع و کامل براي کاربر به صورت هوشمند
  • استفاده آسان از مواد آموزشي موجود
  • پشتيباني از ارتباط صوتي
  • دادن امکانات لازم به اساتيد دوره ها جهت مديريت دانشجويان و مانيتورينگ آنها
  • دادن امکانات لازم براي کاربران جهت داشتن تعاملات برخط ( همانند Video Conferencing )
  • امکان ضبط کليه جلسات دوره هاي آموزشي
  • داشتن يک برد مشترک جهت مطرح شده مباحث آموزشي
  • امکان ترجمه متون و صوت به زبان هاي مختلف
  • محيط يادگيري سه بعدي مجازي ( کلاس هاي مجازي )
  • سرويس هاي آموزشي غير همزمان و خودکار
  • چت و گفتمان صوتي چند زبانه
  • امكانات مديريت دوره هاي آموزشي

لازم به ذكر است كه بنا به نتايج آخرين مطالعات و پژوهش ها، بهترين رويكرد فراگيري الكترونيكي عبارتست از يك رويكرد مختلط (blended learning) متشكل از هر دو روش آموزش به روش سنتي و آموزش الكترونيكي

همانگونه كه در شكل 1 نيز مشاهده مي كنيد، يكي از مراحل ساخت سيستم هاي آموزش الكترونيكي ساخت متون الكترونيكي آموزشي با استفاده از تكنولوژيها و استانداردهاي تدوين متا داده ها است. جدا از مساله رعايت استانداردها، استفاده از تكنولوژيهاي موجود براي تدوين متا داده ها به منظور تدوين متون، يكي از ضروريات محسوب مي گردد كه در نخستين قدم سيستم هاي آموزشي ما بايد به سمت آن حركت كنند.

Design Considerations of an Educational metadata management tool
شكل 2:قابليتهاي مورد انتظار يك سيستم مديريت ابرداده هاي آموزشي

2-2- مفروضات و مختصات يك سيستم آموزش الكترونيكي در فضاي مجازي

مفروضات اساسي در ايجاد محيط يادگيري مجازي عبارتند از:

1- هدف ايجاد فضاي مجازي يادگيري ، يادگيري است و نه آموزش(يادگيري و آموزش غالبا مترادف تلقي مي شوند. در صورتيكه مترادف نيستند. آموزش روشي است كه طي آن محتوي انتقال مي يابد و پشتوانه يادگيري است، درحاليكه يادگيري روش دروني ما براي پردازش اطلاعات و تبديل آن به دانش است)

2- نقش معلم در اين فضا راهنمايي است و نه انتقال اطلاعات

3- در طراحي يادگيري مجازي ايجاد فضاي مشارکتي از اهميت بسزايي برخوردار است

فناوري اطلاعات به طور کلي در نظام آموزشي تغييرات اساسي ايجاد خواهد کرد.در تحول جوامع و تغيير ساختار آن ها از جوامع صنعتي به جوامع اطلاعاتي تغييراتي ساختاري در نظام آموزشي به وجود خواهد آمد که پلگرام در جدولي به مقايسه آن ها پرداخته تفاوت هاي تعليم و تربيت در جامعه صنعتي (Industrial society) و جامعه اطلاعاتي (Information Society) را به صورت زير ترسيم مي كند.

تعليم و تربيت در جامعه صنعتي تعليم و تربيت در جامعه اطلاعاتي
مدرسه: جدا از جامعه بخش اعظم اطلاعات صورت شبه محرمانه دارد. مدرسه:- در بطن جامعه
اطلاعات به صورت آزاد در دسترس است.
· معلم:- دانش آموزان را در پيدا كردن مسير يادگيري كمك مي كند
-به هدايت جداگانه دانش آموزان به شكل فردي مي پردازد
-دانش آموزان را براي ارزيابي خود كمك مي كند
-تاكيد بر پرورش مهارت هاي ارتباطي دارد.
· معلم: مجري آموزش است
- كل كلاس را آموزش مي دهد
-دانش آموزان را ارزيابي مي كند
-تاكيد كمي بر مهارت هاي ارتباطي دارد.
· دانش آموزان:-فعالتر هستند
-در داخل و خارج مدرسه به فراگيري مي پردازند
-كار گروهي بسيار زياد است
-پرسش مي كنند
-خود جواب ها را پيدا مي كنند
-علاقه زيادي به يادگيري دارند.
· دانش آموزان: -اكثرا منفعل هستند
-بيشتر در مدرسه به فراگيري مي پردازند
-كار گروهي بسيار اندك است
-پرسش ها را از معلمان يا كتاب ها دريافت مي كنند
-جواب هاي پرسش هارا فرا مي گيرند
-علاقه كمي به يادگيري دارند.
· والدين- در فرآيند يادگيري نقش بسيار فعالي دارند-در هدايت آموزش ،ايفاي نقش مي كنند
- به ارائه الگو مي پردازند
· والدين:- بندرت در فرآيند يادگيري فعالند
-درهدايت آموزش نقشي را به عهده ندارند
-الگوي يادگيري مادام العمر را درذهن ندارند

جدول1: تفاوتهاي تعليم و تربيت در جوامع صنعتي و اطلاعاتي


توجه به اين نكته ضروري است كه برخي از اين تغييرات بالضروره اتفاق نخواهند افتاد بلکه مي توان به صورت هدايت شده و برنامه ريزي شده آن هارا بوجود آورد و يا مانع پديد آيي آن هاشد

3- مروري بر برخي از كارهاي انجام شده:

در سالهای اخير پروژه های تحقيقی گسترده ای در اين زمينه انحام شده است. در اين پروژه ها سعی شده است که از تکنولوژيهای پيشرفته ای جهت تهيه سيستمهای آموزش الکترونيک بروز استفاده شود. محصولاتی همانند InterWise Millennium 3.2 و Centra Symposium 4.0 و Learnlinc4.5 ازجمله نرم افزارهايی می باشند که برای محيطهای آموزشی همزمان تهيه شده اند در همه اين نرم افزارها سعی شده است گروه زيادی از افراد در نقاط مختلف جغرافيايی با هم ديگر تعامل داشته و بصورت مشارکتی و بلادرنگ مطالب آموزشی را در اينترنت و اکسترانت و اينترانت فراگيرند

MANIC Architecture
شكل 3: معماري پروژه MANIC

سيستم ITS:در اين پروژه يك سيستم ITS (Intelligent Tutoring System) مبتني بر وب ساخته شده و مورد استفاده قرار گرفته است. تمركز اين پروژه بر تحقيق و حل مسائل مطرح در حوزه نمايش اطلاعات، مدلسازي دانش آموز براي اين سيستم ها و مسائلي از قبيل نحوه كاهش تاخير شبكه در اين سيستم ها، مساله قابليت استفاده مجدد از كدها و... بوده است. چارچوب اين تحقيقات سيستم MANIC (Multimedia Asynchronous Networked Individualized Courseware) بوده است.[9]

سيستم INVITE:هدف اصلی از تعريف اين پروژه ايجاد يک سکوی مناسب برای آموزش از راه دور همزمان می باشد که بتواند با سيستمهای مديريت محتوايی استاندارد شده دوره ها و يا مديريت ساختاری دوره ها ارتباط بر قرار کند. جهت نيل به اين منظور اهداف ذيل مورد توجه قرار گرفته است: [10 , 11]

INVITE Architecture
شكل 4: معماري پروژه INVITE

  • 1) شناخت فرايندهای آموزش مشارکتی جهت پياده سازی آن در محيط آموزش مجازی براساس نيازهای کاربران.
  • 2) توسعه يک سيستم يکپارچه مبتنی بر تکنولوژيهای محيطهای مجازی توزيع شده شامل امکانات عاملهای هوشمند ترجمه کننده همزمان ، نمايش Avatar ( استفاده از تصوير جهت نمايش کاربران در محيطهای واقعيت مجازی ) کاربران
  • 3) ارزيابی نمونه پياده سازی شده در محيطهای آموزشی مختلف
  • 4) نتايج تحقيقات بعمل آمده در محيطهای آموزشی مشارکتی مجازی

معماری پيشنهادی اين سيستم دارای مولفه هاي مختلفي می باشد که عبارتند از platform دنيای مجازی و voice server و language server و agent server و document repository و streaming server و avatar server می باشد.

4- استفاده از وب به عنوان سكوي اجراي يك سيستم آموزشي(Web Based Training:WBT)

در حال حاضر متداولترين نوع آموزش الكترونيكي، آموزش مبتني بر وب است و به آموزشي گفته ميشود كه به واسطه اينترنت يا يك اينترانت انجام ميشود .اين روش آموزش شامل منابع آموزشي، محيط مجازي و محاوره اي است و ارتباط از طريق پست الكترونيكي، اتاقهاي گفت وگو و بردهاي الكترونيكي برقرار ميشود .از مزاياي اين نوع آموزش، انعطاف پذيري و سهولت آموزش و حذف محدوديت زمان و مكان براي كاربران و سطح بندي دروس آنها متناسب با راندمان دانشجويان است. در اين روش آموزشي، نيازي به حضور دانش آموز در مراكز آموزشي نيست، زيرا از طريق هر سيستم كامپيوتري، وب در دسترس است .

در روش مبتني بر وب، آموزشها، هميشه يكسان هستند و احتمال اينكه معلم، روز خوبي نداشته باشد، وجود ندارد !البته اين بدان معنا نيست كه دانش آموزاني كه يك درس را با آموزش الكترونيكي به اتمام رسانده اند، داراي سطح دانش يكساني باشند .آموزش الكترونيكي، مشكلات همزمان بودن كلاسها و يا وجود دو يا چند نفر در يك مكان را از بين ميبرد .از طرف ديگر يكي از نكات منفي در مورد دروس مبتني بر وب اين است كه نحوه ارائه درس تغيير نمي كند فرضا اگر يك آموزگار حاضر در كلاس احساس كند كه نيمي از دانش آموزان با او همراه نيستند، ميتواند روشهاي خود را تغيير دهد، ولي آموزش مبتني بر وب اين قابليت را ندارد .

اينترنت به عنوان يكي از ابزارهاي فنآوري اطلاعات و ارتباطات از پتانسيلهايي برخوردار است كه استفاده از آن براي آموزش الكترونيكي مناسب است. برخي از اين پتانسيلها عبارتند از:

  • کاهش هزينه هاي آموزشي
  • کاهش هزينه هاي اياب و ذهاب
  • حذف هزينه هاي مربوط به چاپ و نشر کتب و جزوات آموزشي
  • عدم نياز به فضاهاي فيزيکي جهت برگزاري دوره هاي آموزشي
  • عدم محدوديت زماني براي دوره هاي آموزشي
  • عدم محدوديت تعداد داوطلبان آموزشي
  • استفاده از تعداد مربيان کمتر جهت پاسخگويي به تعداد زيادي از داوطلبان آموزشي بصورت online
  • دسترسي 24 ساعته به محيط آموزش مجازي
  • 3D Visualization
  • گفتمان متني و صوتي( Text Chat and Voice Chat)
  • چند رسانه اي ( Multimedia )
  • عامل هاي هوشمند ( Intelligent Agent )

به اعتقاد ما نخستين و موثرترين شيوه براي آغاز اين نهضت در دانشگاهها و مراكز آموزشي كشور، فراهم آوردن تسهيلاتي است كه به كمك آنها ساخت سيستم هاي آموزش الكترونيكي به سادگي ميسر گردد. در مطالعه اي كه بر روي كاتالوگهاي موجود سيستم هاي سرويس دهنده خدمات وب موجود بود، مشاهده شد كه اغلب اين سرويس دهنده ها از Apache HTTP Server به عنوان سرويس دهنده HTTP و از سيستم عامل Linux استفاده مي كنند. يك فضاي پنج مگابايتي با قابليتهاي متعارف و با پهناي باند با كيفيت عالي مستقر در كشورهاي اروپايي و آمريكايي در حال حاضر با قيمتي قريب به 25000 ريال در ماه قابل خريداري است. به نظر مي رسد كه تحت اين شرايط به راحتي مي توان با هزينه مالي نسبتا پايين ، مقدمات اوليه يك سيستم آموزش الكترونيكي مبتني بر وب با امكانات بسيار محدود اوليه يعني ارائه دروس در قالب متون چندرسانه اي و برخي از ابزارهاي ارتباط متقابل با فراگيرنده را راه اندازي كرد. يكي از مزاياي اين سرويس دهنده ها پشتيباني بالفعل آنها از زبان PHP است .

براي نيل به اين مقصود بايد با در نظر گرفتن اين نكته كه توانايي استفاده از قابليتهاي سيستم هاي مبتني بر وب هنوز در سطح پاييني قرار دارد بايد سيستمي طراحي كرد كه بتواند به ساده ترين روش ممكن و در نظر گرفتن حداقلها مديريت اين سيستم ها را انجام دهد. .

4-1- معماري عمومي وب:

براي تشريح بهتر برنامه هاي كاربردي تحت وب (Web based applications) مدرن و امروزي، معمولا آنها را به 4 لايه مستقل تقسيم مي كنند. لايه مشتري يا Client، لايه هاي مياني كه عبارتند از presentation و Business و در نهايت آخرين لايه كه عبارت است از لايه داده يا Database. معمولا لايه هاي مياني در يك لايه مجتمع شده و در نتيجه يك مدل ساده شده 3 لايه اي به دست مي دهند.

لايه مشتري يا Client بخشي از اين معماري است كه توسط كاربر وب مشاهده مي شود. بقيه لايه ها بر روي كامپيوترهايي قرار دارند كه ممكن است صدها كيلومتر از مشتري فاصله داشته باشند. لايه مشتري در اين مدل همان مرورگر وب است كه بر روي كامپيوتر كاربر صفحات وب را نمايش مي دهد. در اين لايه علاوه بر امكان نمايش اطلاعات، امكان ورود و برخي پردازشهاي اطلاعاتي نيز وجود دارد.

معمولا دو گونه پياده سازي از لايه مشتري وجود دارد. در روش اول از هوشمند بودن كامپيوتر كاربر و قابليتهاي پردازشي آن استفاده اي نمي شود. هنگامي كه كاربر اطلاعات يك فرم را تكميل مي كند و يا درخواست صفحه خاصي را دارد، كليه عملياتهاي پردازشي در لايه هاي مياني انجام مي گيردو صفحه هاي جديدي كه حاوي نتايج اين پردازشها هستند براي او ارسال مي گردند. اين روش را اصطلاحا Dump HTML Client مي نامند.

اما در روش دوم از هوشمندي كامپيوتر كاربر به خوبي استفاده مي شود. در اين روش برخي پردازشهاي خاص توسط كامپيوتر مشتري و مرورگر موجود بر روي آن صورت مي گيرد. در اين حالت كامپيوتر مشتري را Semi Intelligent Client مي نامند. براي انجام اين پردازشها معمولا از زبانهاي اسكريپت نويسي نظير vbscript و يا javascript استفاده مي شود. توانايي مرورگها در اينجا اهميت مي يابد.

لايه presentation وظيفه ارائه محتويات ديناميك صفحات وب را بر عهده دارد. روشهاي پياده سازي اين عمليات بر روي كامپيوترها (web server) متنوع است. تكنولوژيهاي مختلف نظير CGI, PHP, ASP, JSP, Servlet, .... لايه presentation معمولا درون برنامه هاي وب سرور نظير Apache web server و يا Microsoft IISو ... پياده سازي مي شود. وب سرورها توانايي دريافت و اجراي چندين درخواست از سوي برنامه هاي كاربردي لايه هاي ديگر و همچنين كاربران را به طور همزمان دارند. اين نرم افزارها بر اساس يك پيكربندي اوليه مي دانند كه درخواستهاي كاربر را بايد به كدام برنامه كاربردي ارجاع دهند.

لايه Business بيشترين حجم عمليات يك سايت مدرن امروزي را انجام مي دهد. عملياتهاي نظير مديريت نشستها، مديريت دستيابي به بانكهاي اطلاعاتي و... از جمله اين عملياتها هستند. روشهاي گوناگوني براي پياده سازي اين لايه وجود دارد نظير استفاده از اشياي COM متعلق به شركت ميكروسافت و يا استفاده از متناظرهاي آن متعلق به شركت SUN. راه حلهاي قديمي نيز براي پياده سازي اين لايه وجود دارد نظير استفاده از CORBA Objects.برنامه هاي لايه Business معمولا درون برنامه هايي موسوم به Application Server پياده سازي مي شوند نظير Microsoft MTS, Oracle Application Server

لايه Database يا لايه داده مسئول نگهداري اطلاعات است و مي تواند شامل مجموعه اي از اطلاعات به صورت بانكهاي اطلاعاتي مدرن يا فايلهاي ساده و ... باشد

4-2- تكنولوژيهاي مختلف طراحي اسناد وب:

در ميان تكنولوژيهاي مختلفي كه وجود دارد مهمترين ها و پراستفاده ترين تكنولوژيها به شرح زير هستند:

4-2-1- HTML

اين تكنولوژي ساده ترين فرم انتشار اسناد در وب است.در اين تكنولوژي صفحات يك وب سايت به صورت ايستا كدگذاري شده و سپس انتشار مي يابند. اين روشي است که در بسياري از وب سايت‌هاي شخصي که در ابتداي پيدايش وب ساخته شده اند بکار رفته است. در اينجا توليد کننده با دانستن html و يا با استفاده از ابزاري که چنين کدهايي را توليد مي کنند، صفحات خود را مي سازد. براي يک وب سايت ساده با تعداد محدودي از صفحات ايستا شايد اين يک روش قابل قبول باشد.

از مزاياي اين تكنولوژي مي توان به سادگي و عدم نياز به برنامه نويسي و آشنايي با زبان خاص كدنويسي اشاره كرد. علاوه بر اين پشتيباني گسترده اين روش توسط نرم افزارهايي كه قادر به توليد اينگونه صفحات از طريق تكنيكهاي Visual هستند نيز از ديگر مزيتهاي اين روش محسوب مي گردد. اسنادي كه به اين روش توليد مي گردند معمولا از سرعت بارگذاري خوبي برخوردار هستند (به دليل عدم نياز به انجام پردازش در سمت Server). اما عليرغم تمامي ويژگيهاي ذكر شده اين روش مشكلاتي نيز دارد.

نخست اينكه اين شيوه قادر به توليد صفحات ديناميك نيست. ديگر اينكه با تركيب محتوا (content) و قالب (Style) باعث بروز مشكل در ايجاد تغييرات در صفحات مي گردد. به بيان معادل، هزينه ايجاد و اعمال تغييرات در صفحات بالاست.

به همراه اين تكنولوژي ابزارهاي ديگري براي برنامه سازي Client-Side نيز وجود دارد. برخي از اين ابزارها كه بيشتر مورد استفاده قرار مي گيرند عبارتند از Java Script، VBScript. البته به كمك تلفيق اين تكنولوژي با زبانهاي اسكريپت نويسي مذكور و نيز استفاده از مفاهيم CSS مي توان صفحاتي طراحي كرد كه محتويات ديناميك داشته باشند ليكن اين قدرت به Client محدود مي گردد و علاوه بر آن مشكل تركيب محتوا و قالب همچنان پابرجاست.

4-2-2-تكنولوژي CGI

يك برنامه CGI بوسيله سرويس دهنده وب در پاسخ به درخواست ايجاد شده توسط مرورگر وب، اجرا ميشود. سرويس دهنده وب به عنوان واسط ميان مرورگر و برنامه CGI، درخواست مرورگر را به برنامه و خروجي برنامه CGI را براي پردازش به مرورگر وب ارسال ميكند. براي مثال ممكن است برنامهاي نقطه نظرات كاربر را دريافت نموده و آن را به شكل يك پيام الكترونيكي براي مسئول سايت ارسال كند. تقريبا هرنوع زبان برنامه نويسي را ميتوان براي نوشتن يك برنامه CGI بكار برد. CGI واسط تعريف شده مابين سرويس دهنده وب و برنامه خارجي است كه مايليد آن را بنويسيد.

حال سوال اين است كه يك برنامه CGI چه كاري نميتواند انجام دهد. اين برنامه نميتواند به طور مستقيم با كاربر ارتباط برقرار كند. همچنين نميتواند اطلاعات را از خط اعلان، منوها يا ساير بخشهاي تعاملي دريافت يا نمايش دهد. اين برنامه ها تصاوير گرافيكي را نيز نمايش نميدهند؛ اگر چه ميتوانند داده هاي باينري را كه در حقيقت تصوير هستند را توليد كنند، اما هيچ نوع واسط گرافيكي براي ارتباط با كاربر در اختيار برنامه ساز نمي گذارند.

يك برنامه CGI براي عملكرد صحيح و مناسب نيازمند شرايط زير است:

1- برنامه با وارد كردن نام آن در خط فرمان (Command Line) قابل اجرا باشد.

2- برنامه بايد يك سرآيند (Header) مناسب و معتبر از نوع محتويات (Content)توليد كند. محتويات خروجي يك برنامه CGI ميتواند كد HTML، تصاوير GIF، فايلهاي متني، مستندات مايكروسافت Word و يا فايلهاي صوتي باشد. سرآيند نوع محتويات كه توسط برنامه CGI توليد ميشود، نوع محتويات بازگشتي را مشخص ميكند و مرورگر ميتواند عمليات مناسب را بر اساس آن انجام دهد.

ماداميكه يك برنامه توسط سرويس دهنده وب قابل اجرا باشد و اين برنامه خروجي معتبري نيز توليد كند، كاربرد آن به عنوان يك برنامه CGI قابل قبول است.

4-2-3- تكنولوژيهاي مرتبط با طرف سرويس دهنده: ASP,PHP,JSP

اين سه نمونه از معروفترين تكنولوژيهايي است كه در انتشار صفحات وب ديناميك به كار گرفته مي شوند. جداي از اختلافهاي موجود ميان آنها، هر سه امكاناتي را براي اجراي يك برنامه در Server و توليد خروجي HTML به صورت ديناميك فراهم مي كنند. در اين تكنولوژيها كد برنامه و كدهاي HTML با هم تركيب مي شوند.

توليد ديناميك صفحات وب و برنامه نويسي به فرم Scripting از مزاياي اين تكنولوژيها به صورت عام مي باشند. اما در نهايت تركيب محتوا (Content)، قالب بندي (Format) و منطق برنامه(Logic) پيچيدگي بيشتري را نسبت به HTML سبب مي گردند

الف) PHP

PHP مخفف Hypertext Preprocessor يك زبان Scripting و Server-Side مي باشد. يك Script به كدي از برنامه ميگويند كه بصورت ابتدايي Compile نميشود و فقط در صورت فراخواني و يا درخواستي براي اجرا توسط مفسّر زبان مورد نظر ترجمه مي شود و به خروجي فرستاده مي شود. اين به اين معني ميباشد كه شما دقيقاً كد برنامه خود را در جاي مورد نياز به كار ميبريد و رابط اجرايي برنامه آنرا به مفسّر مورد نظر ارجاع ميدهد.

بعد از نصب مفسّر PHP شما قادر خواهيد بود كه از كدهاي PHP به همراه كدهاي HTML خود در صفحات Web استفاده كنيد و همچنين ميتوانيد Script هاي صرفاً PHP خود را به عنوان ترمينالهاي تفسير كننده داده ها و رابطهاي ورودي و خروجي بر روي سرور خود قرار دهيد.

Web request processing with and without PHP
شكل5: چگونگي پردازش درخواستهاي وب با/بدون PHP

فكر اوليهPHP در پاييز سال 1994 توسط Rasmus Lerdorf (rasmus@php.net)شكل گرفت .در ابتدا نگارشي از PHP در صفحه شخصي وي به كار گرفته شد ، تا اطلاعاتي از كساني كه رزومه وي را مي بينند ، نگاه داشته شود. اولين نگارش عمومي آن در اوايل سال 95 ارايه شد و با نام ” Personal Home Page Tools “ معرفي گرديد . كه البته شامل پارسري بسيار ساده بود كه ماكروهاي خاصي را مي شناخت و نيز برخي كاربردهاي مشترك در صفحات شخصـي مانند شمـارنده يا Guestbook وبرخـي ابزار هاي ديگر را شامل مي شد.

پارســر در نيمه سال 95 بازنويســي شد و با نام “ PHP/FI نگارش 2 “ ارايه گرديد . FI نام بسـته نرم افزاري ديگري از Rasmus بود كه فرم هاي داده HTML را تفسير مي كرد . پس از آن بسياري از PHP در كــد هاي خود استفاده كردند . در ميانه سال 96 ميزان استــفاده كنندگان به حـــدود 15 هـزار سايت رسيد . اين ميــزان در نيمه سال 97 در حدود 50 هزار سايت مختلف بود. در هـمين زمان PHP از حالت يك پروژه شخصي درآمد و توســط تيمي توسـعه يافت . اين گروه نگارش جديدي از PHP را ارايه دادند و پارسر آن را بازنويسي نمودند. PHP3 به سرعت مورد استفاده قرار گرفـت . هم اكنـون نيز PHP4 آخرين نگارش اين محصول است كه در آن از موتور اسكريپت Zend براي بدست آوردن قابليت هاي بيشتر استفاده شده است .

امروزه ، PHP3 و PHP4 بر روي بسياري از محصولات تجاري مانند “RedHat’s Stronghold web Server” ارايه مي گردد. هم اكنون برآورد مي شود بيش 5.100.000 سايت از PHPدر طراحي استفاده كرده اند.

دلايل زيادي در محبوبيت و استفاده از اين زبان در حال حاضر وجو دارد برخي از اين دلايل عبارتند از:

  • سرعت: در مقايسه با تكنولوژي نظير ASP به دليل عدم استفاده PHP از Engine هاي مختلف و متفاوت كدهاي PHP از سرعت بالايي برخوردارند.
  • نزديك بودن Syntax به ++C/C و Java:از آنجاﺋيكه اكثر برنامه نويسان از ++C/C استفاده كرده اند و بخاطر محبوب بودن بي حد Java معمولا با Syntax هاي اين دو زبان اكثرا آشنا هستند . PHP هم اكثر Syntax هاي خود را شبيه به اين زبانها انتخاب كرده است
  • OpenSource بودن PHP
  • اجرا بر روي Platform هاي مختلف: به دليل آنكه توسط GNU C Compiler در همه Platform ها قابل Compile شدن است و از Engine هاي خاص هيچ سيستم عاملي براي اجراي كدها استفاده نمي كند قابليت اجرا بر روي تعداد زيادي از سيستم عامل ها را داراست كه اين يك مزيت براي توسعه دهندگان سيستم محسوب مي شود .

ب) Servlet:

يك كلاس در زبان جاوا است كه در سرويس دهنده اجرا مي شود. در اين كلاس از دستورات Printh براي توليد يك خروجي HTML استفاده مي شود. توليد ديناميك صفحات وب از مزيتهاي اين روش است اما پيچيدگي توليد كدهاي HTML به كمك دستورات Printh و در حقيقت تركيب محتوا قالب و منطق بازهم از معضلات اين روش محسوب مي گردد.

امروزه نقطه تمركز بسياري از تلاشها جداسازي سه عنصر محتوا، قالب و منطق برنامه از يكديگر در طراحيهاي مبتني بر وب است. XML به عنوان يكي از اجزا بسياري از اين تكنولوژيها مطرح است.

ج) XML

يک markup language است که در آن مي توان از متون و Tagها براي ارايه يک سند استفاده نمود. برخلاف html که داراي Tagهاي ثابت و استانداردي است، درxml مي توان Tagهاي دلخواه را استفاده نمود. همچنين در اينجا هر Tag بايستي با يک Tag متناظر بسته شود. به همين خاطر xml يک فرم خوش ساخت دارد. مثالي از يک سند xml که براي يک کتاب ايجاد شده در زير آورده شده است:


<?xml version=”1.0”>
<book id=”123”>
<author name=”xyz”/>
<title>XML publishing with xml</title>
<publish-date><year>2002</year><month>7</month><day>15</day></publish-date>
</book>
نمونه اي از دستورات XML

امروزه استفاده از xml بسيار متداول و متنوع است. در هر حال بيشترين استفاده از آن در يکپارچه سازي سيستم ها و خصوصا در توليد سيستم هاي کاربردي مبتني بر وب است.

4-3- معماري نرم افزار و استفاده از الگوها در فرآيند طراحي سايت

اين دو معماري در طراحي سايتها از معماريهاي هستند كه اخيرا در كانون توجه قرار گرفته اند.

4-3-1 معماري FC (Front Controller)

در الگوي Front-Controller همه درخواستها ابتدا به يك كنترلر مركزي كه به همين نام شناخته مي شود وارد مي شوند. به اين ترتيب اين امكان فراهم مي گردد تا بر روي درخواستها پروسه هاي يكساني اعمال گردند. مزيت اصلي اين روش طراحي، امكان تغيير در رويه پاسخگو به درخواستها بدون نياز به تغيير در همه برنامه هاست

4-3-2 معماري MVC (Model-View-Controller)

به كمك MVC برنامه به سه بخش همكار تقسيم مي گردد:Model, View, Controller.بخش View يا ديد شامل هيچ نوع داده اي نيست و تنها وظيفه نمايش دهندگي را بر عهده دارد. در اين معماري داده ها در بخش Modelقرار مي گيرند. Controller نيز در اين سيستم وظيفه اجرا دستورات كاربر و منطبق ساختن View بر اساس تغييرات ايجاد شده در مدل را بر عهده دارد.

براي درك بيشتر اين مدل مي توان از يك مثال كلاسيك ساده استفاده كرد. برنامه هاي صفحه گسترده يا Spread Sheet را در نظر بگيريد. در انطباق عملكرد اين برنامه ها با مدل MVC مي توان گفت، مدل در اين سيستم فرمول ها و ديگر داده ها را ذخيره مي كند. هنگامي كه توسط كاربر دستور ذخيره/بازيابي اطلاعات در/از فايل صادر مي گردد، بخش Model اين دستور را پردازش مي كند. همچنين مدل برخي از عملياتهاي ديگر نظير محاسبه مجدد تمام Sheet را نيز انجام مي دهد. بخش ديد يا View وظيفه رسم جداول آشناي اين گونه سيستم ها را براي نمايش بخشي از داده ها بر عهده دارد. بخش كنترلر نيز با هر دستوري كه از جانب كاربر صورت پذيرد و منجر به تغيير گردد سروكار خواهد داشت.

Model-View
شكل6: رابطه مدل و ديد در معماريهاي MVC و FC

از مزاياي اين معماري به صورت خلاصه مي توان به موارد زير اشاره كرد:

  • تجزيه بخش ها، تست آنها را ساده تر مي كند
  • از ايجاد تغييرات در مقياس وسيع جلوگيري مي شود (كاهش هزينه هاي اين سيستم ها در قبال ايجاد تغييرات)
  • قابليت استفاده مجدد از اجزا را فراهم مي كند. علاوه بر اينكه قدرت تركيب بخش ها و اجزا متفاوت را نيز به توسعه دهندگان سيستم مي دهد (براي درك بيشتر در همين مثال كلاسيك ذكر شده مي بينيد كه به سادگي مي توان يك pie chart view از داده ها داشت يا tabular view.)

اين الگو در طراحي وب به منظور جداسازي مدل (براي تشكيل نتيجه)، ديد (براي تعيين نحوه نمايش نتيجه) و كنترلگر (براي هماهنگ ساختن مدل و ديد) به كار رفته است. به اين ترتيب در اين روش اين امكان وجود دارد تا هر يك از اجزا را بدون وابستگي به ديگر اجزا تغيير داده يا جايگزين كرد.

معماري MVC به عنوان يك معماري 3-tier براي ايجاد نرم افزارهاي مبتني بر وب مطرح است. در كاربرد اخير اين معماري Controller نخستين نقطه براي هر فراخوان درخواستهاي HTTP ورودي است. Model منطق كاربرد را نمايش داده و وظيفه آن تبديل داده هاي خام به داده هاي تفسير شده و داراي بار ارزشي براي درخواست كننده است. بخش Model در نهايت داده هاي تفسير شده را به بخش View براي نمايش ارسال مي كند.View نيز شكل نهايي نتايجي است كه براي درخواست كننده اطلاعات ارسال مي گردد.

كاربرد معماري MVC در طراحي هاي مبتني بر وب با توجه به افزايش پيچيدگي روز افزون اينگونه سيستم ها بيشتر نمايان مي شود. برخي از ويژگيهاي بديهي MVC براي كاربردهاي مبتني بر Web را مي توان به شرح زير بر شمرد:

  • MVC كار ايجاد واسط هاي كاربري يا UI چندگانه با داده هاي يكسان را ساده تر مي كند
  • قابليت استفاده مجدد از كدها و برنامه هاي نوشته شده را افزايش مي دهد
  • به توسعه دهندگان سيستم ها اجازه مي دهد به صورت مستقل كار نوشتن و اشكالزدايي از واحدهاي نرم افزاري ساخته شده را انجام دهند.
  • با مجزا كردن كدها باعث مي گردد اعمال تغييرات و تقسيم كار ميان Client و Server ساده تر انجام شود

Model-View-Controller

شكل 7: طرحي از يك سايت نمونه طراحي شده بر اساس معماري MVC و با استفاده از XML

تمامي درخواستها به يک کنترلر مرکزي (Front Controller) ارسال مي‌شود اين کنترلر فايل sitemap.xml که تعريف کننده قالب تمام صفحات سايت است را در صورت نياز پردازش کرده و برنامه اي بنام sitemap.php را توليد مي نمايد. در صورتيکه در اين فايل تغييري اعمال شود کنترلر آنرا براي درخواست بعدي پردازش و برنامه sitemap.php جديدي ايجاد مي کند. به هر حال براي پاسخگويي به يک درخواست کنترلر مرکزي برنامه sitemap.php را اجرا مي نمايد. اين برنامه با داشتن مشخصه صفحه مورد درخواست (که با object_id در url مشخص مي شود)، محتواي مدولهاي ايستاي مربوط به آنرا از فايلهاي xml مربوطه خوانده، برنامه هاي مربوط به مدولهاي ديناميک را اجرا کرده و حاصل آنها را بصورت يک مستند کامل xml براي آن صفحه ترکيب مي نمايد. مستند حاصل شده به کنترلر برگشت داده شده که سپس براي تشکيل کد نهايي بفرم html يک پروسسور xsl را بر روي اين مستند با اعمال قواعد ساخته شده در فايل it.xsl اجرا مي نمايد.

4-4- پايگاه داده هاي مبتني بر وب

پايگاه داده ها، يك اصطلاح بسيار رايج و شناخته شده در دانش و تكنولوژي كامپيوتر است اما در متون آكادميك و تكنيكي براي تعريف آن عبارات و جملات نه چندان يكسان مورد استفاده قرار گرفته است. (مرجع [20] -صفحات 17-19را ببينيد). اما در يك تعريف جامع مي توان گفت: پايگاه داده ها مجموعه اي است از داده هاي ذخيره شده و پايا به صورت يكپارچه (نه لزوما به طور فيزيكي، بلكه حداقل بطور منطقي)، بهم مرتبط ، با كمترين افزونگي ، داراي يك طرح منطقي مبتني بر مدل داده اي و توصيف شده در محيطي انتزاعي در چارچوب همان مدل داه اي، تحت مديريت يك سيستم كنترل متمركز و مورد استفاده يك يا چند كاربر از يك يا بيش از يك سيستم كاربردي بطور همزمان و اشتراكي.

با توجه به اين تعريف مي توان دريافت كه از ديدگاه تخصصي هر مجموعه اي از فايلها يا هر مجموعه اي از فايلهاي ذخيره شده و ... لزوما پايگاه داده ها نيست. (گرچه اطلاق اين واژه بر اين مفاهيم بسيار رايج شده است)

اساسا براي طراحي يك سيستم ذخيره و بازيابي اطلاعات دو روش وجود دارد: مشي پايگاهي و مشي فايلي. در مشي فايلي پس از تجزيه و تحليل محيط و براي پاسخگويي به نيازهاي اطلاعاتي كاربران از تعدادي فايل استفاده مي شود و مجموعه اي از برنامه ها نيز براي ايجاد، كنترل و پردازش فايلها مورد استفاده قرار مي گيرد. در محيطهاي واقعي كاربردي خصوصا زمانيكه كاربردهاي كوچك متعددي در آنها وجود داشته باشد، وجود چنين سيستم هاي كاربردي جداگانه و نامجتمع امري عادي تلقي شده و استفاده از مشي فايلينگ براي ذخيره و بازيابي اطلاعات امري بسيار رايج است. به نظر مي رسد. هنوز در بخش عمده اي از محيطهاي عملياتي در دنيا براي ذخيره سازي اطلاعات و ايجاد سيستمهاي كاربردي از همين سيتم استفاده مي شود.

گرچه سيستم هاي ذخيره و بازيابي اطلاعات مبتني بر فايل از معايبي نظير عدم وجود سيستم كنترل متمركز، اشتراك داده اي ضعيف، بروز پديده افزونگي و وابسته بودن برنامه هاي كاربردي به فايلها رنج مي برند، اما عدم وجود سربارهاي محاسباتي يكي از مزاياي عمده اين سيستم ها محسوب مي شود كه براي سيستم هاي كوچك كاربردي تحت شبكه انتخاب مناسبي است.

در مشي پايگاهي پس از تعيين نيازهاي اطلاعاتي سيستم و مدلسازي معنايي داه ها از يك يا چند DBMS به عنوان سيستم مديريت متمركز استفاده مي شود. در نهايت نيز مجموعه اي از برنامه ها براي ايجاد و كنترل پايگاه داده ها طراحي و توليد مي شود.

مديريت و كنترل متمركز، محيط واحد (منطقي و نه الزاما فيزيكي) ذخيره سازي و استقلال داده اي از مزاياي كلي اين سيستم محسوب مي گردند. اما نياز به سيستم هاي DBMS (خصوصا براي كاربردهاي تحت شبكه)، وجود افزونگي هاي مختلف در تبديلات ميان سطوح در معماري اينگونه سيستم ها از معايب اين روش محسوب مي گردند. علاوه بر آنكه در كاربردهاي رايج نيازي به استفاده از اينگونه سيستم ها نيست.

مفهوم WWW (تور جهان گستر) وب يك روش معماري يا به عبارتي يك نظام براي ذخيره ساري و دسترسي به مستندات و داده هاي به هم پيوند خورده اي است كه روي هزار ماشين در كل جهان پراكنده و توزيع شده اند.

مثل هرسيستم بانك اطلاعاتي ديگر ، يك Web DB مكاني براي ذخيره سازي داده ها است كه اين داده ها بوسيله يك زبان پرس وجوي داده اي يا API برنامه نويسي مورد دسترسي قرار مي گيرند.

Web DB يك DB است كه از اين طريق ساير Web Application ها مورد دسترسي قرار مي گيرد مثلاً فرمهاي HTML .يا با استفاده از امكانات HTML از طريق يك برنامه CGI سمت سرور، يا از طريق ASP ياPHP يا Perl و.... اين قابليت يعني تجمع يك Database در يك Application كه بوسيله كاربران از طريق يك مرورگر Web مورد دسترسي قرار مي گيرد چيزي است كه يك Database را تبديل به يك Web Database مي كند.

مهمترين دليل براي استفاده از Web DB خصوصا در سالهاي اخير توليد صفحات ديناميك بوده است: بجاي استفاده از صفحات ثابت، مي توان با تركيب يك Database با HTML مثلا بوسيله PHP يا ASP محتويات ديناميك را از طريق به روز رساني بانك اطلاعاتي بجاي HTML بدست آورد.

4-5- مدل Client / Server و وب

مدل C/S بر اين مفهوم مبتني است كه هر Application از دو بخش عملياتي تشكيل شده است: يكي كه ارتباط را آغاز مي كند و ديگري كه به آن پاسخ مي دهد. به پروسه اي كه ارتباط را آغاز مي كندClient و به پروسه اي كه به پروسه آغاز كننده پاسخ مي دهد Server مي گويند. Server منتظر يك درخواست ارتباط ورودي از طرف Client مي ماند، عمل درخواستي Client را انجام ميدهد و نتايج را به آن برمي گرداند. Client هم جواب را از Server دريافت مي كند. نمونه هايي از برنامه هاي C/S معروف عبارتند از:HTTP , FTP , mail و...

توجه به اين نكته ضروري است كه در اغلب موارد برنامه هاي (پروسه هاي) Client و Server در دو سكوي مختلف اجرا مي شوند. C/S فرض مي كند كه شبكه وجود دارد. اين شبكه تحت هر پروتكلي مي تواند باشد كه شناخته شده ترين آنها TCP/IP است.

Model-View-Controller

شكل8: مدل Client/Serverو پردازشهاي مبتني بر C/S

4-5-1- نحوه پردازش درخواستها در پروتكل HTTP

صفحه وب يك فايل متني ساده است كه با HTML نوشته شده است. كاري كه Browser بعنوان يك سرويس گيرنده (Client) وب انجام مي دهد آن است كه تقاضاي دريافت يكي از اين صفحات يا فايلها را در قالب قراردادي استاندارد ، به نام پروتوكل HTTPبه سمت سرويس دهنده ارسال مي كند. در سمت مقابل Web Server اين تقاضا را پردازش كرده و در صورت امكان فايل مورد نظر را براي Browser ارسال مي كند. (البته هميشه هم به اين سادگي نيست. ممكن است Client درخواست اجراي يك برنامه CGI يا PHP يا ASP يا بطور كلي يك تكنولوژي يا زبان Server Side را كند. ولي در نهايت نتيجه براي Browser يكسان خواهد بود چرا كه انجام اين پردازش ها بر عهده Server است و Server پاسخ را هميشه در قالب HTML به Client ارسال مي كند)

Browser پس از دريافت فايل HTML آنرا تفسير كرده و بصورت صفحه آرايي شده روي خروجي نشان مي دهد. بنابر اين سرويس دهنده وب را بايد يك برنامه سوكت در نظر گرفت كه فرامين Client ها را دريافت، پردازش و در صورت امكان اجرا مي كند. برنامه Client نيز برنامه سوكتي است كه تقاضاها را در قالب فرامين استاندارد براي سرويس دهنده وب ارسال مي كند. درضمن وظيفه تفسير و نمايش داده هاي دريافتي را هم بر عهده دارد.

نمونه اي از يك درخواست در قالب پروتكل HTTP را در زير مشاهده مي كنيد:


GET /sourceforge/phpBB.zip HTTP/1.1
heanet.dl.sourceforge.net
Accept: */*
Referer:http://prdownloads.sourceforge.net/phpBB.zip
User-Agent: 
Pragma: no-cache
Cache-Control: no-cache

نمونه اي از سرآيند پاسخ ارسال شده از Server در قالب پرونكل استاندارد HTTP را در زير مشاهده مي كنيد:

HTTP/1.1 200 OK
Date: Fri, 30 Oct 1998 13:19:41 GMT
Server: Apache/1.3.3 (Unix)
Cache-Control: max-age=3600, must-revalidate
Expires: Fri, 30 Oct 1998 14:19:41 GMT
Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT
ETag: "3e86-410-3596fbbc"
Content-Length: 1040
Content-Type: text/html

در مثالهاي بالا خطوط اول هر يك ، به ترتيب درخواست و پاسخ و مابقي خطوط سرآيندهاي ارسالي به همراه اين درخواست و پاسخ را نشان مي دهند.

نقش Database در سمت Server مطرح است. در سمت Client هيچ گونه درخواست اطلاعات از DB بطور مستقيم (مثلا درخواست يك ركورد يا درخواست اجراي يك Query ) نمي تواند مطرح شود.در سمت Client فقط مي توان با فشردن كليدي يا بصورت احضار مستقيم يك فايل CGI يا اسكريپتي مانند ASP يا Perl يا.... را فرا خواني كرد و پارامترها و اطلاعات لازم را براي آن فرستاد(مثلا از طريق يك فرم HTML ). برنامه فراخوانده شده مي تواند با DB كار كند (خواندن، اضافه كردن و بطور كلي اجراي يك Query ) همين برنامه Server Side در صورت لزوم پاسخ را از DB دريافت مي كند و در قالب HTML به Client مي فرستد.

4-6- متا داده و مفهوم آن

متا داده ها يا ابرداده ها داده هايي در مورد داده هاي ذخيره شده در يك سيستم ذخيره و بازيابي اطلاعات هستند. به عنوان نمونه اي از اين متا داده ها مي توان به مفهوم كاتالوگ سيستم و ديكشنري داده ها در سيستم هاي DBMS متعارف اشاره كرد. متا داده ها عموما از ديد كاربران سيستم مخفي هستند. اما مسئول سيستم يا كاربران مجاز ديگر قادر به رويت اين اطلاعات هستند.

جهت استفاده از اشياء آموزشي (Learning Object) بايد آنها را بازيابي کرد. بازيابي يک شي در يک محيط بزرگ توزيع شده Online شبيه Web يا يک اينترانت بزرگ، آسان نيست. جهت رفع مشکل بازيابي بايد علاوه بر خود اشياء آموزشي توصيفات آنها را نيز ذخيره کرد. اگر اشياء آموزشي را به عنوان داده ها در نظر بگيريم توصيفات آنها داده هايي در مورد داده ها هستند که به آنها متا داده يا ابرداده يا Metadata گويند.

در حال حاضر يكي از مهمترين اجزا استانداردهاي آموزش الكترونيكي، استانداردهاي مربوط به توصيف متا داده هاي آموزشي است. در اين سيستم ها متاداده ها در واقع اطلاعات توصيفي ساير داده ها از جمله محتويات آموزشي مي باشند. عمده ترين اهداف استاندارد سازي متاداده ها به شرح زير مي باشند:

1- سهولت جستجو، ارزيابي ، بدست آوردن و استفاده از اشياي آموزشي

2- امكان به اشتراك گذاري و تبادل اشيا آموزشي ميان سيستم هاي مختلف آموزشي و فراگيري الكترونيكي

3- امكان خودكار شدن فرآيند تشكيل و ارائه مطالب آموزشي مورد نياز هريك از فراگيرنده ها توسط عاملهاي نرم افزاري

4- استاندارد شدن بيان و توصيف منابع آموزشي

در حال حاضر بسياري از موسسات استاندارد در حال تدوين استانداردهايي در اين زمينه هستند. بسياري از اين استانداردها مبتني بر XML است. امروزه IMS و SCORM مدلهاي نسبتا خوبي از قالبهاي ابر داده مورد نياز در سيستم هاي آموزش الكترونيكي ارائه مي دهند.

4-7- تكنيكهاي مختلف ساخت سيستم هاي مديريت محتوا بر روي اينترنت

سيستم هاي مديريت محتوا يا Content Management Systems كه آنها را به اختصار CMS مي نامند براي توليد، انتشار ونگهداري مطالب در وب سايتها مورد استفاده قرار مي گيرند. اين سيستم ها معمولا از بخش هاي زير تشكيل شده اند:

  • Data Backend: شامل تمام متوني كه سيستم CMS براي مديريت و نگهداري آنها طراحي شده است. اين قسمت مي تواند بانكهاي اطلاعاتي، فايلهاي متني ساده ، فايلهاي HTML و يا فايلهاي XML نيز باشد
  • Data Display Component:كه مولفه اي است براي نمايش داده هاي موجود در سيستم. اين مولفه معمولا يك الگو است كه متون، تصاوير و ديگر اجزا مورد در نياز براي يك صفحه توسط CMS در آن نگاشت مي شوند تا در نهايت به بازديد كننده از سايت نمايانده شوند.
  • Data Management Component:يا مولفه مديريت داده ها كه در حقيقت پيچيده ترين و وقت گيرترين بخش توسعه اينگونه سيستم ها را بر روي اينترنت تشكيل مي دهد. در اين بخش با فرض بر اينكه كاربر استفاده كننده از CMS به عنوان مدير سايت از توانايي فني بالا در مقوله انتشار متون در وب برخوردار نيست بايد به ساخت يك سيستم ساده مديريتي اقدام كرد. در حقيقت بايد يك واسطگرافيكي ساده ساخت كه مدير سايت در تعامل با آن بتواند عملياتهاي متعارف مورد نياز براي اينگونه سيستم ها (شامل ايجاد، انتشار، ويرايش و حذف مقالات و متون) را به سادگي و در امنيت كامل انجام دهد

ساخت هر نوع CMS مبتني بر هر نوع فن آوري ذخيره سازي داده ها، محتاج جمع آوري اطلاعاتي است كه نيازهاي مقدماتي پروژه را تعريف مي كند.بر اساس آنچه كه در بالا گفتيم مي توان نيازهاي يك سيستم ساده مديريت محتوا را به شرح زير بر شمرد:

1- چه نوع محتوياتي توسط CMS پردازش خواهد شد؟

2- چه كساني و با چه محدوده اي از انتظارات از سايت بازديد خواهند كرد؟

مثلا ممكن است بازديد كنندگان سايت بخواهند ليستي از مقالات و متون موجود در سايت را مشاهده كنند، قابليت جستجو در سايت را داشته باشند و يا اينكه ليست موضوعات مرتبط با يك متن خاص موجود در سايت را مشاهده كنند.

3- مديران سايت به چه چيزهايي نياز دارند؟

در حالت معمول يك مدير سايت بايد قادر به انجام فعاليتهايي چون ورود يا login، ايجاد يك محتواي جديد، ويرايش، انتشار يا حذف يك محتوا باشد. اگر سيستم CMS اين ويژگي را دارا باشد كه براي كاربران مديريتي سايت (Administrator Users) نقشهاي مختلف در نظر بگيرد ( مثلا نقش مدير يا admin، ويراستار يا Editor، نويسنده يا Writer) در اين صورت ساخت اين بخش پيچيده تر نيز خواهد شد.

در طول دهه گذشته زبانهاي اسكريپت نويسي مختلفي براي ايجاد CMSها مورد استفاده قرار گرفته اند نظير Perl/CGI، ASP،TCL، JSP، PHP و .... هر يك از اين زبانها نقاط قوت و ضعف خاص خود را دارا هستند. در اين مقاله تمركز ما بر روي استفاده از زبان PHP به عنوان تكنولوژي Server Side در طراحي اين مجموعه است

4-7-1-انواع سيستم هاي مديريت محتوا :

سيستم هاي مديريت محتوا بسيار متفاوتند ليكن مي توان بر اساس معيارهايي آنها را دسته بندي كرد. يك معيار اصلي زمان توليد HTML است. برخي از سيستم ها HTML را در زمان درخواست صفحه توليد مي كنند، در حاليكه گروهي ديگر اين كار را در مقاطع زماني مختلف انجام مي دهند. تعدادي نيز كد HTML را هنگام نخستين درخواست توليد مي كنند و آن را تا تغيير بعدي قالب يا محتويات و اجراي مجدد فرآيند بر روي ديسك ذخيره مي كنند.

هر يك از اين روشها مزايا و معايب مختص خود را دارند. در سيستمهايي كه توليد صفحات HTML را به شكل آني انجام مي دهند با هر درخواست كاربر داده هاي موردنياز براي ساخت صفحه بازيابي شده و در قالب HTML قرار مي گيرد. در اين حالت هر كاربر صفحه اي را دريافت مي كند كه خاص وي ايجاد شده است.

در اين نوع از سايتها به سادگي مي توان امكانات شخصي سازي شده (Personalized) را به سايت افزود. از آنجاييكه كليه صفحات براي هر كاربر به شكل پويا ايجاد مي شوند، شخصي سازي صفحه معماري سيستم را تغيير نمي دهد. اما عيب اين روش كارآيي آن است. هنگام درخواست يك صفحه ايستا، كافيست سرويس دهنده فايل متناظر را بخواند و آن را براي كاربر ارسال كند، اما توليد صفحات وب پويا نياز به پردازشهاي خاصي دارد كه به راحتي مي تواند افت كارآيي سرويس دهنده را ر پي داشته باشد. در نظر گرفتن مسائل تخصصي طراحي خصوصا روشهاي بهره گيري از قدرت Cache در اين مورد اجتناب ناپذير است.

روش ديگر توليد اينگونه صفحات به كارگيري تلفيقي تكنيكهاي ايستا و پويا است. در اين روش با استفاده از تكنيك هاي پويا محتويات سايت به صورت ايستا توليد و بر روي سرويس دهنده قرار مي گيرند. مزيت اصلي اين روش كارآيي آن است. شما مي توانيد سايت خود را با هر تغيير بسازيد و سپس آنرا به شكل يك سايت كاملا ايستا ارائه كنيد. با ايجاد محتويات جديد و ايجاد تغييرات، كافيست تا تنها اين تغييرات را انتشار دهيد تا فايلهاي جديد ايجاد شده جايگزين فايلهاي قبلي شوند. عيب اين روش آن است كه نمي توانيد محتويات واقعا پويا را در اين صفحات قرار دهيد. تازگي داده ها فقط به اندازه زمان آخرين نشر آنهاست. عيب ديگر اين روش هم آن است كه بايد هنگام به روز رساني تغييرات و نشر آنها را به صورت دستي انجام دهيد و تغييرات به صورت خودكار بر روي سايت منتشر نمي شوند.

راه حل سوم نوشتن سيستمي است كه صفحات را به شكل پويا ايجاد مي كند و سپس آنها را تا زمان تغيير حفظ مي كند. اگر تغييري در محتويات زيرين تشخيص داده شود صفحه موجود در Cache حذف شده و صفحه جديد براي جايگزيني آن توليد مي شود. مزيت عمده اين سيتمها آن است كه محتويات جديد ايجاد شده را بلافاصله در دسترس كاربران قرار مي دهد اما صفحات غير لازم را به شكل پويا توليد نمي كند. مشكل اصلي نيز معماري نسبتا پيچيده آن است.

4-7-2-ذخيره سازي داده ها در سيستم هاي مديريت محتوا:

يك سوال مهم در ارتباط با سيستم هاي مديريت محتوا، چگونگي ذخيره سازي داده هاي مرتبط با سايت است. اغلب ، محتويات سايت در يك RDB (بانك اطلاعات رابطه اي) ذخيره مي شود.

براي ذخيره سازي داده ها مي توان Flat File ها را نيز به كار برد. نيز مي توان به جاي طراحي فرمت فايل شخصي، XML را براي قالب بندي داده ها به كار برد

5- نمونه اي از يك سيستم مديريت محتوا با كاربرد آموزشي و نتايج حاصله از عملكرد آن

سيستم FCMS كه در ادامه به توضيح مختصري در باب بخشهاي مختلف آن خواهيم پرداخت بر مبناي ايده هاي زير و به صورت يك نمونه آزمايشي ساخته شده است. ايده ها و فرضيات مورد استفاده در طراحي اين سيستم به صورت كلي عبارتند از:

1- ارائه يك واسط مناسب براي طراحي صفحات Web حاوي مطالب درسي ارائه شده در قالب متون به همراه گرافيك و انيميشن. بيشترين تاكيد در اين مرحله بر حرفه اي نبودن استفاده كنندگان از اين سيستم ها بوده است.بنابر اين طراحي يك واسط مناسب براي گرفتن (تنها) مطالب مورد نياز براي ساخت يك صفحه و در نهايت تبديل آن به شكل مناسب براي نمايش در قالب يك صفحه Web نخستين بخش اين پروژه را تشكيل داده است.

2- ساخت يك نمايشگر صفحات براي جايدهي متون و متاداده هاي موجود در مورد هريك از صفحات و مطالب ارائه شده

3- طراحي سيستم هاي كمكي نظير برد الكترونيك، سيستم توكار ارسال نامه الكترونيكي به مدير مجموعه (استاد درس)، سيستم هاي اطلاعرساني وضعيت دانشجو، جستجوگر سايت و ...

سيستم مثال در اينجا سيستمي است كه در طول يك سال تدريس در يكي از واحدهاي دانشگاه آزاد به عنوان يك مكمل در ارايه دروس مورد استفاده قرار گرفته است. اين سيستم بر اساس مفاهيم مطرح در معماريهاي FC و MVC ايجاد شده است و از ويژگيهاي زير برخوردار است:

  • سادگي و سهولت كار مدرس در آن به عنوان مدير مجموعه: از مهمترين ويژگيهاي اين مجموعه استفاده از يك سيستم ساده فايلينگ در ذخيره و توليد متون مورد استفاده براي دروس ارايه شده در اين سيستم مي باشد به گونه ايكه نياز به تبحر خاصي نداشته و به سادگي قابليت توسعه و استفاده در سطح عام به منظور توليد و مديريت محتوا توسط ديگر مدرسين محترم كه آشنايي چنداني با توليد متون در وب ندارند را داراست. در ادمه به بررسي بيشتر ويژگيها و معماري مورد استفاده در اين سيستم خواهيم پرداخت
  • استفاده از يك رابط گرافيكي مناسب و انعطافپذير (ساخت يك View مناسب). علاوه بر اين ويژگي كه قابليت استفاده از Viewهاي مختلف سفارشي شده را داراست.
  • عدم نياز به پشتيباني سيستم Server از بانكهاي اطلاعاتي (استفاده از مفاهيم فايلينگ)
  • استفاده از زبان PHP در توليد اسناد به صورت ديناميكي و در نتيجه بهره گيري از مزايايي كه بر اين زبان مترتب است نظير Open Source بودن
  • امكانات تعامل با دانشجو و ارزيابي عملكرد از طريق بازخوردهاي ارسالي
  • استفاده از ويژگيهاي خاص ارتباط الكترونيكي نظير امكانات ارسال E-mail به مدرس و ارسال E-mail به صورت توكار از طريق يك دانشجو به ديگر دانشجويان و دوستان
  • استفاده از ابزارهاي ارايه محتويات با فرمتها و قالبهاي مختلف (نظير HTML و PDF وPS)

5-1- تحليل سيستم و نيازها

5-2- نحوه پياده سازي سيستم

5-2-1 مرحله 1 : طراحي ساختار كلي(Style)

در اين مرحله براي صفحات مختلف سايت، بصورت كلي يك طراحي انجام مي‌شود، تا شكل كلي اين صفحه تعيين‌گردد.


آرم سايت در اين بخش قرار مي گيرد (به همراه آيتم هاي ديگر موردنظر)
منوي اصلي به هراه نوار ابزار در اين بخش قرار مي گبرند (سرويسهاي سايت و ...)
متنها در اينجا قرار مي گيرند منوي فرعي، بخشهاي خبري و لينكها در اينجاقرار مي گيرند
يك متن توضيحي ساده نظير (Copyright)

شكل 8: طرح كلي سايت

همان‌طور كه ديده‌مي‌شود در اين صفحه فقط بخش‌ها از يكديگر متمايز شده و شكل كلي اين صفحه را نمايش مي‌دهد. در اين صفحه هيچ‌گونه جزيياتي راجع به محتوي نشان‌داده‌نمي‌شود. هر چند كه اين شكل شامل هيچ‌گونه محتوي خاصي نيست ولي براي طراحان سايت مي‌تواند كمكي باشد كه بتوانند طرح كلي سايت را ايجاد نمايند.

به عنوان نمونه اگر كد زير در يك صفحه HTML قرار گيرد مي تواند طرح بالا را ايجاد كند:


<table style="border:1 solid #0000ff; direction:ltr">
<tr><td colspan="3"  bgcolor="#f0f0f0"> آرم سايت </td></tr>
<tr><td colspan="3"  bgColor="#B3C9FD">منوي اصلي </td></tr>
<tr>

<td width="85%">متن</td>

<td width="1"></td>

<td  bgcolor="#f0f0f0"> منوي فرعي، بخشهاي خبري و لينكها </td>
</tr>
<tr> <td colspan="3"  bgColor="#B3C9FD">(Copyright)</td></tr>
</table>

شكل كلي قالب سايت

5-2-2-تعيين واحدها در اين مرحله واحدها (Modules) مشخص مي گردند. واحدهاي موجود در اين سايت عبارتند از:

  • آرم يا هر چيز ديگري كه مشخصه سايت باشد(logo)
  • بخش عنوان شامل: منوي اصلي، نوار ابزار و عنوان متن قرار گرفته در صفحه. اين بخش محتواي ديناميك دارد و بر اساس محتويات قرار گرفته در بخش متن برخي از گزينه ها فعال و برخي غير فعال هستند. علاوه بر اين عنوان كلي متن قرار گرفته در بخش متن صفحه در اينجا نيز بايد قرار گيرد.
  • بخش متن شامل محتويات درون متن و يك بخش سرآيند كه توصيفگر محتويات قرار گرفته در داخل بخش متن است
  • منوي سمت راست: كه محتواي كاملا ديناميك دارد و بر اساس اينكه در كدام زير بخش اصل قرار داريم محتويات آن تغيير مي كند
  • بخش انتهايي يا Footer كه معمولا محتويات ثابت دارد.

واحدهاي نرم افزاري در اين سايت (كه در نهايت اجزا تشكيل دهنده كنترلر خواهند بود) بر اساس پارامترهاي ارسالي موجود در درخواست (Query String) .اطلاعات مورد نظر را از بانك اطلاعاتي فراخواني مي كنند. در اين سايت از يك شيوه ساده براي بازيابي اطلاعات استفاده شده است. در هريك از درخواستهاي ارسالي به به كنترلر مركزي دو مشخصه از اطلاعات مورد درخواست تعيين مي گردد. اول اينكه اطلاعات مورد درخواست در چه زيربخش قرار دارد و دوم اينكه نام فايل حاوي اين اطلاعات چيست. بر اساس اين دو پارامتر، كنترلر فايل مورد نظر را در سرويس دهنده بازيابي كرده و محتويات آنرا پردازش مي كند. كنترلر از اطلاعات مربوط به زير بخش، مسير فايل در سرويس گيرنده را تعيين مي كند و بر اساس نام فايل اطلاعات خاص مورد درخواست در آن زير بخش را براي بازيابي معين مي نمايد.

اين فايل محتويات كاملا ساده دارد (البته مي تواند از محتويات كاملا متني تا يك فايل html نسبتا كامل متغير باشد. در اين محدوده برخي از سبكهاي تعريف شده قابل تعريف مجدد توسط كاربر هستند. به بيان ديگر قابل Override كردن هستند).هر يك از اين فايلها به همراه خود يك بخش متا ديتا نيز دارند. اين بخش تعيين كننده كلمات كليدي، تاريخ ايجاد فايل، منبع محتويات فايل، عنوان فايل و ... مي باشد. كنترلر بر اساس محتويات اين فايل و متا داده هاي موجود به همراه آن محتويات صفحه را بازسازي مي كند و يك خروجي html براي ارسال به مرورگر مشتري مي سازد

در حقيقت بخش توليد متن در اين كنترلر مي تواند يك قطعه كد ساده PHP نظير قطعه كد ساده زير باشد


<?php for(=;<;++)
{ if(=="0") echo (ereg_replace(" "," ",""));
else echo("");
}
واحد بازسازي متن

براي مشخص كردن محتويات منوي سمت راست نيز به شيوه اي مشابه عمل شده است. واحدي كه وظيفه بازسازي منوي سمت راست را بر عهده دارد به كمك اطلاعات موجود درسيستم بانكي سايت، ليست پيوندهاي مرتبط با محتويات متن اخير را استخراج كرده و مبادرت به بازسازي اين منو مي نمايد. اين واحد نيز مي تواند به سادگي و توسط قطعه كد زير در PHP پياده سازي گردد:


<?php
="";
=file();
=count();
if(trim("")!="."){
for(=0;<;++)
if( ereg("&",) )
echo "<TABLE id='menuitem' cellspacing='0' cellpadding='0' width='160' border='0'><TR><TD onMouseover='onOver(this)' onMouseout='onOut(this)' class=menuitem noWrap width='160'><span class=a1> </span></TD></TR></TABLE>";
}//end for
?>
واحد ساخت منوي سمت راست

واحدهاي استاتيك نيز در اين سايت وجود دارند كه توضيح بيشتر در مورد آنها در اين مقاله ضروري به نظر نمي رسد. مشخص كردن محتويات آنها به سادگي و تنها به كمك دستورات ساده html صورت مي گيرد. همچنين توضيح بيشتر در مورد ساير واحدهاي ديناميك مورد استفاده در طراحي اين سايت را به مجالي ديگر واگذار مي كنيم.

به وضوح ديده مي شود كه بخش هاي طراحي و برنامه سازي از يكديگر كاملا جداشده اند. يك گروه مي تواند مسئول تعيين قالبها و شكل ظاهري سايت باشد و تمام آنچه را كه لازم دارد مستقلا طراحي نمايد. گروه ديگر نيز مي تواند مسئول تعيين منطق برنامه و نوشتن كدهاي موردنياز براي نمايش صفحات باشد. علاوه بر اين محتويات صفحات نيز استقلال يافته و جداي از كدها و قالب برنامه قابل تغيير هستند.

در اين شيوه همچنان از يك معضل رنج مي بريم و آن اينكه در انتها و براي ساخت كنترلر بايد واحدهاي تدارك ديده شده و قالب طراحي شده با يكديگر تركيب شده و قالب كلي كنترلر را مشخص نمايند. به بيان ساده تر هر گونه تغييري در واحدها و قلب گرچه مي تواند به صورت مستقل صورت پذيرد اما نياز به بازسازي مجدد كنترلر خواهد داشت. امروزه با استفاده از تكنولوژي XML مي توان تا حدود زيادي بر اين مشكل نيز فايق آمد و با تدارك واسطهايي جداگانه اين استقلال را نيز تامين كرد.

5-2-3-طراحي كنترلر:

در طراحي اين سايت همانگونه كه قبلا نيز متذكر شديم از مفاهيم موجود در معماري FC استفاده شده است. در اين معماري تمامي درخواستها به يک کنترلر مرکزي (Front Controller) ارسال مي‌شود (که چون سايت در محيط php ايجاد شده برنامه index.php اين وظيفه را بر عهده دارد).

با توجه به توضيحات مرحله قبل درباره واحدها و قالب ، فرم كلي كنترلر كدي به شكل زير خواهد بود:


<table style="border:1 solid #0000ff; direction:ltr">
<tr><td colspan="3"  bgcolor="#f0f0f0">
<img align="left" border="0" src="images/header.gif"> </td></tr> <tr><td colspan="3"  bgColor="#B3C9FD">منوي اصلي </td></tr>
<tr>

<td width="85%">

<?php for(=;<;++)
{ if(=="0") echo (ereg_replace(" "," ",""));
else echo("");
}

</td>

<td width="1"></td>

<td  bgcolor="#f0f0f0">

<?php
="";
=file();
=count();
if(trim("")!="."){
for(=0;<;++)
if( ereg("&",) )
echo "<TABLE id='menuitem' cellspacing='0' cellpadding='0' width='160' border='0'><TR><TD onMouseover='onOver(this)' onMouseout='onOut(this)' class=menuitem noWrap width='160'><span class=a1> </span></TD></TR></TABLE>";
}//end for
?>

 </td>
</tr>
<tr> <td colspan="3"  bgColor='#B3C9FD'>(Copyright)</td></tr>
</table>

محتواي كلي كنترلر

همانگونه كه مشاهده مي كنيد، كدهاي تدارك ديده شده براي بخشها و اجزا مختلف صفحه در مكانهاي تدارك ديده شده براي آنها قرار گرفته اند و قالب كلي كنترلر سايت را تشكيل داده اند.

5-2-4-طراحي بخش مديريت سايت:

بخش مديريت سايت براي ارسال صفحات جديد، ويرايش و حذف صفحات قديمي تر، به روز درآوري بخش هاي مختلف سايت، دريافت بازخوردهاي ارسالي به سايت و ... به كار گرفته مي شود. در اين بخش فرض بر اين است كه استفاده كننده از سايت به عنوان مدير مجموعه (در حقيقت مدرس يك مجموعه از دروس) آشنايي چنداني با مباحث طراحي ندارد. بنابر اين به كمك ابزترهاي بسيار ساده بايد اين توانايي را در وي ايجاد كرد كه بتواند مجموعه قرار گرفته بر روي شبكه را راهبري كند. در حقيقت قلب اين مجموعه را اين بخش تشكيل مي دهد.

سيستم در نظر گرفته شده براي اين كار سيستم ساخت فايل بر روي سرور منطبق بر استانداردهاي اين مجموعه است. به عبارت ديگر مدير مجموعه در اين قسمت به كمك يك واحد از پيش طراحي شده مبادرت به ايجاد يك فايل بر روي سرور با محتوا و متاداده هاي مورد نياز براي آن خواهد كرد. علاوه بر اين سيستم مديريت مزبور به صورت خودكار اطلاعات لازم براي بازيابي اين مجموعه را در سيستم ايجاد خواهد كرد و در حقيقت ايجاد مدخلهاي ناظر به اين محتوا نيز به صورت اتوماتيك بر عهده بخش مديريت مجموعه خواهد بود. علاوه بر اين بخش مديريتي مجموعه قابليت بارگذاري اجزا صفحه بر روي سرور را نيز به كاربر خواهد داد. بخشهاي ديگري نظير ارسال ايميل، مديريت تالارهاي گفتگو، سيستم هاي ثبت اطلاعات نظر سنجي و ... نيز براي اين سيستم در نطر كرفته شده اند كه توضيح عملكرد كلي آنها ضروري به نظر نمي رسد. (كماكان كار بر روي اين بخشها ادامه دارد)

6-نتايج

1- ضعف بنيادين دانشجويان در بهره گيري از اينگونه سيستم ها و نامانوس بودن آنها با كار با اين سيستم ها. اين ضعف بنيادين به حدي است كه عليرغم انتظار كاربرد صحيح اينگونه سيستم ها توسط دانشجويان رشته هاي كامپيوتر (در ترم هاي بالا) مشاهده شد كه دانشجويان در كار با اين سيستم ها دچار ضعف هستند. بنابر اين به نظر مي رسد همزمان با پرداختن به مباحث طراحي سيستم هاي آموزش الكترونيكي، بايد بحث آموزش استفاده از كامپيوتر و شبكه جهاني اينترنت در دانشگاهها و مراكز آموزش عالي كشور جديتر گرفته شود

2- عدم قابليت اعتماد به كاركرد صحيح اينگونه سيستم ها

3- ضعف بنيادي در زيرساختهاي ارتباطي و مخابراتي كشور و در نتيجه ناكارآمد جلوه كردن اينگونه سيستم ها

4- عدم احساس نياز به استفاده از اينگونه سيستم ها در كنار سيستم هاي آموزش سنتي توسط اساتيد با تجربه و اساسا شك در نتيجه بخش بودن اين سيستم ها توسط بزرگان وادي آموزشهاي دانشكاهي. (بسياري از محققان معتقدند كه تدريس در يك محيط آموزش از راه دور به مهارتهايي نياز دارد كه كمتر در هيئت علمي موسسات آموزش عالي وجود دارد [6])

5- هزينه بر بودن كار با اين سيستم ها توسط اساتيد (هزينه هاي فكري- زماني و مالي). اين مشكل جداي از اين مساله است كه اساسا براي ما شناخته شده نيست كه در اينگونه سيستم ها چه مطالبي و با چه كيفيتي بايد ارايه گردد.

6- عدم شناخت صحيح از قابليتهاي اين گونه سيستم ها

7- وجود مشكل فارسي سازي اين سيستم ها عليرغم تمهيدات تدارك ديده شده توسط سيستم استاندارد Unicode.

8- ديناميك بودن سايت و مشكل سربارهاي مربوط به پردازش سمت سرويس دهنده. به گونه ايكه در ابتداي كار يكي از مشكلاتي كه در برخورد با اين سايت رخ مي داد مشكل زمان بارگذاري صفحات بود اما بعدا با استفاده از تنظيمات مربوط به Cache تا حدي اين مشكل مرتفع شد.

9- كمداشتهاي اين سيستم، خصوصا امكانات تعاملي. به نظر مي رسد موفقيت اين سيستم ها بيشتر بايد از ناحيه امكانات معقول و معمول يك سيستم تعاملي باشد و اساسا به اعتقاد بسياري از صاحبنظران فرآيند يادگيري يك فرآيند اجتماعي شامل رد وبدل كردن افكار و عقايد با ديگران است و از اين ديدگاه است كه آموزش از راه دور مي تواند در بعد مقياس به كار آيد. سيستم هاي نظير اتاقهاي گفتگو، بردهاي اختصاصي مربوط به مباحث گوناگون درسي، سيستم هاي اطلاعرساني عمومي، سيستم هاي ارزيابي از دانشجو و خصوصا سيستم هاي ردياب دانشجو در طي سلسله مراتب درسي

تعداد پيامهاي موجود در برد الكترونيك كلاس7 مورد
تعداد ايميلهاي ارسالي از طريق سايت9 مورد
تعداد كل مراجعات صورت گرفته به سايت436 مورد

سال 82- نيمه اول - (از 80 موردي كه قابليت استفاده از اين سيستم را داشته اند)

7- پيشنهادهايي براي ادامه كار و بررسي قابليتهاي سيستم هاي مشابه

عمده ترين هدف از طراحي اين سيستم، ساخت يك سيستم مديريت محتواي آموزشي مبتني بر وب با تكيه بر كمترينهاي ممكن، چه از نظر ملزومات سخت/نرم افزاري و چه از نظر دانش لازم براي طراحي اين مجموعه ها بوده است. در حال حاضر سيستم گسترش يافته اي بر اساس همين سيستم فعلي در حال طراحي است كه بسياري از كمداشتهاي اين مجموعه، خصوصا در بعد امكانات برقراري ارتباط ميان شركت كنندگان در كلاسها ي درسي، سيستم هاي ارزيابي خودكار و سيستم هاي ردگيري دانشجو در آن لحاظ شده است. در اين مدت پروژه هاي مختلف مشابه با اين سيستم با قابليتهاي گوناگون مورد بررسي قرار گرفته است و سعي شده است تا امكانات مختلف و جالب توجه آنها در طراحي سيستم جديد لحاظ شود.

8- منابع و مراجع:

[1]- مركز فنآوري اطلاعات و ارتباطات پيشرفته شريف ، "گزارش بررسي دانشگاه مجازي و رويكرد فراگيري الكترونيكي"، صفحه 6

(retrieved from www, 2003/7, URL http://vu.aictc.com/docs/books/aictc/vureport/vupart1.zip)

[2]-عطاران ، محمد ، استاديار دانشگاه تربيت معلم تهران، "دانشگاه مجازي : تحول از آموزش به يادگيري"، اولين همايش آموزش الکترونيکی 3 و 4 خرداد 1382 سالن همايش های رازی ، تهران ، ايران

URL: http://www.iran-elearning.com/articles/DownloadCounter.aspx?filename=attaran.doc

[3]-ستايش برحقي ، رضايي ، "معماری سيستم آموزش مجازی توزيع شده هوشمند (INVITE) جهت پشتيبانی آموزش الکترونيک از طريق محيط های مجازی مشارکتی"، اولين همايش آموزش الکترونيکی 3 و 4 خرداد 1382 سالن همايش های رازی ، تهران ، ايران

URL: http://www.iran-elearning.com/articles/DownloadCounter.aspx?filename=Setayesh-Rezaei.doc

[4]- اسکندريان ، جعفر ,کاهاني ، محسن ؛"کليات طرح سيستم آموزش راه دور مبتني بر وب " ,همايش جهاني شهر