به خاطر او،
برای او
وتقدیم به او
که یاریگری یکتاست
تقدیرنامه
با سپاس بیکران از راهنماییهای استاد گرامی جناب آقای مهندس سعیدابریشمی که در تدوین این پایان نامه ما را یاری نمودند و با سپاس فراوان از اساتید محترم دانشگاه که همواره با رهنمون هایشان ،یاورمادرطول تحصیل بوده اند.
چکیده
با توجه به پیشرفت فناوری اطلاعات در چند سال اخیر، نظام پزشکی کشور نیزدرصدد فراگیر کردن اطلاع رسانی اینترنتی اقدام فرموده است،که سایت مرکز درمانی شهیدشوریده جزءاولین سایت های مراکز درمانی کشور می باشد.دراین سایت تلاش شده تا با انجام مشاوره های پزشکی و اطلاع رسانی جمعی به جمعیت فناوری اطلاعات کشوری بپیوندد. هر یک از بازدیدکنندگان از این سایت می توانند با مراجعه به صفحه سوالات متداول سوالات معمولی که از طرف اکثریت بازدیدکنندگان پرسیده شده است، دیدن فرمایندودرصورتیکه سوال دیگری از متخصصین مرکز درمانی دارند،می توانند با عضویت از طریق صفحه عضو جدید وپرکردن فرم عضویت وهمچنین گرفتن کد ورمز عبور به عضو یت سایت درآیند وسوال خود را وارد نمایند .این سوال از طریق مدیریت سایت به متخصص مخصوص داده می شود وایشان بعد از پاسخ گویی ،جواب را بر روی سایت می فرستند وفرد مورد نظر می تواند پاسخ را با وارد کردن کد ورمز عبور مشاهده نماید.درصورتیکه افراد کد ورمز عبور خود را فراموش کنند می توانند با ورود به صفحه تغییر رمز عبور ،رمز عبورخود را تغییرداده ووارد سایت شوند. همچنین بازدیدکنندگانی که دارای مقالات علمی هستند می توانند مقالات خود راباورودبه صفحه ارسال مقالات به این مرکز ارسال نمایند.برای اطلاع بیشتر بازدیدکنندگان از سایت ونحوه عملکرد سایت می توانند به صفحه راهنمای سایت مراجعه نمایند.برای دیدن تعداد صفحات ونام آنها می توانند به صفحه نقشه سایت مراجعه کنند وازآنجا به صفحه دلخواه خود بروند.برای کارایی هرچه بهتر سایت بازدیدکنندگان می توانند با مراجعه به صفحه تماس باما پیشنهادات وانتقادات خودرابرای ما ارسال نمایند.با گسترده شدن اینگونه سایت ها ومشاوره های از راه دور با پزشکان متخصص ، میتوانیم درآینده نزدیک جامعه ای سالم وسلامت داشته باشیم ومراجعات بیماران فقط برای بیماریهای پیشرفته صورت بگیرد.
فصل 1
مقدمه
فناوری اطلاعات و ارتباطات و حرکت از جوامع سنتی به جوامع اطلاعاتی ،تمامی ابعاد نیازمندیهای بشری را تحت تاثیرقرارداده است.مسلماً بهره گیری از روشهای الکترونیکی با استفاده از روشهای جدید،موجبات کارایی و اثربخشی بیش از پیش سازمانها، درجوامع بشری را فراهم می نماید. به منظور بهره گیری از چنین روشهایی در اجرای آموزشها، تصمیم به الکترونیکی کردن نظر سنجی در دانشگاه گرفتیم.که برای این کار باید سایتی پویابدین منظور طراحی می کردیم. حال آنکه برای ساخت یک سایت پویا ASP یک راه حل ساده می باشد.مایکروسافت ASP.net را به عنوان نگارش جدیدی از ASP معرفی کرده است.Asp.Net موانع ایجاد وب سایتهای پویا و پیچیده را اساساً کاهش داد.تیم تولید کننده ی Asp.Net در مایکروسافت،برای تنظیم و ایجاد فهرستی از اهداف مشترک صاحبان سایتها ،بیش از هزاران صفحه،سایت را مورد بررسی قرار دادند.این فهرست شامل بیست هدف از جمله خواندن داده ها،رویه ای یکپارچه برای ورود و احراز هویت،سازگاری در ظاهر سایت و سازگاری صفحات در انواع مختلف مرورگرها بود.بدین ترتیب تیم دست به کارشد تا مجموعه کدهایی ایجاد کند که به شیوه ای صحیح به این اهداف دست یابند.مجموعه این قابلیت ها بصورت کلاسهائی در Asp.Net درآمد.نتیجه نهایی ساده است.سازندگان سایتها می توانند تنها با کنارهم قراردادن بلاکهایی که مایکروسافت در Asp.Net ایجاد کرده است،سایتی پیچیده درست کند.طراحان سایت می توانند به جای نوشتن کدهای زیاد به سادگی و تنها با کشیدن و رها کردن(drag and drop) یک کنترل برروی صفحه و پاسخ دادن به تعدادی سوال دریک برنامه wizard (جادوگر)، سایت مورد نظرشان را بسازند.این کنترل مقدار کمی کد را برای صفحه تولید کرده و سرویس دهنده از این کدها برای ساختن صفحه درHTML استفاده کرده و سپس آن را به مرورگر ارسال می نماید.از آنجائیکه صفحهHTML برای مرورگر ارسال می شود،نیازی به داشتن قابلیتی خاص جهت نشان دادن HTML درمرورگرو اجرای یک سند جاوا اسکریپت ساده نمی باشد.هر مرورگری که بتواند HTML را نشان بدهد،صفحات Asp.Net را نیز نشان می دهد.
درسایت به اطلاعات زیادی از قبیل کد دانشجو، نام و نام خانوادگی دانشجو،اطلاعات مربوط به اساتیدو… نیاز میشود که این اطلاعات را باید درمحلی قرار داد. سایتها برای ذخیره و نگهداری اطلاعات از بانک های اطلاعاتی استفاده می کنند.مفید ترین ویژگی Asp توانایی آن در ارتباط برقرارکردن با بانک اطلاعاتی است.به عبارتی بانک اطلاعاتی مجموعه ای از اطلاعات است که می تواند به راحتی مورد سوال و تغییر قرارگیرد.بانک اطلاعاتی یک محیط واقعی برای ذخیره اطلاعات و اشیاء مربوط به آن است.هنگامیکه ازبانک اطلاعاتی استفاده می کنید می توانید کارهایی از قبیل دریافت داده،درج داده،به روز رسانی داده های موجود و یا حذف داده های موجود را انجام دهید.به طورمعمول محل واقعی ذخیره شدن اطلاعات Table ها هستند که هر Table درحقیقت یک Entity (موجود،هستی) است که شامل RecordوField می باشد .رکورد یک نمونه ی واقعی از شئی است .رکورد در بانک اطلاعاتی به وسیله ی سطر مشخص می شود. فیلد کوچکترین جزء اطلاعاتی از یک آبجکت است . بانک های اطلاعاتی تجارتی زیادی مثل Access، ,SQL-server Oracle ,Informixدر دسترس قراردارند. بعد از انتخاب بانک اطلاعاتی باید بدانید که ابزارهای مناسی برای ساختن صفحات Asp وجود دارد. ازجمله این ابزارها می توان به نرم افزارهای Visual Studio , Visual Web Developer وVisual Web Developer Express اشاره کرد. صفحات Asp باید در یکی از این محیط ها ساخته شوند. این سایت در محیط Visual Web Developer Express طراحی شده است. درنرم افزارVWD ابزارهای زیادی برای ساخت سایت وجود دارد.برای ایجاد یک وب سایت، VWD را باز کرده ودرمنوی File آیتم New Site را کلیک می کنید.می توانید یکی اززبانهایVisual Basic یا C# را به عنوان زبان مورد استفاده انتخاب نمایید.این سایت به زبان VB نوشته شده است. اکنون به نحوه ایجادصفحه اصلی که اصطلاحاً به آن Master گفته می شود می پردازیم.هرسایتی ازداشتن ظاهری زیبا و یکنواخت سود می برد.در اینترنت به ندرت می توان سایتی را یافت که از داشتن چینش عمومی یک سایت منحرف شده باشد.چینش عمومی معمولاً شامل موارد زیر است:
1. یک Header (سرآمد) مشترک برای کل سایت.
2.نواری در سمت چپ صفحه که شامل لینک های موجود درسایت است.
3.یک منو برای ارتباط با مدیر سایت.
4.درنهایت یک Footer (پاورقی) که اطلاعات کپی رایت را فراهم میاورد.
این عناصربا اینکه ویژگی های ضروری را فراهم نمی کنند،برروی همه صفحات قرار می گیرند.ولی ظاهر یکنواخت این عناصر به کاربر این اطمینان را می دهد که هنوز در همان سایت هستند.اگرچه این ظاهررا با تگ های HTMLنیز می توان ایجاد کرد،ولی Asp.Net ابزار قدرتمندتری همچون Master و Content را برای این منظور فراهم نموده است. با داشتن ابزارونرم افزارهای که بطور مختصر آنها را بیان کردیم می توان سایتی با یک موضوع خاص طراحی کرد.ما در این پروژه سایت نظرسنجی الکترونیکی را ایجاد کرده ایم،بطوریکه دانشجویان می توانند با ورود به این سایت رای خودرابه اساتید مورد نظر اعلام کند.در سایت برای اطلاعات بیشتردانشجویان به معرفی کلیه اساتید دردانشگاه پرداخته ایم.در فصل 3 بطورکامل سایت را تجزیه و تحلیل کرده ایم.
فصل 2
نرم افزارهای مورد نیاز در طراحی سایت
بخش اول : ASP.NET
ASP.NET چیست؟
وب جهان گستر(www) امکان اتصال گسترده به اینترنت را فراهم می کند.هرکسی که ازکامپیوتر استفاده می کند به وب دسترسی دارد.اما حداقل استانداردهایی باید وجود داشته باشد تابتوان به این دسترسی فراگیر دست یافت.اطلاعات درقالب کدهای اسکی ارسال می شوند وبرای کدهای زبان ماشین این قابلیت نیاز نمی باشد.ملزومات سرویس گیرنده بسیارناچیز است.درواقع خود اینترنت هیچگونه استاندادی برای نحوه عملکرد یک مرورگر ندارد و به همین دلیل است که مرورگرهای مختلفی برای انواع سیستم عامل ها وجود دارد.درسال2005 به آسانی فراموش شد که اینترنت در ابتدا برای ارسال صفحات متنی ساده ایستا به همراه تصاویر و لینک ها طراحی شده و به وجود آمده بود.در15 سال اخیر،دربرنامه نویسی اینترنت سعی شده است تا درعین حال که از قوانین www (که تمایل زیادی به ساده سازی صفحات وب دارد) تخلف نکرد، نتوان پیچیدگی لازم را به کاربران تجربه نمود.کاربران انتظارداشتند تا پیاده سازی برنامه های کاربردی،مانندword و Access آسان باشد،اما این سطح از پیچیدگی در طراحی وب سایتها با حداقل پیکره بندی مورد نیازآنها آسان نیست. Asp.Net با ایجاد بلاک ها وکنترل های متعدد،موانع ایجاد وب سایتهای پیچیده را اساساً کاهش داد.بنابراین Asp.Net راه حل مایکروسافت برای ایجاد صفحات وب پویا و پیچیده می باشد.مایکروسافت درنسخه های قدیمی Asp.Net فهرستی ازاهداف عمومی و مشترکی که طراحان سایت درپیاده سازی سایت ها استفاده می کردندرا ایجاد کرد.دسرسی به برخی از این اهداف آسان ولی وقتگیر بود و برخی دیگر نیز بسیارپیچیده بودند و فقط طراحان خبره و ماهر می توانستند از آنها استفاده کنند.به طور کلی راه حل های برنامه نویسان یا بسیار معمولی ویا بسیارپیچیده بود.این راه حل ها نه تنها گاهی اوقات ضعیف بودند،بلکه زمان بسیاری را تلف می کردند و این بدان دلیل بودکه هزاران برنامه نویس جهت طراحی،کدنویسی و تست کدها زمان صرف می کردند.که این عیب Asp.Net در ورژن های جدید برطرف شده بطوریکه آن اهداف عمومی بصورت کنترلهای سمت سرویس گیرنده ی Asp.Net بوده و حاوی کدهایی برای تنظمات اجرا و عملکرد هستند.طراحان سایت با قراردادن یکی از این کنترلها برروی صفحه می توانند به همان نتایجی که در گذشته باید برای آنها کدنویسی می کردند،دست یابند. یکی دیگر از امکاناتی که Asp.Net در اختیار برنامه نویسان قرارداده اینست که،اصولاً طراحان وب علاقمندند تا دو ویژگی متعارض درطراحی وب ا یکجا استفاده کنند.از یک طرف مایلند که کل سایت ظاهری پایدار(consistent) داشته باشد و ازطرف دیگر می خواهند این امکان را برای کاربران فراهم کنند تا آنها بتوانند به طور دلخواه و مطابق سلیقه ی خود ظاهر سایت مانند رنگ ها،اندازه فونت ها و سایر خصوصیات سایت را تغییر دهند. Asp.Netیک کنترل صفحه اصلی به نام Master Page فراهم کرده (که در بخش 4-2 آمده است) تا از طریق ان بتوان آرایش و چینش (Layout) عناوین،منوها ولینک های یک سایت را بصورت سازگارو پایداردراورد.طراح سایت می تواند با اضافه کردن یک کنترل به این آرایش،این امکان را برای کاربران فراهم کند تا بتوانند یکی از Theme ها راانتخابو برروی تمام صفحات سایت اعمال کنند.
Asp.Net دارای مجموعه ی کاملی از وب سرویسها است.ابتدا به تعریف مفهوم وب سرویس می پردازیم.هرسازمان اطلاعات و سرویس هایی را درسایت خود فراهم می کندومردم می خواهند این سرویس ها را درسایتهای دیگر نیز دراختیار داشته باشند. وب سروس ها این امکان را فراهم می کنند. Asp.Net مجموعه ی کاملی از وب سرویسها را فراهم کرده است که با خصوصیات (Simple Object Access Protocol ،روشی برای درخواست داده از یک وب سرویس) SOAP وXML (Extensible Markup Language،قالبی برای داده) مطابقت می کنند.
Asp.Net نیزبرای پاسخ به خطا سیستم مخصوصی دارد.پاسخ خطا می تواند به شکل کد باشد ویا می تواند به شکل یک صفحه خطا (error page) گزارش شود و صفحه خطا می تواند مخصوص یک خطا و یا برای کل سایت در نظر گرفته شود.در Asp.Net امکان اداره کردن (handle) خطا در چند سطح وجود دارد.اگردرهنگام خواندن داده خطایی رخ دهدمی توان آنرا درسطح منبع داده اداره کرد.اگرخطا دراین سطح اداره نشود،به سطح بعدی وارد شده ودرآنجا اداره می شود.
Asp.Net نیز مانند سایر فناوریهای طراحی وب سایت،نیازبه کدنویسی دارد. Asp.Net بیش از20زبان مختلف را پشتیبانی می کند.کلیه کدها بدون توجه به زبانی که برنامه نویس استفاده می کند،قبل از اجرا به یک زبان میانی ترجمه(compile) می شوند.کنترل های Asp.Net برروی سرویس دهنده اجرا می شوند،ولی برنامه نویس این اختیاررا دارد تا کدهایی که می نویسد را برروی سرویس گیرنده هم به اجرا در آورد.
کارایی ذخیره سازی نهان Asp.Net
صفحه وب پس ازطراتحی،به یک زبان یکپارچه ی .NET که زبان میانی مایکروسافت یا MSIL (Microsoft Intermediate Language) نام دارد،ترجمه وسپس برروی ماشین گسترش (deployment machine) کپی می شود.وقتی این صفحه برای بار نخست مورد درخواست واقع می شود،به زبانCLR (زبان مشترک زمان اجرا) ترجمه می شود تا نسبت به سخت افزاری که می خواهد به آن سرویس دهد بهینه شود. پردازش صورت گرفته دراین دو مرحله،موجب می شود تادو هدف پایداری نرم افزار و بهینه سازی سخت افزار حاصل گردد.
این ویژگی باعث کارایی Asp.Net می گردد. Asp.Netامکان ذخیره سازی نهان (caching) صفحات را نیز فراهم می کندتا درخواست های بعدی آنها سریعتر سرویس داده شوند.با ذخیره سازی نهان،نسخه نهایی صفحه درداخل RAM سرویس دهنده قرار می گیرد تا برای درخواست بعدی سریعتر ارسال شود،زیرا در این حالت سرویس دهنده صفحه را مجدداً ایجاد نمی کند.طراح همچنین می تواند مشخص کند،تنها بخشی از صفحه در حافظه ذخیره گردد که این فرایند به ذخیره سازی نهان قطعه ای (fragment caching) مرسوم است. ذخیره سازی نهان قطعه ای موجب می شود تا سرویس دهی به بخش های بدون تغییر صفحه سریعتر شود درحالیکه هنوز امکان تولید دلخواه قطعه های پویا (dynamic fragments) نیز وجود دارد.اگر از Microsoft SQL Server7 یا بالاتر استفاده کنید، می توانید از گزینه بطلان ذخیره نهان داده(data invalidation caching) برای بخش هایی از صفحه که وابسته به داده بوده(data-dependent) ولی کمتر تغییر می کنند،ا ستفاده کنید. گزینه بطلان ذخیره نهان داده،تا هنگامی که پیامی مبنی بر تغییر کردن داده ازSQL Server دریافت کند،صفحه را درحافظه نگه خواهد داشت.بدین ترتیب مجموعه ای از داده ها بمنظور اینکه خبری درمورد تغییرداده ازSQL دریافت شود،درحافظه ذخیره می شود.وقتی داده تغییر کند،SQL Server مراتب را به.NET اطلاع می دهد و این موجب می شود تا Asp.Net عمل بازخوانی را انجام دهد.
امنیت Asp.Net ومکانیزم ورود
اکثرسایتها به یک مکانیزم ورود (login) نیازدارند تا توسط آن بتوانند ID و کلمه عبور کاربر رادریافت وبررسی کنند و سپس اجازه ورود یا عدم ورود کاربر را صادر نمایند.هرچند اصول پیاده سازی چنین مکانیزمی چندان مشکل نیست ولی درصد کمی از برنامه نویسان هستند که می توانند یک مکانیزم ورود مطمئن را پیاده سازی کنند. Asp.Net برای این منظور نیز کنترلی را پیشنهاد می کند که مکانیزم ورود را بسیار بهتر از آنچه که ما می توانیم با کد نویسی پیاده سازی کنیم،ایجاد می نماید.به علاوه این سیستم می تواند کلمه عبور کاربر را به خاطر بسپارد و همچنین کاربران جدیدی ایجاد کند.به هر کاربر نیز می توان نقشی (role) تخصیص داد تا براساس آن صفحات و ویژگی هایی برای وی قابل رویت و دسترسی باشد.مثلاً همه کاربران می توانند مشخصات اساتید را مشاهده کند ولی تنها مدیر است که می تواند این مشخصات را علاوه بر رویت،تغییر نیز بدهد. فرایند ورود به یک سایت از دید کاربر عبارت است از وارد کردن یک اعتبارنامه و سپس نمایش واسط کاربر متفاوتی که متاظر با مرورگر کاربر می باشد.اعتبار نامه مکعمولاً ترکیبی از نام کاربری و کلمه عبور است ،ولی در سایتهای امن تر مثل وب سایتهای بانکی،می توان از سایر روش های ورود،از جمله گواهینامه های امنیتی و PIN ها استفاده کرد.
بدون درنظر گرفتن روشی که برای ارسال اعتبارنامه احراز هویت به سرویس دهنده استفاده شده است،اصول کلی احراز هویت یکسان می باشد.پس از اینکه احراز هویت شدید،بررسی اینکه آیا دارای سطح دسترسی کافی برای استفاده از منابع هستید،از طریق مکانیزم احراز هویت کار راحتی است.در بحث امنیت ابتدا مفاهیم مورد نیاز را تعریف می کنیم:
1. هویت: کلکسیونی گسترده از حقایق که موجب منحصر به فرد شدن هر شخص می گردد.
2. احراز هویت: به مفهوم شناساندن یک کاربر به سرویس دهنده از طریق اعتبارنامه ای(کلمات کاربری و عبور) که برای سرویس دهنده ارسال می گردد،می باشد.اگر اعتبارنامه کاربر مورد قبول سرویس دهنده قرار گیرد،آن کاربر احراز هویت شده است.
3.صدور مجوز: صدور مجوز فرایندی است،برای کسب لطلاعات بیشتر درباره نوع حساب کاربری(user account) شما در یک سایت
4.شخصی سازی: قابلیت و توانایی مهیا کردن اطلاعات مخصوص و مربوط به کاربری که در حال حاضربه سایت وارد (login) شده است.
5.عضویت: به مفهوم تعلق داشتن است. اگر از بحث تئوری خارج شویم، Asp.Net ابزار بسیار خوبی را برای پیاده سازی مکانیزم ورود،احرازهویت و صدور مجوز فراهم کرده است در نسخه های قدیمی Asp.Net برای پیاده سازی یک مکانیزم ورود،احراز هویت و عکس العمل در مقابل کاربری که در حال حاضر به سایت وارد شده است باید کد می نوشتیم که کار بسیار ملال آور و خسته کننده بود ولی Asp.Net ابزاری دارد که با استفاده از آنها به راحتی می توان این مکانیزم ها را پیاده سازی کرد.در این قسمت با کنترل های سرویس دهنده ای که Asp.Net برای این منظور فراهم کرده است آشنا می شویم. کنترل login : این کنترل با مهیا کردن جعبه های متن،دکمه ها و اعتبارداخلی(built-invalidation)به شما امکان می دهد تا بتوانید مکانیزم ورود را تنها با استفاده از روش drag and drop بر روی یک صفحه پیاده سازی کنید. کنترل login view: این کنترل روشی را فراهم می کند تا بسته به اینکه کاربر وارد سایت شده است یا خیر،ظاهر صفحه تغییر کند ویا اینکه برای گروه متفاوتی از کاربران،محتویات متفاوتی را نشان دهد.
کنترلlogin status: این کنترل یک بازخورد (feedback) ساده به کاربران می دهد تا ورود به سایت را به آنها یاد آوری نماید.
کنترل login موجود در صفحات Asp.Net یک هدیه واقعی از طرف تیم مایکروسافت است.قبلاً برای سایتهایی که به قابلیت login نیاز داشتند،باید کدهای زیادی نوشته می شد،ولی درحال حاضر تنها کاری که باید انجام داد،قراردادن کنترل ها برروی صفحه است. از آن بالاتراینکه با استفاده از ابزارwizard موجود،می توانید حساب هایکاربران را پیکربندی کرده و مجوزهای لازم را به آسانی برای آنها تخصیص دهید.
Asp.Net با کدام فناوریها متناسب است؟
این سوال در ذهن بسیاری از افراد وجود دارد که Asp.Net چگونه با سایر فناوریهای مرتبط با وب متناسب می باشد؟ حال این موضوع را روشن می کنیم. Asp.Net در چه مواردی با سایر نرم افزارهایی که بر روی سرویس دهنده در حال اجرا هستند متناسب است؟ نقش Asp.Net چیست و سایر فناوریها چه نقشی دارند؟ Asp.Net قسمتی از چهار چوب .NET است.چهارچوب.NET یکی از محصولات مایکروسافت است که استانداردهای نرم افزاری اتصال به اینترنت را با استفاده از وب سرویس ها وXML معرفی می کند. بسیاری از محصولات مایکروسافت همچون نرم افزارهای سرویس دهنده مختلف،سیستم های مدیریت داده و برنامه های کاربردی دسک تاپ با استاندارد.NET هماهنگ هستند. Asp.Net زیر مجموعه ای از .NET می باشد که برای تولید وب سایت های پویا به کار می رود.این نرم افزار در قالب مجموعه ایاز کلاسها می باشد.کلاسها حاوی کنترل های مختلفی هستند که عملکردشان را بر روی سرویس دهنده وب اجرا می کنند. این کنترل ها هر روز درطراحی صفحات وب استفاده می شوند. Asp.Net به عنوان محصولی از مایکروسافت، برروی ویندوز اجرا می شود. این محصول بر روی Windows 2000 یا نسخه های بعد از آن کار می کند.سیستم عاملWindows Server 2003 یا سایر نسخه های سیستم عامل ویندوز،نوع گسترش یافته ی سیستم عامل های معمولیهستند که برای کارهای پیشرفته طراحی شده اند.در داخل ویندوز، Asp.Net برای خواندن صفحات از روی دیسک وارسال آنها برای نتقاضی باIIS (Internet Information Server) کار می کند.متناوباً در محیط پیاده سازی دسک تاپ، Asp.Net را می توان با یک وب سرور سبک به نام Cassini امتحان کرد.این وب سرور به همراه ابزارهای تولیدی مثلVWD عرضه می شود.وقتی طراح برای اتصال به داده از کنترلهای Asp.Net استفاده می کند،فعل و انفعالی در دو سطح بیشتر صورت می گیرد.کنترلهای داده از یک فناوری به نام ADO.NET (ActiveX Data Object) استفاده می کنند،ولی خوشبختانهاستفاده از ADO.NET برای ما در پشت صحنه است.اشیاء ADO.NET به نوبه خودشان،با منبع داده در تعامل هستند.منبع داده می تواند Microsoft SQL Server (که در بخش بعد توضیح مفصل آن را می خوانید) ویا هرمنبع دیگری باشد.
بخش دوم:
بانک های اطلاعاتی
معرفی بانک های اطلاعاتی
بانک های اطلاعاتی به سه دسته تقسیم می شوند. اولین دسته،بانک های اطلاعاتی رابطه ای(relation database) نام دارد.در این نوع بانک،داده های رابطه ای درمجموعه ای از جداول و برطبق قواعد نرمال سازی سازماندهی می شوند.بانکهایMicrosoft Access ، Microsoft SQL Server، Oracle، SAP، DB2، My SQL ازنوع رابطه ای می باشند.این نوع بانک ها داده ها را درجداول(table) تقسیم بندی می کنندوجداول از رکوردها (هرسطرازجدول) تشکیل شده اند.یک جدول دارای چندین فیلد یا ستون است که مقادیر را براساس نوع آنها سازماندهی می کند.درهرستون ازرکورد مقداروجود دارد.دراکثرسیستم های مدیریتی،بانک اطلاعاتی توسط گروهی از جداول ساخته می شود.معمولاً،جداول فقط حاوی داده هستند.توصیف نحوه ی سازماندهی داده ها،اسامی فیلدها و محدودیتها،همگی درساختارجداگانه ای ازبانک اطلاعاتی که فراداده(metadata) نامیده می شود،نگه داری می شود.بانک های اطلاعاتی رابطه ای بیشترین کاربرد را درطراحی هادارد. دومین دسته از بانک ها،فایل هایXML هستند. فایل هایXML با بانک های رابطه ای متفاوت است.اولاً به جای جداول،داده ها دریک ساختاردرختی سازماندهی می شوند و شاخه های این درخت،جزء به جزء داده ها را نگه داری می کند.هر مجموعه داده و هرواحد تکی داده در یک گره(node) قرار می گیرد.برای مثال،یک فایلXML به نام test می تواند یک گره test داشته باشد که نمایانگر تنه اصلی درخت است.سپس برای هردانشجو یک شاخه وجود دارد،که در هر شاخه،زیرشاخه هایFirst Name ، Last Name و… وجود دارد. ثانیاً،یک فایل XML خودش را توصیف می کند(self-describing) بدین معنا که فراداده ها نیز درداده ها هستند.هرتکه اطلاعاتی یک برچسبHTML داردکه بعنوان محفظه ای(container) که شامل توصیف داده است عمل می کند.هرچند این ویژگی موجب بزرگ شدن فایلXML می شود،اما باعث می شود تا بدون داشتن اطلاعات فراداده نیز فهم و درک داده آسان شود. سومین نوع بانک های اطلاعاتی،فایل های Excel،فایل های متنی یا سایر فرمت های اختصاصی می باشد. از میان بانک های اطلاعاتی،بانک های اطلاعاتی رابطه ای (Relational Database) بیشترین استفاده و کاربرد را درطراحی صفحات وب دارند.اساس این بانک ها در جداول مختلف پخش می شود .ازآنجائیکه بین جداول این نوع بانک ها ارتباط برقرار می شود به آنها بانک های رابطه ای می گویند.
Server SQL و اجزاء آن
SQL Server یک سیستم مدیریتی بانک اطلاعاتی رابطه ای است .این سیستم بانک اطلاعاتی دارای سه جزء اصلی است.
1. ENGINE: به معنی موتور بانک اطلاعاتی است،و محلی است که database در آن ساخته می شود. ENGINE ها دربانک اطلاعاتی مانند یک CPUبرای یک سیستم است.هر ENGINE ،32000 بانک اطلاعاتی را می تواند پشتیبانی کند.عملیات بانک اطلاعاتی از قبیل درخواست،جستجو،حذف و…درengine پردازش می شود،همچنین بررسی مجوزها و سطوح کار کاربران به اطلاعات نیز در این قسمت انجام می شود.
2.CLIENT Tools : (ابزار اتصال و کار با موتور) با این ابزار میتوان به ENGINE وصل شد و با آن کار کرد.
3.SERVICES: (سرویس های ارائه شده توسط موتور):سرویس هایی که ENGINE آنها را ارائه می دهد،که اصلی ترین این سرویس ها بانک اطلاعاتی است .این سرویس هنگام نصب ENGINE خود به خود،Run می شود.
از آنجاییکهSQL Server بانک اطلاعاتی رابطه ای است،اطلاعات را در جدول نگه داری می کند.همانطورکه گفته شد جداول از رکوردها و فیلد ها ساخته می شود. فیلدها به دسته های زیر تقسیم می شود:
1.Single Value ( تک مقداره) : فیلدی که فقط دارای یک مقدار است.
2.Multi Value ( چند مقداره) : مقادیر موجود در فیلد یک Table باشد.
3.Non Derived ( غیروابسته) : فیلدی که مقدار آن به فیلدهای دیگرآن رکورد یا جدول وابسته نباشد.
4.Derived ( مشتق) : فیلد نباید مشتق باشد زیرا دراین صورت ما حقیقت را دردو فیلد نگه داشته ایم که اگر با هم متفاوت باشند حقیقت گم می شود.
5.Simple (ساده) : صفتی که نتوان از داخل آن درSQL با استفاده از رابطه،میان جدول ها ارتباط برقرار می کنند. انواع رابطه را می توان به دسته های زیر تقسیم کرد:
رابطه ی 1-1 :رابطه ای که از دو طرف یک به یک باشد،یعنی یک رکورد از جدول Aبا یک رکورد از جدول B متناسب باشد و باالعکس.مثال:هر استاد فقط یک دانشجو دارد،یک دانشجو با یک استاد درس دارد.
رابطه ی 1-m : رابطه ای که از یک طرف یک به یک باشد و ازطرف دیگر یک به چند باشد. مثال:هر استادچنددانشجو دارد،هر دانشجو یک استاد دارد. رابطه ی n-m : رابطه ای که از دو طرف یک به چند باشد.مثال:هر استادچنددانشجو دارد،هردانشجو چند استاد دارد.
کلیدها ی موجود در SQL:
درهر جدول فیلدی به عنوان Key قرار می گیرد.این کلیدها انواع مختلفی دارند که به بیان آنها می پردازیم:
1.Super Key (S.K): به فیلد یا مجموعه ای از فیلها یک ابر کلید یا S.K می گوییم اگروفقط اگر دارای این دو شرط باشند،اولاًمقدار آن منحصربه فرد باشد.ثانیاً مجموعه فیلدها کمینه باشند،یعنی آن مجموعه را نتوان از آنی که هست کمتر کرد.مثال:شماره شناسنامه یا کد دانشجویی می تواندیک S.K باشد.چون علاوه بر اینکه واحد و منحصر به فرد هستند،کمینه نیز می باشند.هرTable حتماً باید یک ابر کلید داشته باشد،در بدترین حالت،همه اطلاعات یک رکورد(مجموعه فیلدها) یک ابر کلید است.
2.Primary Key (P.K):طراح بانک اطلاعاتی بنا بر قوانین موجود و خواست خود،یکی از ابر کلیدها را به عنوان کلید اصلی (P.K) انتخاب می کند. P.K دارای دو ویژگی مهم می باشد: اولاً باید منحصر به فرد باشد.ثانیاً مقدار آن غیرnull باشد.null به معنای صفر و یا یک رشته ی خالی نمی باشد بلکه یک مفهوم خاص است.در هنگام انتخاب P.K باید به این نکات توجه داشته باشیم که تغییر پذیری P.K باید کم باشد و بهتر است اصلاً تغییر نکند.تعداد فیلدهای P.K هر چه کمتر باشد بهتر است.طول آن کم باشد.
3.Alternate Key (A.K):مجموعه ی ابرکلید منهای P.K را کلید ثانویه(فرعی) می گوییم،که شرط آن اینست که یکتا باشد.دلیل استفاده از A.K صحت اطلاعات است،که از خود اطلاعات هم مهمتر می باشد.A.K کنترل می کند که حقیقت اطلاعات گم نشود.
4.Foreign Key (F.K) :اگر فیلدی به نام T1 در جدولA1 وجود داشته باشد،به طوریکه همان فیلد در جدولA2 کلید اصلی باشد،به فیلد T1در جدول A1 کلید خارجی گفته می شود.به دلیل اینکه T1مقادیر خود را از کلید اصلی می گیرد،به آن کلید خارجی می گوییم.
داده ها و انواع آن در SQL
داده ها به اطلاعاتی گفته میشوند که در یکی از انواع استاندارد تعریف شده در بانک اطلاعاتی ذخیره میشوند. همانطور که از نام داده بر می اید، داده به هر ان چیزی گفته میشود که کاربر در بانک اطلاعاتی وارد میکند که از جمله : نام . عدد و هر متن که میتواند ترکیبی از اعداد و حروف باشد و حتی گرافیک و هر چیزی که به ذهنتان میرسد میتواند داده باشد .
این داده ها در بانک اطلاعاتی میتوانند پردازش شوند و یا حتی تغییر و ویرایش شوند . انواع داده ها در بانک های اطلاعات5ی برای مشخص کردن نوع فیلد به کار میروند که الزاماً پس از تعیین نوع فیلد تمامی داده ها در آن فیلد یا ستون از بانک اطلاعاتی،باید از همان نوع داده باشند . داده ها در بانک اطلاعاتی به سه نوع اصلی : متن ،اعداد ، تاریخ یا زمان دسته بندی میشوند . و اما هر یک از سه نوع فوق انواعی دارند که به انها اشاره میکنیم :
نوع کاراکتر های ثابت : این نوع داده ها برای ذخیره رشته کاراکترها و حتی اعداد و یا ترکیبی از انها استفاده میشود طرز تعریف انها نیز به این گونه است که ابتدا کلمه char و سپس عددی که حداکثر طول این نوع رشته ها را مشخص میکند وارد میکنیم : CHAR (N) این نوع داده ها به این ترتیب هستند که فرضاً اگر حداکثر طول آنها 10 باشد (یعنی N=10 ) هر مقداری که شما بعنوان ورودی به آنها بدهید به شرطی که کمتر از 10 باشد را قبول میکنند . فرض کنیم داده ای پنج کاراکتری وارد کنیم که در این صورت این پنج کاراکتر در این نوع داده ذخیره میشود و پنج کاراکتر باقیمانده با SPACE پر میشود . معایبی که این نوع داده ها دارند آنستکه اگر بصورت نادرستی از آنها استفاده شود فضای زیادی را بیهوده از بانک اطلاعاتی شما اشغال می کند که این خود یک نقطه ضعف است . فرضاً میتوان از این نوع داده ها برای طولهای با مقدار ثابت استفاده کرد مانند شماره ملی .واضح است که این نوع کاراکتر برای مقادیری همچون نام افراد که میتواند طول متغیری داشته باشد مناسب نیست.
نوع کاراکترهای با طول متغیر: در این نوع داده،طول فیلد برای هر رکورد متغیر است،یعنی بسته به اطلاعاتی که در فیلد ریخته می شود،طول آن تعیین می شود.این نوع کاراکترها بر خلاف نوع فوق میتوانند داده های با طول متغیری را بدون اتلاف حافظه ذخیره کنند . که طرز اعلان آن بصورت VARCHAR (N)می باشد. N عددی است که نشانگر بیشینه طول رشته کاراکتری شما در آن فیلد است. البته نوع دیگری بنام VARCHAR2 نیز هست که همان VARCHAR است با این تفاوت که از اولی در بانک اطلاعاتی Oracle استفاده میشود و از دومی در بانک اطلاعاتی SQL Server. بنابراین بهتر است برای مقادیری با طول متفاوت از این نوع داده استفاده شود . در ضمن این نوع داده ها مانند نوع قبل میتوانند ترکیبی از اعداد و کاراکتر ها و یا یکی از آن دو باشند .
اعداد از نوع صحیح : اعداد صحیح تنها اعدادی هستند که میتوانند مقادیر مثبت یا منفی داشته باشند که فاقد دقت اعشاری میباشند . در واقع این مقادیر تنها اعداد کامل را میپذیرند . برای داده هایی با طول متفاوت از نوع داده های مناسب خود استفاده می کنیم. tinyint (به طول 1 بایت) ، smallint (به طول 2 بایت) ، int (به طول 4 بایت) و bigint (به طول 8 بایت).
اعداد دسیمال : این نوع مقادیر برعکس مقادیر صحیح میتوانند مقادیر اعشاری را نیز شامل می شوند. البته منظور،اعداد اعشاری با ممیز ثابت می باشد. و طرز تعریف آنها به صورت زیر است : DECIMAL (n,m) که n در مقدار فوق طول عدد است که علاوه بر مقدار صحیح مقدار اعشاری را نیز شامل میشود . و منظور از m میزان دقت اعشار است . بعبارتی دیگر تعداد ارقام پس از نقطه اعشار است بطور مثال :با decimal (5,2)می توان عدد 123.45 را تعریف کرد.
دسیمال با ممیز شناور : این نوع اعداد به گونه ای هستند که نقطه ممیز آنها قابل جابجایی است و محدودیت انواع دسیمال معمولی را ندارند. اعداد REAL برای مقادیری هستند که دقت نقطه ممیزآنها از این نوع است که برای آن عدد N باید مقداری بین [1-21] باشد و برای دقت اعشاری مضاعف از نوع DOUBLE PRECISION استفاده میشود که مقدار N درآن نیز باید بین [22-53] باشد .
نوع تاریخ و زمان : این نوع همانطور که از نامش پیداست برای ذخیره زمان و تاریخ به کار میرود. این انواع با DATE و TIME مشخص میشوند . که طول نوع داده ی datetime 8بایت است و طول نوع داده ی smalldatetime 4 بایت می باشد.
که برای DATE مقادیر year , month , day و برای تاریخ مقادیر hour , minute , second میتوانید داشته باشید .
داده های از نوع تهی : این نوع داده ها داده هایی هستند که هیچ مقداری ندارند و گاها پیش می اید که در یک فیلد از رکوردی خاص داده ای برای ورود نداشته باشیم که مقدار NULL برای آن در نظر گرفته میشود . برای NULL کردن کافیست از خود این کلمه استفاده کنید یا از دو تک کوتیشن به هم چسبیده که فاصله ای با هم ندارند '' استفاده کنید . در ضمن مقدار 'NULL' ،یک مقدار null نیست بلکه رشته ای است که بصورت لیترال تعیرف میشود. لیترال نوعی است که عموماً بصورت یک رشته است که توسط خود کاربر وارد میشود . این نوع مخصوص یک فیلد یا ستون نیست . بلکه از این نوع تنها برای مشخص کردن سریع آن توسط کاربر استفاده میشود .
بخش سوم:
نرم افزار VWDصفحه ی Master در محیط VWD
صفحه Master چینش کلی مورد استفاده در کلیه صفحات سایت را تعریف می کند. صفحه Master بعنوان پدر کل سایت،چینش سایر صفحات را کنترل کرده و مشخص می کند که سرآمد هر صفحه به چه بزرگی باشد،لینک های موجود در سایت در کجا قرار بگیرد و متنی که درپاورقی صفحات نشان داده می شود،چه باشد. صفحه Master حاوی برخی از محتویاتی که در صفحات سایت وجود دارند،می باشد.بنابراین استاندارد متن اورقی کپی رایت را می توان در این صفحه قرار داد و همچنین آرم(logo) اصلی سایت را نیز می توان در بالای این صفحه منظور کرد.پس از تعریف ویژگی های استانداردبرای صفحه Master،می توانیدتعدادی جانگهدار(Placeholder) به آن اضافه کنید.جانگهدارها مناطقی بر روی صفحه هستند که جاهائیکه محتویاتشان از صفحه ای به صفحه ی دیگر تغییر می کند را تعریف می کنند.صفحه محتوی(Content) صفحه ای مبتنی بر صفحه Master است.این صفحه جایی است که محتویات هر صفحه سایت را اضافه می کنید و این محتویات از صفحه ای به صفحه دیگر متفاوت هستند.صفحه محتوی شامل متن،HTML و کنترل هایی در برچسب های<aso:content> می باشد.وقتی صفحه محتوی مورد درخواست واقع می شود،محتویاتش با یک کپی از صفحه Master ترکیب می شود بطوریکه محتویات خاص تعریف شده در صفحه محتوی در جانگهدارهای مخصوص موجود در صفحه Masterقرار می گیرند.سپس کل بسته برای مرورگر ارسال می شود.برای ایجاد یک صفحه Masterدر محیط نرم افزارVWD،روی ریشه سایت راست-کلیک کرده،گزینه Add Item را انتخاب و نوع صفحه را Master انتخاب کنید.نام صفحه Masterجدید بطور پیشفرض Master Page. master است و در ریشه سایت قرار دارد. صفحه Master سه قسمت اصلی دارد: قسمت اول: شامل برچسب ها و طرح های اصلی صفحه است که برای هر صفحه ای لازم است.دقت کنید،این برچسبها در صفحات محتوی ظاهر نمی شوند. قسمت دوم صفحه Master جائی برای اسکریپت هائی است که بر روی کلیه صفحات اجرا می شوند(مثل کد Page Load که هر دفعه اجرا می شود)
در قسمت سوم، صفحه Master شامل HTML مربوط به چینش،و برچسب های شروع و پایان است.چیزی که از صفحه محتوی گرفته می شود در بین این برچسب ها قرار خواهد گرفت. بطور خلاصه،هر صفحه Masterباید شامل این عناصر باشد:الف:برچسب های اصلیHTML و XML ب:عبارت <%@master…%> در اولین خط . پ:برچسب < asp: Content Placeholder> با یک ID . البته می توان صفحه Master با سطوح چند گانه نیزایجاد کرد.این خصوصیت راهی را مهیا می کند تا بتوان محتویات استاندارد از سطوح مختلف یک سلسله مراتب را نمایش داد.VWD ابزاری برای ساختن خودکارصفحه Master چند سطحی ندارد.در واقع اگر سطوح مختلف چندگانه داشته باشید،صفحات مربوطه را فقط می توانید در حالت Source View باز کنید.برای ایجادصفحات Master چندگانه،باید برچسب های صفحه سطح میانی (middle level page) را استفاده کنید.این برچسب ها هم صفحه Master خود(یک سطح بالاتر)وهم جانگهدارهای محتوی خود(برای سطح پایین تر)نشان می دهد. بنابر گفته های قبل به یاد داری که در اولین خط صفحه Master باید عبارت <%@master…%> وجود داشته باشد و خط اول سطح پایین تر یا صفحه محتوی باید <%@page mastepagefile=%> باشد.در مورد یک صفحه میانی که هم به مفهموم صفحه Master و هم صفحه محتوی است،برچسب باید با %@master…شروع شود وشامل mastepagefile=% نیز باشد.
کنترل های موجود در VWD
اگر به جعبه ابزار (toolbox) VWD نگاه کنید،بخش ها مختلفی خواهید دید که هر یک از آنها شامل مجموعه ای از ابزار هستند.بسیاری از این ابزار،کنترلهای سرویس دهنده هستندکه دربرنامه های کاربردی Asp.NET مورد استفاده قرار می گیرند. یک کنترل سرویس دهنده در کگد منبع یک صفحه Asp.NET به صورت یک برچسب ظاهر می گردد.این برچسب ها عناصر HTML استاندارد نیستند،بنابر این اگر بر روی صفحه ای قرار گیرند،برای مرورگر قابل فهم نخواهد بود.اما وقتی یک صفحه Asp.NET را از طریق مرورگری درخواست می کنید،این برچسب ها به صورت پویا به عناصرHTML تبدیل می شوند.در این toolboxنه تنها عناصر استانداردصفحه وب(مثل دکمه های رادیویی(radio button)،هایپرلینک هاولیست های کشویی بازشو)رادر اختیار دارید،بلکه مجموعه ای از انواع مختلف کنترل های دیگر نیز برایتان قابل دسترس است.مجموعه کنترل های موجود در VWD به شرح زیر است:
1.استاندارد(Standard):کنترل های مهمولی هستند که 90% کل صفحات را می سازند.اینک ابزارهای موجود در این کنترل را بیان می کنیم؛ Label ، Textbox ، Button، Link Button، Image Button، Hyperlink، Dropdown List، List Box، Checkbox، Radio Button، Imageو…
2.داده(data): کنترل هایی که برای اتصال به منابع داده(بانک هایاطلاعاتی یا فایلهای XML) بکار می روند.ابزارهای موجود در این کنترل بدین شرح می باشد Grandview ، Fatalist، Details View، Form View، SqlDataSource، XmlDataSourceو…
3.اعتبار(Validation):کنترل هایی که برای تعیین اعتبارورودی های کاربر استفاده می شوند.مثلاً برای اطمینان از اینکه داده هایی را که کاربر وارد می کند صحیح باشد و یا برای اینکه کاربرحتماً Textbox را پر کند.ابزارهای موجود در Validation به شرح زیر می باشد: RequiredFieldValidator: این نوع Validation مقدار یک کنترل را با یک مقدار ثابت مقایسه می کند،اگر مخالف هم باشند مقدار آن کنترل را تایید می کند،که بطور پیشفرض آن مقدار ثابت یک رشته خالی است. RangeValidator :این کنترل یک بازه می گیرد و چک می کند که آیا درون بازه ی مورد نظر قرار دارد یا خیر.
RegularExpressionValidator: مقدار یک کنترل را با یک مقدار با قاعده (که فرمت آنرا خودمان تعیین می کنیم) بررسی می کند. CompareValidator: این کنترل سه کار انجام می دهد؛ اول اینکه مقدار یک کنترل را با مقدارثابت مقایسه می کند،دوم اینکه مقدار دو کنترل را نیز باهم مقایسه می کند و کارسوم اینکه نوع مقدار ورودی را بررسی می کند مثلاً اینکه آیا ورودی بصورت عددی دریافت شده است؟Validation Summary: مجموع خطاهایی که Validation ها دارند در این ابزار نشان داده می شود. و در نهایت کنترل CustomValidato می باشد. 4.ناوبری(Navigation):کنترل هایی که توسط آنها می توان در قسمت های مختلف سایت گردش کرد،مثل منوهای پویا و هایپرلینک ها.ابزارهای موجود در این کنترل Sitemap Path،Menu،Tree Viewمی باشد.
5.ورود (Login): مجموع کنترل هایی که توسط آنها به را حتی می توان از یک سایت کاملاًباز به سایتی که دارای نواحی شخصی است،وارد شد.کنترل های موجود در آن Login،Login View،Password Recovery و… می باشد. 6.بخشهای وب (Web Parts): کنترل هایی که توسط آنها امکان ایجاد سایت های Sharepoint_Style با بخش های drag and drop که به Web Part مشهورند،وجود دارد.کنترل های موجود درآن WebPartManager،ProxyWebPartManager،WebPartZone و… می باشد. 7.HTML:عناصر ساده HTML در آن وجود دارد.از جمله این عناصر به موارد زیر می توان اشاره کرد:input،select ، divو…
بخش چهارم:
معرفی سیستم های الکترونیکی E-Learning چیست؟
امروزه استفاده از رایانه,زندگی بشر را در تمامی وجوه زندگی دگرگون ساخته است. آموزش الکترونیکی یا E-learning به طور خلاصه عبارت است از استفاده از IT (فناوری اطلاعات) در امر آموزش. این کار عمدتاً از طریق نرم افزارها، یا اینترنت، یا تلفیقی از این دو صورت می پذیرد. آموزش می تواند از سطوح ابتدایی تا دروس دانشگاهی و نیز آموزش فنون وابسته به کامپیوتر، زبان خارجی و … را شامل گردد. از مهم ترین مزایای این شیوه می توان دسترسی یکسان تعداد زیادی دانش آموز یا دانشجو به مطالب و امکانات مجازی(آزمایشگاه، فیلم و …) را نام برد. همچنین اگرE-learning به درستی و با ظرافت اجرا شود، امکان خلاقیت ها و یافته های ذهنی را به فراگیرنده می دهد. از طرفی باید توجه داشت که مقوله روان شناسی آموزش در این مبحث از اهمیت فراوانی برخوردار است و کارشناسان همواره بر روی موضوعاتی چون ایجاد جدیت در فراگیری، بحث و تحقیق داشته و دارند و جدیدترین و مفید ترین راه کارها را ارائه می دهند. بسیاری براین باورند که آموزش الکترونیکی در صورت اجرای درست می تواند زمینه ساز دو طرفه کردن فرآیند آموزش گردد. آموزش به شکل سنتی اش ظاهراً رابطه ای دو طرفه به نظر می رسد (رابطه بین تعلیم دهنده و تعلیم گیرنده) ولی عملاً شاهد هستیم که در بسیاری از کشورها معلمان و استادان ، مطالب درسی را به صورت ثابت و یکنواخت ارائه می کنند و نهایتاً سئوالات و اشکالات دانش آموزان و دانشجویان را پاسخ می دهند. به عبارتی دیگر ، کم تر شاهد بازخور (feedback) در امر آموزش هستیم. از طرفی دیگر، روش آموزش سنتی، دانشجوها و دانش آموزان با قابلیت های فراگیری متفاوت را مجبور به یادگیری اندازه ای معین از یک موضوع مشخص در مقطع زمانی ثابتی می کند. نتیجه آن،یادگیری متفاوت در زمان یکسان می گردد. در حالی که هدف آموزش الکترونیکی، عکس این قضیه است. ظرف مدت ۵ سال اخیر، موسسات فراوانی ( به خصوص در آمریکا) اقدام به برگزاری دوره های علمی و فنی مبتنی بر روش E-learning کرده اند ولی اکثراً با نگاه تجاری و هدف سوددهی وارد این مقوله شده و شکست خوردند. از نمونه های موفق و پایدار می توان به دوره های تخصصی شرکت های کامپیوتری مایکروسافت، سیسکو، سان میکروسیستمز، اوراکل، ماکرومدیا و … اشاره کرد. دانشگاه ها نیز عموماً برنامه مدون و منظم و گسترده ای در این خصوص نداشته اند و فعالیتهایشان اکثرا محدود بوده است. انجمن مهندسان برق و الکترونیک (IEEE) طرح نسبتاً مفیدی ارائه کرده است ولی در این میان، دانشگاه MIT با تمام قوا به میدان آمده است تا به عنوان پیش قراول، بسترساز مقوله آموزش الکترونیکی در میان دانشگاه های معتبر و با سابقه گردد. طرح مذکور(Open Space Course Ware ) یا به اختصار OCW نام دارد و از سپتامبر ۲۰۰۲ رسماً مورد استفاده عموم قرار گرفت. فعلاً برای شروع، برخی دروس تعدادی از رشته های دانشگاهی بر روی اینترنت ارائه می گردند. رئیس دانشگاه اعتقاد دارد با گسترش و تبلیغ این پروژه در سایر موسسات و دانشگاهها بتوان شبکه جهانی علوم و فنون تشکیل داد و بهبود رقابتی کیفیت آموزش باعث بهبود کیفی اینترنت نیز بشود. وی اظهار می دارد در اینترنت مطالب فراوان ولی بی نظم وجود دارد که وقت زیادی از دانشجویان و پژوهشگران ( برای جست و جو) گرفته می شود، لذا دسته بندی موضوعی مطالب و ارائه سرفصل ها و مطالب مفید اقدامی ارزشمند خواهد بود. هنگامی که در ۴ آوریل ۲۰۰۱ رئیس این دانشگاه خبر از یک پروژه ۱۰ساله برای Online کردن تقریبا همه دروس دانشگاه داد، بر رایگان بودن آن نیز تاکید کرد وی اعتقاد دارد این پروژه، از هویت اصیل MIT نمی کاهد بلکه ارزش مدرک و عنوان MIT را بالاتر خواهد برد وجذب دانشجو را بهبود خواهد بخشید. فواید این پروژه عبارتند از : ▪ همگانی تر کردن دوره های درسی دانشگاه و گسترش استفاده از آن (کاهش محدودیت ها) ▪ توسعه و افزایش ابتکارات و خلاقیت ها در امر آموزش و نیز یادگیری (به دلیل فراوانی منابع در دسترس و ایجاد رقابت بین موسسات آموزشی و نیز دانشجویان)
▪ بهره گیری از فواید تجاری (از قبیل افزایش تقاضا برای کسب مهارت ها و علوم و فنون جدید، کاهش سفرها و منافع ایمنی و مالی ناشی از آن و …) به گفته مسئولان MIT این طرح در۲ سال اول ( برای ارائه ۵۰۰ عنوان درسی تا سپتامبر ۲۰۰۳) ۱۱ میلیون دلار هزینه خواهد داشت. هزینه کلی طرح رسماً اعلام نشده، ولی نیویورک تایمز در گزارشی آن را بالغ بر ۱۰۰ میلیون دلار برآورد کرده است. لازم به ذکر است که این طرح با پشتیبانی مالی یونسکو انجام می پذیرد.ارزیابی های کارشناسان نیز نسبت به این طرح، اکثرا مثبت بوده است. به اعتقاد اکثر آنان، رایگان بودن OCW و نیز پشتوانه علمی و سابقه دانشگاه MIT ، طرح را از همه طرح های مشابه متمایز کرده است. آنان اعتقاد دارند با این روش، ایده ها و خلاقیت ها مستقیما آزمایش و تجربه شده و وارد چرخه های بعدی آموزش خواهند شد. همچنین این پروژه به توسعه آموزش عالی و ضریب نفوذ تحصیلات تکمیلی در کشورهای در حال توسعه کمک خواهد کرد.
سیستم های آموزش(E-learning) همزمان
سیستم های آموزش از راه دور به دو دسته آموزش همزمان و غیر همزمان تقسیم می شود.روش همزمان آن به یکی از صورت های زیر است:
1.کنفرانس ویدیویی دو طرفه:در این روش،استاد و دانشجو همدیگر را می بینند و می توانند با همدیگر به گفت و گو بپردازند.در چنین حالتی به پهنای باند زیادی برای انتقال صوت و تصویر نیاز است.هر چند با استفاده از فنون فشرده سازی صوت وتصویر،همچونMPEG4 می توان پهنای باند را تا حدود 256 کیلو بیت بر ثانیه کاهش داد.این نوع آموزش،همان دیدگاه سنتی آموزش است که معلم در سر کلاس حضور داشته باشد.تنها تفاوت این سیستم با روش قدیمی آموزش،عدم نیاز به حضور فیزیکی استاد در سر کلاس است.
2.کنفرانس صوتی دو طرفه:بر خلاف کنفرانس ویدیویی،استفاده از صوت به همراه تصاویر جانبی برای آموزش از راه دور,کارایی بیشتری دارد.چرا که توجه دانشجو بیش از آنکه به معلم جذب شود،محتوای درس را تحت الشعاع قرار می دهد.در این سیستم تصویر یکدیگر را نمی بینند،آنها فقط اسلایدها را دیده و صدای همدیگر را می شنوند.در این سیستم به پهنای باند کمی حدود 33 کیلوبیت برثانیه از هر طرف مورد نیاز است که با دو خط تلفن نیز در دسترس قرار می گیرد.لذا هزینه این روش از حالت قبل کمتر است
3.روش دیداری_شنیداری:در این شیوه از دو روش قبل استفاده ممی شود.هرگاه استاد اسلاید ندارد,تصویر او نمایش داده می شود و هر گاه مطلبی با اسلاید نشان داده می شود،فقط اسلاید و صدای او شنیده می شود.صدا و تصویر دانشجویان نیز با نظر استاد دیده و شنیده می شود.این روش بسیار مناسب است و از قابلیتهای دو روش قبل به نحو احسن بهره می گیرد.هرچند از پهنای باند به صورت مناسب استفاده نمی شود.
سیستم های آموزش(E-learning) ناهمزمان
در این شیوه دروس آموزشی از قبل تهیه و به گونه ای ذخیره می شود و دانشجویان می توانند به آنها گوش دهند.این حالت از یادگیری نیز با روشهای گوناگونی قابل اجرااست.این روشها به شرح زیر است:
1.استفاده از ضبط ویدیویی: از روش های قدیمی آموزش از راه دور محسوب می شود.در این حالت کلاس درس استاد با استفاده از نوارهی ویدیویی(یا CD های صوتی تصویری) ضبط شده و در اختیار آنان قرار می گیرد.هزینه این روش بسیار کم استوبه تدریس و تکثیر محدود می شود.
2.استفاده ازCD های آموزشی: در این روش از برنامه های کامپیوتری برای فهم درس و شبیه سازی محیط آزمایشگاهی استفاده می شود. هزینه این روش نیز کم است اما به نسبت ضبط ویدیویی هزینه بیشتری دارد.
3.استفاده از پخش وبی(Web Casting) : استفاده از وب در آموزش از راه دور یکی از ابزارهای موثرآموزشی بشمار می آید که قادر است تمام محیط های متنی,صوتی و ویدیویی را ترکیب کند.روشهای مختلفی برای توسعه برنامه های کاربردی تحت وب وجود دارد که از جمله آنها می توان به ASP،JSP،CGI،ISAPI و ActiveX (که در بخش های بعدی توضیح می دهیم) اشاره کرد.در این شیوه,درس با روشهای مختلف برنامه نویسی،روی یک سایت قرار می گیرد و دانشجویان با استفاده از خطوط اینترنت،درس مورد نظرشان را یاد می گیرند.با توجه به روش مورد استفاده,پهنای باند مورد نیاز نیز نیز متفاوت خواهد بود.در این روش،به نحو احسن از فناوری اطلاعات استفاده می شود و امکان استفاده از استاد در همه زمانها،وابستگی زمانی و مکانی استفاده از کلاس را از بین می برد.هزینه این روش بیش از دو روش گذشته است،اما حسن آن اینست که دانشجویان هر جا و هر زمان می توانند از آن استفاده کنند.
امنیت در E-Learning
شبکه های رایانه ای به سرعت در حال گسترش هستند؛ به گونه ای کعه اگر در سال 1986 فقط تعداد معدودی از رایانه ها در یک مرکز کوچک به یکدیگر متصل می شدند،در سال 1997 بیش از 16 میلیون رایانه در 85 کشور جهان به شبکه اینترنت متصل شده و هر ده ماه این رقم دو برابر می شود.این گونه شبکه ها علاوه بر مزایا،معایبی نیز دارند.به عبارت بهتر چون اطلاعات در شبکه های کامپیوتری در محیط انتقال به اشتراک گذاشته می شود و امکان استفاده باالقوه آن برای دیگران نیز مهیا خواهد شد،این موضوع در سیستم های امنیتی_تجاری خطر بزرگی است اما در E-Learningخطرهای دیگری نیز وجود داردو آن اینست که یک اخلال گر می تواند این اقدامات را انجام دهد:تغییر محتوا، از کار انداختن سرویس.برای اجتناب از این موارد باید تمهیداتی در نظر گرفته شود که از مهمترین راه کارهای آن می توان به روش"رمز نگاری داده ها"و احراز هویت و استفاده از"خطوط اختصاصی"اشاره کرد.
E-Commerce چیست؟
.تکنولوژی اطلاعات به عنوان لبه پیشرو تکنولوژی های جدید در سه پارامتر سرعت ، دقت و هزینه فعالیتها میتواند تاثیر گذار باشد .تکنولوژی اطلاعات میتواند پنج مزیت عمده ایجاد کند : ارزانتر (تولید خرجیهای مشابه با هزینه کمتر )،بیشتر (تولید خروجیها ییشتر و با هزینه مشابه ) سریعتر (تولید خروجیهای مشابه با همان هزینه در زمان کمتر )،بهتر (تولید خروجی های مشابه با همان هزینه وهمان زمان). ولی با تجارت الکترونیک ، موانع جغرافیای و تفاوت روز و شب در مناطق مختلف را از میان بر میدارد و باعث ارتقای ارتباطات و گشودگی اقتصادی در سطح ملی وبین المللی میشود . تجارت الکترونیک طریق هدایت کسب و کار را تغییر میدهد و بدین ترتیب باعث تبدیل بازارهای سنتی به شکلهای جدیدتر میشود. در حالی که تجارت الکترونیکی و به خصوص نوع اینترنتی آن باعث ایجاد تغییرات چشمگیر در شرایط رقابتی شده است (به عنوان مثال ظهور و ورود سریع رقبای جدید ، جهانی شدن رقابت ، رقابت شدید در استانداردها و …) فرصتهای جدیدی برای جایگزینی کسب و کار ، ایجاد مشاغل و فرصتهای شغلی جدید در زمینههای مختلف ایجاد کرده است . به طور کلی میتوان فواید تجارت الکترونیک را در قیاس با تجارت سنتی در موارد زیر دانست : حضور در بازار به شکل " همه جا ، همه کس ، همه وقت " . در زمینه معرفی و تبلیغ محصول ، استفاده از تجارت الکترونیک ، به خصوص با استفاده از اینترنت ، دچار محدودیتهای موجود در تبلیغات متعارف نبوده و در هر زمان در دسترس است و میتواند برای هر گروه خاص مصرف کنندگان تغییر یابد . تجارت الکترونیک ، کانالهای معمول فروش را تغییر میدهد و امکان فروش مستقیم و بدون واسطه محصولات و خدمات جدید را به بازارهای استراتژی و تازه فراهم میکند . تاثیر گذاری تجارت الکترونیک در تمام سطوح تجارت قابل لمس و بررسی است از جمله : رقابت (Competition) ،بازاریابی (marketing) ،توزیع(distribution) ،خدمات و سرویس دهی (services) وفروش (sales) تجارت الکترونیک ، کانالهای معمول فروش را تغییر میدهد و امکان فروش مستقیم و بدون واسطه محصولات و خدمات جدید را به بازارهای استراتژی و تازه فراهم میکند . فروش آنی و روی خط (online) به مقدار زیادی هزینه های فروش و نیاز به نیروی انسانی را کاهش می دهد . زمان عرصه کاهش می یابد و محصولات جدید می توانند به محض آماده شدن در معرض فروش روی خط قرار گیرند . خدمات پس از فروش به مشتری میتواند با امکان خبرگیری سریع دو طرف از یکدیگر وعرضه انواع خدمات به مشتری تسهیل و تکمیل شود . ورود به بازارهای جدید واستراتژیک بدون در نظر گرفتن مرزها میسر است .فرصتهای تجاری و شغلی جدیدی به وجود میآید .قدرت تجزیه و تحلیل کالا افزایش مییابد بطوریکه اطلاعات بدست آمده از مشتریان برای تولید کالاهای جدید یا تغییر در تولید کالاهای قبلی مورد استفاده قرار میگیرد . قدرت تجزیه وتحلیل بازار افزایش مییابد و شرکت میتواند بر اساس این تجزیه وتحلیل استراتژیهای فروش یا بازاریابی خود را در یک یا چندعرصه تغییر دهد . اما در مقابل تجارت الکترونیک مسائلی را با خود به همراه دارد که در صورتیکه برای آنها راه حل مناسبی اتخاذ نشود میتواند ویژگی هایش را تحت الشعاع قرار دهد از جمله : سهولت درسرقت اسرارو رموز محرمانه کاری شرکتها ،تبیین قوانین مالیاتی دقیق ،تبیین قوانین گمرکی دقیق ،آشنایی با قوانین کشورها ، رسوم و فرهنگهای ملل ،کلاهبرداری از طریق کارت های اعتباری اعتماد ،امنیت (جنبه های مختلف امنیت : تشخیص هویت ، عدم انکار ، یکپارچگی اطلاعات ، محرمانگی اطلاعات ) .علاوه براین تمام کالاها به طور صد درصد قابل ارائه وفروش از طریق اینترنت نیستند . آزمونی تحت عنوان آزمون خرید الکترونیکی برای تعیین شایستگی محصولات یا خدمات جهت عرضه در سیستم تجارت الکترونیک پیشنهاد میکند : مشخصات محصول : میزان وابستگی انتخاب محصول به حواس پنجگانه انسان . هرچه برای انتخاب محصولات و خدمات به حواس لامسه ، بویایی و چشایی نیاز بیشتری باشد ، امکان خرید الکترونیکی آن کمتر خواهد بود ، در حالیکه حواس بینایی و شنوایی از طریق رسانههای الکترونیکی قابل انتقال می باشند .آشنایی و اطمینان مشتری به محصول : محصولاتی که مشتریا ن از قبل با آن آشنا بوده ونسبت به آن اطمینان دارند ، راحت تر خریداری می شوند .ویژگیهای مشتری : بسیاری از مشتریان ممکن است به دلایل مختلف خرید الکترونیکی را نپذیرند. در مقابل بسیاری از مشتریان به منافع و مزایای روشهای جدید و آسان خرید واکنش مثبت نشان خواهند داد .
فصل 3
کارانجام شده
ابتدا به چگونگی ساخت جداول در SQLمی پردازیم.بانک از پنج جدول تشکیل شده است که که هریک از آنها دارای فیلدهایی هستند که به اختصار توضیح می دهیم.Contact_Table:جدول ارتباطات که نظر افراد را در آن ثبت می شود،ازشش فیلد تشکیل شده است که عبارتند از Contact_Name (نام فرد)، Contact_Familly(نام خانوادگی فرد) ،Contact_Email (ایمیل فرد)، Contact_Nazar (نظر فرد) ، CONTACT_Date(تاریخی که نظر داده شده است) وهمچنین ContactT_ID که کلید اصلی جدول نیز می باشد.
maghaleh_Table:این جدول دارای دوفیلد می باشد maghaleh_ID(که درآن شماره ای مخصوص هر مقاله درج می گردد)، maghaleh_Text(متن مقاله). دراین جدول مقالات ارسالی ثبت می شود.
Doctor_Table:جدول پزشکان سایت است که درآن مشخصات پزشکانی که در این مشاوره پزشکی شرکت می کنند وجوددادردواز سه فیلد تشکیل شده است که عبارتند از Doctor_Username (کدعبور پزشک) ،Doctor_Name (نام پزشک)،Doctor_Familly(نام خانوادگی پزشک)است.
Moshavereh_Table:این جدول دارای هفت فیلد می باشد،که عبارتنداز Moshavereh_MemberUserName، Moshavereh_RequestDate ، Moshavereh_Text و…. میباشد .در این جدول متن سوال پرسیده شده وتاریخ آن وکد عبور فرد پرسشگر وهمچنین نام پزشک پاسخ دهنده بعلاوه پاسخ وتاریخ پاسخ دادن نگه داری می شود.
Member_Table:دراین جدول مشخصات اعضاء سایت درج می گرددوازیازده فیلد تشکیل شده است که عبارتند ازMember_Username ،Member_Name، Member_Family،Member_Email و… تشکیل شده است که کدعبور افراد ،نام ونام خانوادگی،ایمیل، تلفن ،تاریخ تولد ،میزان تحصیلات،جنسیت ،تاهل ،عکس وتاریخ عضویت فرددرسایت نگه داری می شود.
بین جدول اعضا با مشاوره وپزشک ارتباط برقرار نموده ایم به طوریکه پزشک با همان سوالی که فرد مورد نظر پرسیده است پاسخ بگوید.
طراحی قالب سایت :
ما برای قالب سایت از Template های موجود در اینترنت استفاده کردیم.قالب مورد نظر خود را در سایت www.besttemplate.come پیدا کردیم.بعد از انتخاب قالب،آنرا دانلود کردیم.قالب دانلود شده بصورت فایلPSD می باشد.البته این قالب نیاز به تغییراتی نیز داشت.برای انجام یک سری تغییرات،این فایل PSD را در نرم افزار فتوشاب باز کردیم.لینک های موجود در این قالب،لینک های مورد نظر ما نبود به همین خاطر لینک های آنرا پاک کردیم.البته لازم به ذکر است که برای اینکه بتوان در فتوشاپ،لینکی را تغییر یا پاک کرد،باید قالب را برش بزنیم که بعد از برش زدن،قالب به slice هایی تبدیل می کند.که ما slice های مربوط به لینک ها را پاک کرده و به جای آنها لینک های مورد استفاده در سایت را قرار دادیم. رنگ زمینه سایت را نیز تغییر دادیم .عکس قالب سایت در زیر آمده است:
صفحه اصلی :
دراین صفحه درباره فعالیت هاوتاریخچه تاسیس مرکزمشاوره،بهداشت ودرمان شهید شوریده و انواع لینک های سایت رامشاهده می نمایید. این لینک ها عبارتند از درباره مرکز ،ارسال مقاله ، عضوجدید، سوالات متداول ،تماس با مامی باشد.دربالای صفحه لینک هایی به صفحه اصلی وبه نقشه سایت وجود داردوهمچنین با حرکت موس برروی ایمیل می توانید ایمیل سایت را مشاهده نمایید.
این سایت دارای سه رول یا نقش"مدیر"، "پزشک"،"بیمار" می باشد .
صفحه سوالات متداول :
هربازدید کننده از سایت می تواند با ورود به صفحه سوالات متداول ،سوالاتی را که تاکنون از طرف اکثریت اعضاء سایت پرسیده شده است را مشاهده نماید.
صفحه عضویت درسایت :
درصورتیکه به سوال مورد نظر خود را در این صفحه پیدا نکرد ه با شد می تواند با عضویت در سایت از طریق صفحه عضو جدید با متخصص مخصوص ارتباط برقرار کرده و پاسخ سوال خود را بعد از 24 ساعت دریافت نماید.
صفحه تغییر رمز عبور :
هریک از رول ها با وارد کردن کد ورمز عبور خود می توانندبه صفحه مربوط به خود رفته وبا لینکهای موجود در صفحه از امکانات مخصوص به خود استفاده لازم را ببرند.
درصورتیکه هرکدام ازنقشها قصد عوض کردن کد ورمز عبوررا داشته با شند ،می توانند باوارد کردن کد ورمز فعلی خود به صفحه تغییر رمز عبور بروند وکد ورمز جدید به سایت بدهند.
برای هریک از اعضاء سایت این امکان وجود دارد که بتوانند مشخصات خودرا تغییر دهند،بدین منظور با ید ابتدا باوارد کردن کد ورمز عبور به صفحه مخصوص به نقش خود بروند ودرآنجا به لینک صفحه تغییر کدورمزعبوررفته وتغییرات خود رااعمال کنند.
هریک از اعضاء می توانند سوالات خود رادر صفحه سوالات واردکنند وبعد از24 ساعت پاسخ را دریافت نمایند.
متخصص مورد نظر مدیر سایت سوال رادرصفحه پاسخ به سوالات که مخصوص به نقش پزشکان سایت است رادریافت کرده وجواب را بر روی سایت می فرستد.
مدیریت سایت در صفحه تخصیص سوالات که مخصوص به نقشش می باشد،سوال را به متخصص مخصوص واگذار می کند.
همچنین مدیریت سایت در صفحه پیشنهادات می تواند پیشنهادات هر یک از بازدیدکنندگان را مشاهده نماید،این صفحه نیز مخصوص به رول مدیریت می باشد.
صفحه ارسال مقالات :
برای همه بازدیدکنندگان سایت این امکان فراهم است که درصورت تمایل بتوانند مقالات پزشکی خود رااز طریق صفحه ارسال مقالات به این سایت ارسال نمایند.
صفحه تماس با ما :
برای کاربرد هرچه بهتر وارتباط بیشتربامدیریت این سایت صفحه ای به نام تماس باما درنظر گرفته شده است که تمامی بازدیدکنندگان می توانند پیشنهادات خودرا به این سایت ارسال نمایند.
صفحه نقشه سایت :
هریک از بازدیدکنندگان می توانند با ورود به صفحه نقشه سایت از تعداد صفحات با نام آنها اطلاع پیدا کنند.
فصل 4
نتیجه گیری
این سایت قادر است با کمترین هزینه درمانی به بیماران کمک کند تا سلامتی خود رابه دست آورندواز طرف دیگر می تواند برای هر کدام از بازدیدکنندگان پیام پزشکی داشته باشد.همچنین با ارسال مقالات پزشکی به این سایت ،پزشکان می توانند از جدیدترین مقالات روز دنیا بااطلاع باشند که می توان با اطمینان گفت که این آگاهی در تشخیص پزشکان کمک زیادی خواهد کرد.
منابع مورد استفاده:
ترجمه مهندس سعید هراتیان و مهندس مهرداد تواناASP 3.0 ترجمه علیرضا انصاری ASP.NET
سایت http://www.fekrinejat.com
فهرست مطالب
چکیده 1
فصل 1: 3
مقدمه 3
فصل 2 7
نرم افزارهای مورد نیاز در طراحی سایت 7
بخش اول : ASP.NET 7
ASP.NET چیست؟ 8
کارایی ذخیره سازی نهان Asp.Net 11
امنیت Asp.Net ومکانیزم ورود 12
Asp.Net با کدام فناوریها متناسب است؟ 15
بخش دوم:بانک های اطلاعاتی 18
معرفی بانک های اطلاعاتی 18
Server SQL و اجزاء آن 20
بخش سوم:نرم افزار VWDصفحه ی Master در محیط VWD 28
معرفی سیستم های الکترونیکی E-Learning 35
سیستم های آموزش(E-learning) همزمان 39
E-Commerce چیست؟ 42
فصل 3: 46
کارانجام شده 46
طراحی قالب سایت : 50
صفحه سوالات متداول : 51
صفحه عضویت درسایت : 52
صفحه تغییر رمز عبور : 53
صفحه ارسال مقالات : 55
صفحه تماس با ما : 55
صفحه نقشه سایت : 56
فصل 4: 57
نتیجه گیری 57
منابع مورد استفاده: 59
56