رزفایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

رزفایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلود پایان نامه کارشناسی ارشد رشته کامپیوتر نرم افزار الگوریتم خوشه بندی

اختصاصی از رزفایل دانلود پایان نامه کارشناسی ارشد رشته کامپیوتر نرم افزار الگوریتم خوشه بندی دانلود با لینک مستقیم و پر سرعت .

دانلود پایان نامه کارشناسی ارشد رشته کامپیوتر نرم افزار الگوریتم خوشه بندی


دانلود پایان نامه کارشناسی ارشد رشته کامپیوتر نرم افزار  الگوریتم خوشه بندی

دانلود متن کامل این پایان نامه با فرمت ورد word

 

پایان نامه کارشناسی ارشد کامپیوتر

گرایش نرم افزار

موضوع:

ارائه یک الگوریتم خوشه بندی برای توزیع مناسب کار و ارزیابی کارایی آن

 

 

چکیده

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

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

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

مقدمه

در سال های اخیر صنعت کامپیوتر رشد بسیار شگفت انگیزی داشته است. در طی دو دهه اخیر سرعت کامپیوتر های شخصی از چند دستور در ثانیه به چند میلیون دستور در ثانیه رسیده است در صورتی که قیمت آنها نیز از چند میلیون دلار به چند هزار دلار کاهش یافته است.

افزایش نیاز به سیستم هایی با کارائی بسیار زیاد و سرعت فوق العاده بالای شبکه ها (شبکه های ترابیتی) سبب جلب علاقه محققان به پردازش های موازی و توزیع شده، شده است. از جمله دلایل افزایش توجه به سیستم های توزیع شده می توان به موارد زیر اشاره کرد:

1: پیشرفت تکنولوژی پردازش.

2: سرعت بالای شبکه ها.

3: انجام تحقیقات گسترده برای ارائه محیطهائی برای انجام محاسباتی توزیع شده.

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

از سوی دیگر تحول چشم گیری نیز در صنعت شبکه های کامپیوتری به وجود آمده است. امروزه هزاران کامپیوتر می توانند از طریق یک شبکه LAN به یکدیگر متصل شده و در کسری از ثانیه داده های خود را با یکدیگر مبادله کنند. یا به کمک یک شبکه WAN میلیون ها کامپیوتر از سرتاسر دنیا قادر به تبادل داده با یکدیگر هستند.با توجه به این تحولات، امروزه تصور مجموعه ای از کامپیوتر ها که به صورت یک کامپیوتر یکپارچه اما با قدرت بسیار بیشتر ،چندان بعید نیست.

فصل اول

 مفاهیم اولیه

1-1. سیستم های توزیع شده

در حالت کلی تعریف زیر را می توان برای یک سیستم توزیع شده ارائه کرد:

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

 مزایا و معایب سیستم های توزیع شده

سیستم های کامپیوتری توزیع شده به وسیله پژوهشگران به طور گسترده مطالعه شده و مزایای زیادی در رابطه با آن گزارش شده است. به عنوان مثال پیشرفت های اخیر در تکنولوژی شبکه ها و پردازه ها، دستیابی به مزایای زیر را امکان پذیر ساخته است :

  1. افزایش کارایی: وجود چندین کامپیوتر در یک سیستم توزیع شده به برنامه کاربردی امکان پردازش و اجرا به صورت موازی را می دهد بنابراین سرعت اجرای برنامه کاربردی و کارایی سیستم افزایش می یابد برای مثال کارایی یک سیستم فایل می تواند به وسیله تکرار توابع آن بر روی چندین کامپیوتر بیشتر شود. تکرار سیستم فایل باعث می شود چندین برنامه کاربردی به سیستم فایل به صورت موازی دسترسی داشته باشند بعلاوه تکرار فایل ها ترافیک شبکه را بین سایت های مختلف توزیع کرده و تاخیر ناشی از صف بندی را کاهش می دهد.
  2. به اشتراک گذاری منابع: به اشتراک گذاری منابع مقرون به صرفه بودن و امکان دسترسی کارا به منابع سیستم را فراهم میکند یعنی کاربران در عرض چند دقیقه می توانند منابع سخت افزاری و نرم افزاری گران و خاص منظوره را مانند سرورهای پایگاه داده ها، سرورهای پردازش، سرورهای پرینترو… را به اشتراک بگذارند.
  3. افزایش توسعه پذیری: سیستم های توزیع شده می توانند به صورت سازگار با محیط طراحی شوند مثلا برای یک محاسبه سنگین، سیستم خود را به گونه ای سازمان دهی می کند که شامل تعداد زیادی از کامپیوترها و منابع باشد در صورتیکه برای پردازشهای کوچکتر فقط از چند منبع استفاده خواهد کرد بعلاوه در صورت لزوم محدودیتهائی مانند ظرفیت سیستم فایل و قدرت محاسبتی سیستم را می توان به سادگی با اضافه کردن کامپیوترها یا سرورهای بیشتر افزایش یابد.
  4. افزایش قابلیت اطمینان، دسترسی راحت و تحمل پذیری خطا: وجود چندین منبع ذخیره سازی و محاسباتی در یک سیستم، ساخت سیستم توزیع شدۀ تحمل پذیر خطا را مقرون به صرفه و جالب می کند.

سیستم می تواند خرابی یک کامپیوتر را به وسیله تخصیص وظایف آن به کامپیوتر دیگر تحمل کند بعلاوه سیستم می تواند به وسیله تکرار توابع یا منابع، در کامپیوتر های مختلف، خطر از دست دادن آنها را برطرف کند.

  1. مقرون به صرفه گی: کارایی کامپیوترها تقریباً هر دو سال یک بار دو برابر شده، در صورتیکه قیمت آنها در دهه اخیر تقریبا در هر سال نصف شده است بعلاوه شبکه هایی با سرعت بسیار زیاد نیز به وجود آمده است که ساخت سیستم های توزیع شده را نسبت به سیستم های موازی بر اساس نرخ قیمت به کارایی مقرون به صرفه تر کرده است.

البته این پیشرفت ها به آسانی به دست نمی آید زیرا طراحی یک سیستم توزیع شده همه منظوره بسیار مشکلتر از طراحی یک سیستم متمرکز است. در طراحی یک سیستم توزیع شد چند منظوره تعداد زیادی از گزینه ها و مسائل باید در نظر گرفته شوند که پیکر بندی فیزیکی سیستم ،خصوصیات بستر محاسباتی، شبکه ارتباطی، زمان بندی وظایف، سیاست های تخصیص منابع و مکانیزم کنترل آن ها، ایجاد سازگاری و کنترل همروندی و امنیت، نمونه هایی از آنهاست. این مشکلات را می توان ناشی از عدم بلوغ سیستم های توزیع شده، ناهماهنگی و رفتار مستقل کامپیوترها، پراکندگی جغرافیایی منابع سیستم و… دانست. این مشکلات در زیر خلاصه شده اند:

  1. فهم کامل تئوری محاسبات توزیع شده هنوز صورت نگرفته است. این موضوع نسبتاً جدید بوده و ما، قبل از اینکه به تئوری طراحی چنین سیستم های پردازشی تسلط پیدا کنیم باید تعداد زیادی سیستم توزیع شده معتبر با اهداف معمول و معماری های متفاوت را طراحی و آزمایش کنیم.
  2. رفتار ناهماهنگ و مستقل منابع سیستم یا اجزای آن، کنترل نرم افزار را پیچیده می کند در حالیکه این امر در یک سیستم متمرکز محاسباتی کار ساده ای است. اگر کامپیوترها به صورت مشتری-خدمتگذار سازماندهی شوند، کنترل نرم افزار ساده تر و رفتار آن قابل پیش بینی تر خواهد بود با این حال این ساختار با یکی از مشخصات سیستم های توزیع شده که همان مستقل بودن کامپیوترها و اجرای آسنکرونن می باشد در تناقض است.
  3. استفاده از شبکه های ارتباطی برای اتصال کامپیوترها به یکدیگر مرحله دیگری از پیچیده گی را معرفی می کند. طراحان سیستم توزیع شده نه تنها باید در طراحی سیستم های کامپیوتری و سیستم های نرم افزاری و سرویس ها ماهر باشد بلکه در طراحی شبکه ارتباطی مطمئن، ایجاد همزمانی ، سازگاری و برطرف کردن خطاها در یک سیستم پیچیده از کامپیوترهای ناهمگن و پراکنده از نظر جغرافیایی نیز تسلط داشته باشند. تعداد منابع استفاده شده در چنین سیستمهائی می تواند دهها، صدها و یا حتی هزاران منبع محاسباتی و ذخیره سازی باشد.

یک سیستم توزیع شده حداقل بایداهداف زیر را برآورده کند:     1- به سادگی منابع موجود در شبکه را در اختیار کاربران قرار دهد.

2- کاربران نباید از این موضوع که منبع مورد استفاده آنها در کامپیوتر دیگری در شبکه قرار دارد مطلع شوند.(شفافیت)   3- سیستم توزیع شده باید باز باشد.

4- سیستم توزیع شده باید مقیاس پذیر باشد.

شفافیت می تواند در جنبه های مختلف سیستم های توزیع شده مطرح شود.

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

 

مسائل مربوط به مقیاس پذیری نیز تا حد زیادی به میزان مولفه های متمرکز سیستم بستگی دارد. هر چه این میزان زیاد باشد مقیاس پذیر کردن سیستم مشکل تر خواهد بود.

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

  •  انگیزش

     ایده شی گرایی از محبوب ترین روش های تولید نرم افزار است,که برای طراحی، توصیف و پیاده سازی سیستم های توزیع شده نیز بسیار سودمند است. مزیت این روش برای ساخت سیستم های توزیع شده این است که میتوان کدهای برنامه را در اشیا کپسوله کرده و سپس اشیا را به ماژول های مستقلی دسته بندی کرد و هر ماژول را بر روی یک منبع محاسباتی مجزا مستقر نمود. با این حال به عنوان یک اصل تولید یک برنامه توزیع شده، همواره سخت تر از ایجاد یک برنامه غیر توزیع شده است, که عملکردی معادل آن را دارد. به طوری که ساخت یک سیستم توزیع شده میتواند به یک کار خسته کننده و مملو از خطا تبدیل شود. با وجود اینکه امروزه ابزار ها و تکنیک های بسیار مفیدی مانند RPC ، CORBA و DCOM جهت ساخت سیستم های توزیع شده با کارایی بالا ارائه گشته اند، اما در حالت کلی فرایند ساخت یک سیستم توزیع شده از بدو پیدایش سیستم های توزیع شده تغیر اندکی کرده است : برنامه نویس برنامه را به ماژول های مختلفی تقسیم کرده، هر ماژول را به صورت مجزا پیاده سازی کرده و امکان برقراری ارتباط بین آنها را ایجاد می کند و در نهایت هر ماژول را در یک کامپیوتر مستقل در شبکه مستقر میکند. برخی از چالش هایی که در رابطه با ساخت سیستم های توزیع شده پیش روی یک برنامه نویس یا طراح نرم افزار می تواند قرار گیرد عبارت اند از:

  • پیچیدگی طراحی و پیاده سازی سیستم های توزیع شده.
  • پیدایش نوع جدیدی از خطاها مانند خطاهای ناشی ازهمروندی و همگام سازی پردازه ها.
  • مشکلات ناشی از سازگاری داده ها در کل سیستم.
  • موازنه کار بارگذاری شده در منابع موجود در سیستم.

     لذا اتوماتیک سازی فرایند تبدیل یک برنامه ترتیبی به یک برنامه قابل اجرا برروی یک محیط محاسباتی توزیع شده همواره به عنوان یک مساله باز تحقیقاتی مطرح بوده است. امروزه شبکه‌های کامپیوتری به واسطه پیشرفت تکنولوژی ارتباطات توانسته‌اند جایگزین کامپیوترهای گران قیمت موازی­­گردند.

هنگام طراحی برنامه های توزیع شده برای مسائل کاربردی، اغلب الگوریتم ها به مجموعه ای از کارهای کلاسیک، و تکراری تجزیه می شوند. از جمله کارهای بنیادی که در اغلب الگوریتم ها دیده می شوند می توان به انتشار اطلاعات به تمام گره ها،ارسال پیام به برخی از گره ها، سنکرون سازی عمومی تمام پردازه ها، شروع اجرای برخی رویداد ها، ضمن اجرای پردازه ها، یا انجام محاسبه ای که داده های مورد نیاز آن بین گره های مختلف توزیع شده، اشاره کرد. این عملیات ها معمولا با تبادل پیام بین پردازه ها انجام می گیرند.با طراحی زیر ساختی که بتواند این primitive ها را در اختیار برنامه های ترتیبی قرار دهد می توان نسخه توزیع شده ای از یک برنامه ترتِبی تولید کرد.

یکی از چالشهای مطرح در توزیع کد، میزان تسریع حاصل از توزیع می‌باشد برنامه های علمی نیاز به کامپیوترهایی با توان محاسباتی بالا دارند. این نوع کامپیوترها معمولا بسیار گران قیمت میباشند. امروزه سعی برآن است تا بجای استفاده از سوپرکامپیوترها از شبکه ای با کامپیوترهای ارزان قیمت برای حل مسائل علمی استفاده شود. هدف ما توزیع کد برنامه ها جهت حصول حداکثر میزان همروندی در اجرای کد است در صورت موفقیت مسلما زمان اجرایی به حداقل ممکن کاهش خواهد یافت.

 

 متن کامل را می توانید دانلود نمائید چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است


دانلود با لینک مستقیم


دانلود پایان نامه کارشناسی ارشد رشته کامپیوتر نرم افزار الگوریتم خوشه بندی

دانلود پایان نامه رشته کامپیوتر نرم افزار تحویل کتاب در کتابخانه

اختصاصی از رزفایل دانلود پایان نامه رشته کامپیوتر نرم افزار تحویل کتاب در کتابخانه دانلود با لینک مستقیم و پر سرعت .

دانلود پایان نامه رشته کامپیوتر نرم افزار تحویل کتاب در کتابخانه


دانلود پایان نامه رشته کامپیوتر نرم افزار تحویل کتاب در کتابخانه

متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید

 

 مقدمه

 امروزه گستردگی جوامع ، نیازهاو کثرت وابستگی مردم را به یکدیگر ،شرایط جدیدی را فراهم آورده که گذران امور با روش های سنتی را غیر ممکن می سازد.

بشر روزگارانی را گذرانده که به حداقل جمعیت بر روی کره زمین، زندگی کرده و تنها نیازش خوراک و پوشاک بوده است. گذشت زمان و افزایش نیاز ها و لزوم برقراری ارتباط بیشتر، موجب پیدایش زبان ایما و اشاره و سپس نقاشی و خط گردید.

بسیار زمان گذشت تا بشر نسبت به ثبت و ضبط منظور خودش ، در قالب کلمات نوشتاری اقدام کرد و حساب ها را ثبت نمود.

اکنون ارتباط آموزشی، اداری، تجاری و… هر کدام دنیایی از مفاهیم و اعداد و روابط را در درون خود دارد که بدون ثبت و ضبط دقیق و سازمان یافته آنها و بکارگیری علم و فن آوری، استفاده از آنها غیر ممکن است. آنچه در این پایان نامه ارائه می شود کوششی است برای سریعتر انجام شدن عمل امانت گرفتن کتاب از کتابخانه و همچنین کاستن از رفت و آمد های بیهوده.

پس از تعریف صورت پروژه، انتخاب ابزار و محیط مناسب برای پیاده سازی طرح مورد نظر، در اولویت قرار گرفت که بعد از مطالعات صورت گرفته، تصمیم گرفتیم که از زبان برنامه نویسی تحت وبPHP و زبان پایگاه داده MySql استفاده کنیم.

در فصل های مختلف این پایان نامه، مراحل طراحی و پیاده سازی سیستم کتابخانه الکترونیک شرح داده شده است.

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

فصل اول

PHP

My sql

فصل اول- آشنایی با نرم افزار های مورد استفاده

 PHP چیست ؟

PHP سال 1994 توسط Rasmus Lerdorf ایجاد شد و مخفف واژگان Personal Home Pages به حساب
می آید.

با گسترش قابلیت ها و موارد استفاده این زبان PHP در معنای Hypertext Preprocessor به کار گرفته شد. عبارت پیش پردازشگر (Preprocessor) بدین معنی است که PHP اطلاعات را قبل از تبدیل به زبان Html پردازش می کند.

مطابق مطالب سایت وب رسمی PHP که در آدرس http://www.php.net قرار دارد، PHP زبان اسکریپتی سمت سرویس دهندهHtml Embeded , Cross-Platform ,(Server-side) می باشد.
سمت سرویس دهنده بودن PHP بدین معناست که تمام پردازشهای این زبان بر روی سرویس دهنده (Server) انجام می گیرد. یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر وب کاربران منتقل می شوند.

منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل : Unix, Windows NT, Macintosh, Os/2 اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج بــه تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید. منظور از Html embeded بودن PHP این است که دستورات این زبان در بین کدهای html قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.

PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان اسکریپتی (Scripting Language) می باشد به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (Event) اجرا می شوند. این رویدادها می توانند شامل ارسال یک فرم رفتن به یک URL مشخص و یا مواد دیگر باشند متداولترین زبان اسکریپتی زبان Java Script می باشد که معمولا برای پاسخ به رویدادهای کاربر در مرورگر وب بــه کار می رود تفاوت عمده Java Script با PHP در این است که Java Script یک تکنولوژی سمت سرویس گیرنده (Client-side) می باشد.

زبان هایی مانند Java Script یا PHP تفسیر شونده (Interpreted) نامیده می شوند. به عبــارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا می باشند.

جدیدترین نسخه PHP نسخه 4 این زبان اسکریپتی می باشد و کلیه فایل ها و کدهایی که توی این وبلاگ ارائه میشه تحت این نسخه کار میکنند. اما یک مشکل هست که اکثر سرویس دهنده ها از نسخه 3 استفاده میکنند. تفاوت این دو نسخه PHP بسیار اندک هست و تغییرات مهم عموما در مسیر اصلاح عملکرد این زبان صورت گرفته شده است.

 PHP و مقایسه آن با Perl CGI

امروزه با توجه به اینکه روز به روز بر تعداد میزبانهایی که PHP   رو ساپورت میکنند افزوده میشود ، صحبت در مورد PHP  و قابلیتهای آن در میان طراحان وب و برنامه نویسان زیاد است.

برای کسانی که فقط نامی از PHP   شنیده اند و از تواناییها و مزیت های PHP   آگاهی ندارند در این توضیحات PHP  را به طور مختصر شرح میدهم و آن را با اسکریپتهای CGI  مقایسه میکنم.

همان طورکه گفتیم PHP یک زبان طرف خادم (server side ) می باشد و ما میتوانیم برای ساخت صفحات دینامیک وب از آن استفاده کنیم. برای مثال مدیریت و ساماندهی اطلاعات دریافتی از یک form html با PHP بسیار آسان است.

زبانها

اگر با زبانهای C , C++ , Perl  یا Java کار کرده باشیم یاد گرفتن زبان PHP  میتواند مانند زنگ تفریح باشد! در واقع خیلی سریع میتوانید اسکریپت نویسی را با PHP شروع کنیم.

متغیرها در PHP مانند perl هستند (با پیشوند $ ) و انواع مختلف داده ها را میتوانند در خود ذخیره کنند. برای مثال $whatever میتواند انواع داده ها  شامل رشته ای ، عددی و غیره را در خود نگه دارد.

تسهیلات توکار (Built-in facilities )

بر خلاف Perl  که یک زبان همه منظوره است و شما میتوانید تقریبا هر برنامه ای را با آن بنویسید ، PHP  از ابتدا با هدف اسکریپت نویسی برای صفحات وب درست شده ، از اینرو اسکریپت نویسی برای صفحات وب در PHP  بسیار آسانتر از Perl   می باشدبرای مثال میخواهیم از یک فرم در یک صفحه وب ایمیلی را به آدرس خودمان ارسال کنیم. به کمک Perl   احتمالا کدی شبیه زیر را مینویسیم :

open ( MAIL,”|/usr/sbin/sendmail -t”);
print MAIL “To: myself\@mydomain.com\n” ;
print MAIL “From: visitor\@hisdomain.com\n” ;
print MAIL “Subject: Comments from Web Form\n\n” ;
print MAIL $mainmessage ;
close ( MAIL ) ;
اما همین برنامه در PHP   به شکل زیر نوشته می شود :

mail ( “myself@mydomain.com”, “Comments from Web Form”,
    $mainmessage, “From: visitor@hisdomain.com” );

 این سادگی و روانی برای بقیه کارها هم صادق است ، مانند فرستادن یا بازیابی یک پرونده با FTP یا HTTP.همانطور که گفته شد این سادگی از آنجا ناشی میشود که PHP فقط برای برنامه نویسی برای صفحات وب طراحی شده است.

تسهیلات دیگر آن در اداره کردن input های یک form می باشد ، برای مثال یک فرم مانند زیر را در نظر بگیرید:

    <input
type=text name=”dateofbirth”>

 شما خیلی راحت و سریع می توانید به محتویات این فرم در متغیر $dateofbirth دسترسی داشته باشید. نیازی به تجزیه و تحلیل input های فرم نیست.

تمام فیلد ها در یک فرم به طور اتوماتیک به متغیرهایی تبدیل میشوند که شما خیلی راحت میتوانید به آنها دسترسی داشته باشید.

دسترسی به پایگاه داده ها هم به همین شکل آسان و راحت است. کار با پایگاه های داده مانند MySQL, MSQL, Dbase, Oracle, InterBase, از قابلیتهای ذاتی (Built-in) PHP است . PHP حتی برای رمزنگاری MIME هم تابعی در نظر گرفته است. قابلیتها و تسهیلات PHP بسیار زیاد است .

 ساخت صفحات وب

یک صفحه PHP میتواند شبیه کد زیر باشد :

<html>

<head><title>My First PHP Script</title></head>

<body>

<h1>My First PHP Script</h1>
<p>

Welcome, Internet user from IP address

<?echo $REMOTE_ADDR?>. Hope you like my first

PHP page.

</body>

</html>
  توجه  کنید  که  این  دقیقا  شبیه  source  صفحات وب می باشد مگر در موارد    که دستورات PHP را شامل می شوند. این کد آدرس IP بیننده صفحه را مینویسد ، برای همین از دستور echo استفاده کرده ایم . متغیر محیطی وب سرور (environment variable) REMOTE_ADDR به صورت اتوماتیک با متغیری به همین نام در PHP  شناخته میشود (مانند دیگر متغیرهای محیطی وب سرور). از اینرو نوشتن چنین

اسکریپتهایی بسیار آسان و لذت بخش خواهد بود!

 اشکال زدایی PHP در مقایسه با Perl CGI

اگر شما اسکریپتهای نوشته شده را به صورت آنلاین آزمایش و اشکال زدایی میکنید PHP واقعا در این زمینه می درخشد!

هنگامی که اشکالی در یک اسکریپت Perl پیدا شود شما یک پیغام رمزگونه و نامفهوم (چیزی شبیه “500 Internal Server Error”) دریافت میکنید.اما وقتی که اسکریپت های PHP خود را به صورت آنلاین آزمایش میکنید ، هنگام مواجه شدن با اشکال پیغام خطا را با اشاره دقیق به شماره خط دارای اشکال میدهد و این برای اشکال زدایی خیلی کار ما را راحت میکند ، هر چند پیغام خطا گاهی اوقات کلی و نامفهوم است مانند “parse error”.

ولی در Perl  پیغام خطای “Internal Server Error” می تواند از هر چیزی ناشی شود ، از اشتباه در syntax گرفته تا جا انداختن یک حرف یا upload کردن فایل در غیر text mode  .اما اشکال زدایی به صورت آفلاین کاملا برعکس می باشد.بیشتر برنامه نویسان اعتقاد دارند که مفسر Perl  هنگام مواجه شدن با خطا پیغام بهتر و مفید تری میدهد تا مفسر PHP   که مثلا برای بسیاری از خطاها پیغام کلی parse error را میدهد که این امر هم با توجه به انتشار نسخه های جدیدتر PHP میتواند برطرف شود.

PHP یک زبان برنامه نویسی با کد باز (Open-Source) است که اگرچه در ابتدا صرفا جهت برنامه نویسی تحت وب تولید شد، امروزه کارآییهای فراوانی پیدا کرده است.php طبیعتا برای اجرا نیاز به یک برنامه سرویس دهنده وب (Web Server) دارد.

کسانیکه قبلا با PERL کار کرده اند و حالا قصد داشته باشند با PHP کار کنند، احتمالا در ابتدا به مشکلاتی بر خواهند خورد. آنچه به نظر من از خصوصیات خوب PHP بشمار می آید آن است که با وجود شباهت PHP با PERL، PHP پیچیدگیهای PERL را کمتر دارا می باشد. هرچند که قدرت PERL بر روی متن ها غیر قابل انکار است اما فراموش نکنید که PHP را صرفا برای محیط وب ساخته اند پس به اندازه کافی ( و حتی بیش از حد کافی ) امکانات کار با stringها را به شما ارائه خواهد کرد.

 برای شروع کار با PHP چه نیاز داریم؟

PHP برای اجرا نیاز به یک Web-Server دارد. در دست ترین Web-Server برای ما احتمالا IIS خواهد بود، چرا که با استفاده از سی دی Windows قابل نصب است. در این توضیحات به شرح نصب IIS (یا وب سرورهای دیگر) نمی پردازیم. برای کسانیکه “Open Source” را پرستش می کنند شاید بهتر باشد از Apache به عنوان Web-Server استفاده کنند. (البته اگر از حق هم نگذریم Apache خیلی از IISبهتر است!)

اگر Web-Server مورد علاقه شما به درستی بر روی دستگاه شما نصب شده است، حالا نیاز دارید که PHP را بر روی آن نصب کنید. برای بدست آوردن کد PHP از آدرس http://www.php.net/downloads.php   استفاده کنید.

طبیعتا برای مشاهده نتیجه اجرای فایلهای PHP نیاز به یک مرورگر وب (Web Browser) داریم که مسلما رایجترین آن Internet Explorer است. برای درست کردن هر فایل PHP هم نیاز به یک ویرایشگر ساده متنی داریم (مثلا Word pad یا Note pad ) توجه کنید که از ویرایشگرهای حرفه ای مانند Microsoft Word نمی توانید استفاده کنید زیرا این ویرایشگرها از کاراکترهای پنهانی فراوانی استفاده می کنند که در هنگام ذخیره فایل متنی این کاراکترها هم ذخیره خواهند شد که باعث عدم اجرای دستورات PHP می شوند.حالا یک کد ساده PHP می نویسیم.

حالا می خواهیم اولین کد PHP را با هم درست کنیم. ویرایشگر متن را باز کنید (مثلا Word pad) و در آن چنین بنویسید:

 <?php
echo (“Hi! I am the first PHP script you have made!”);
?>

 حالا فایلتان را با عنوان 1st.php و در Web Server Local Folder ذخیره نمایید (اگر از IIS استفاده می کنید این فولدر در درایوی که Windows را در آن نصب کرده اید، با نام Inetpub وجود دارد. در داخل آن فولدر دیگری به نام wwwroot وجود دارد که باید فایلمان را در آن بریزیم.)

حالا مرورگر وب خود را باز کنید (مثلا Internet Explorer) و در قسمت آدرس آن ابتدا //:http و سپس نام کامپیوتر خود و یا آدرس IP آن را تایپ نمایید (نام کامیوتر را در Control panel/System/Network Identification و IP را در صورتیکه تعیین کرده باشید در قسمت Command Prompt و با اجرای دستور ipconfig می توانید مشاهده کنید) و پس از یک Backslash (/) نام فایل (1st.php) را تایپ نموده و Enter را بزنید. بعنوان مثال نام کامپیوتر من اگر arash است. پس باید در قسمت آدرس مرورگرم خط زیر را بنویسم:

 باید کد PHP خود را در داخل تگ <?php ?> قرار دهید. البته می توانید از روشهای دیگر نیز استفاده کنید اما متداولترین روش همین است.

دستور ()echo در PHP وظیفه چاپ در خروجی را بر عهده دارد.می توانستیم همین کد را با کمک تگهای HTML و بصورت زیر نیز بنویسیم:

<html>
<body>
<?php
echo (“Hi! I am the first PHP script you have made!”);
?>
</body>
</html>

در هر صورت خروجی برنامه به همان صورت که گفتیم خواهد بود. تا یا بصورت یک email خصوصی و یا در قالب یک مقاله پاسخ شما را بدهم.

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است


دانلود با لینک مستقیم


دانلود پایان نامه رشته کامپیوتر نرم افزار تحویل کتاب در کتابخانه

دانلود پایان نامه کارشناسی رشته کامپیوتر ارزیابی چند رسانه‌ای

اختصاصی از رزفایل دانلود پایان نامه کارشناسی رشته کامپیوتر ارزیابی چند رسانه‌ای دانلود با لینک مستقیم و پر سرعت .

دانلود پایان نامه کارشناسی رشته کامپیوتر ارزیابی چند رسانه‌ای


دانلود پایان نامه کارشناسی رشته کامپیوتر ارزیابی چند رسانه‌ای

متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید

 

 مسائلی در مورد ارزیابی چند رسانه‌ای

 صنعت چند رسانه‌ای به سرعت در حال تغییر است که به منظور بهره‌مندی کامل از امکانات اخیر تکنولوژی است. این طبیعت پویای صنعت چند رسانه‌ای مشکلات زیادی را برای قابلیت استفاده از آنها ایجاد کرده است. از طریق تحقیق گسترده در مورد نوشتجات رایج در زمینه‌های چند رسانه‌ها و قابلیت استفاده , روش است که روش ها و شیوه‌های قابلیت استفاده باید یک سطح بالای قابلیت استفاده برای اطمینان از وضعیت سیستم و کارآیی آن فراهم کنند تا از قابلیت اجرا در دامنه چند رسانه‌ای تکامل یافته بدون تغییر اطمینان یابند.

متخصصین قابلیت استفاده باید یک درک کلی از فناوری چند رسانه‌ای و کاربردهایش در حالیکه در تلاش برای معرفی نقاط ضعف در حوزه قابلیت استفاده هستند داشته باشند.

صحنه جدید : ارزیابی چند رسانه‌ای

کاربردهای چند رسانه‌ای از جهات زیادی با نرم افزار نست متفاوت است : تاکنون نسبتاً ساده بوده تا حوزه‌های استفاده از مجموعه برنامه‌های کامپیوتری را پیش‌بینی کنیم ولی کاربردهای چند رسانه‌ای این پتانسیل را دارند که در یک دامنه متعددی از این حوزه‌ها از قبیل سرگرمی , تحصیل و تجارت با ارتباطات و هنر استفاده شوند (مراجعه کنید به Petersen سال 1998) دامنه گسترده حوزه‌های کاربرد علمی در چند رسانه‌ها مسائل بعدی در مورد قابلیت استفاده از به وجود می‌آورد.

ملاک ارزیابی

از آنجائیکه ملاک موفقیت این سیستم‌ها از یکدیگر متفاوت می‌باشد , ایجاد ملاک ارزیابی حتی مهم‌تر می‌شود. برای نمونه , درکارهای نستی تمایل به سیستم ها , راندمان یکی از مهمترین فاکتورها می‌باشد. در صورتیکه در یک سناریوی بازی که سرگرمی مهم است به تأخیر انداختن کاربرد کارهای تکمیلی به وسیله پیدا کردن راه هایی برای سخت کردن بیشتر بازی‌ ممکن است یک عامل مهم موفقیت باشد.

روش محاسبه کمیت : بازده و کارآیی

بازده و کارآیی به طور نستی استفاده می شدند تا فعل و انفعال کاربرد یا یک محصول یا کاربرد جدید را اندازه گیری کند ولی این اندازه گیری‌ها ممکن است کاملاً در یک محیط رسانه‌ای جدید نامناسب باشد , برای مثال , وقتیکه یک کاربرد برای پیدا کردن اطلاعات در شبکه در حال جستجو است ( روجوع به Newnan , Smith و Parks سال 1997)

Petersen سال (1998) به این بحث پرداخت که هیچ کدام از روش‌های ارزیابی چند رسانه‌ای موجود نمی‌توانند رسیدگی کنند که چگونه مسائل سطح بالا مانند سرگیری‌های رسانه‌ها، زیبایی شناختی لذت و مشغولیت می‌تواند ارزیابی شود. او به این بحث پرداخت که اکثریت مواد ارزیابی قابل دسترسی شامل مجموعه هایی از رهنمودهایی است که نمی‌تواند برای ارزیابی کاربردهای چند رسانه‌ای کافی باشد , در ابتدا به این علت که آنها عمومیت فاکتورهای قابل استفاده را به بهره دارند و دوم اینکه آنها در پیش بینی رفتار کاربرد ناموفق هستند.

Shneiderman سال (1997) از طرف دیگر با در نظر گرفتن قابلیت استفاده شبکه یک نظریه مثبت‌تری را مطرح کرد. اگرچه بی اهمیت است که هنوز خیلی ابهامات برای طراحان در این زمینه وجود د ارد , او باور کرد که قلمروهای برنامه ریزی هم کنشگر کاربردگیر مثل سیستم منو وسیستم سازماندهی اطلاعات کلمات مشخص دراتصال متن به متن‌های دیگر و نمایش متن پس از انتخاب کلمه می‌تواند اطلاعات ارزشمندی را می‌توان آسان کند.

روش محاسبه ذهنی (فردی)

Don , Oren , Laurel سال (1997) نشان داده‌اند که رسانه‌های متفاوت می‌تواند احساسات فردی که کاربران تجربه کرده‌اند را تحت تأثیر قرار دهد. در یک تحقیق آنها یافتند که در جائیکه ویدئو برای ارائه اطلاعات استفاده می‌شود , کاربران علیرغم اینکه آن را سرگرم کنند. یافته‌اند درباره اعتبار اطلاعات سؤال می‌کنند. با ارائه متن مشابه مواد , کاربران احساس کردند اطلاعات معتبرتر است.

اشتباهات قلمی رسانه ها

در ارائه رسانه متفاوت , مشکلات قابلیت استفاده می‌تواند ناشی از اشتباهات قلمی رسانه‌ها باشد که در مورد شخص یا شرکتی است که نرم افزار می‌نویسد. اشتباهات قلمی رسانه های نمی‌تواند کاری در مورد توانایی شرکت‌های نویسنده نرم افزار برای ایجاد مواد داخل آن قلمرو انجام دهد , ولی کار زیادی را می‌تواند با زبان و قرار دادهای مورد بحث آن قلمرو انجام دهد. برای مثال , زبان مربوط به ویدئو قراردادهایی دارد در مورد اینکه کجا و کی حذف قسمتی از فایل در میان صحنه روی می‌دهد , به همین روش که انواع مشخص صداها استفاده می‌شوند تا معانی معین را نشان دهند. با کمبود آگاهی , زبان , مشخص , رسانه ها , نویسندگان نرم افزار ممکن است موادی را تولید کنند که به صورت بالقوه در حال گیج کردن کاربران است.

 فشرده سازی رابط کاربر

 کاربرد پویای چند رسانه‌ها همچنین می‌تواند مشکلات مضاعفی را با کنترل استاندارد واسطه‌ها ایجاد کند. برای مثال , اتصال صوتی و تصویری چندین کامپیوتر به هم برای برقراری ارتباط کاربران نیازمند یک مجموعه متفاوت فرمانها از یک کاربرد نستی پردازش کلمه است , و اگر فعل و انفعال میانی این کابردهای مناسب باشد , فرمانها نیاز خواهند داشت , مکمل یکدیگر باشند.

تقاضای بیشتر از توانایی رسانه ها

اگر بیش از یک شکل رسانه در هر زمانی به کاربر ارائه شود , خطر اضافه بار اطلاعات وجود دارد. اتکا به سرعت ارائه هررسانه , بار اضافی اطلاعات می‌تواند به یک مشکل بالقوه برای کاربران برنامه کاربردی تبدیل شود.

پژوهش در مورد همبستگی میان کیفیت اطلاعات و سطوح فعل و انفعال کاربرد و ارتباط به صورت گسترده‌ای در ناحیه ارتباط صوتی و تصویری کاربران از راه دور جاری شده است. اگر چه , مطالعات روان فیزیک خاصی ممکن است در تعیین حدود بالای ارائه اطلاعات موثر رسانه ای در سناریوهای خاص مفید باشد. ( رجوع کنید به Sapsford – Francis , Jonesl , Bearne سال1994)

استفاده از تشبیهات

طراحان زیادی تشبیهات را به کار می‌گیرند تا محیط الکترونیکی را مشابه خصیصه‌های محیط فیزیکی که شناخته شده‌اند سازند. در جائیکه این کار موفقیت آمیز باشد , به کاربران اجازه می‌دهد تا یک درک آسانی از اینکه چه چیزی توسط طراحان بدون نیاز به کمک اضافی یا توضیح در نظر گرفته شده , بدست آورند. اینگونه محیط‌ها همچنین می‌توانند به کاربران تازه کار به وسیله آماده ساختن موضوعات و عملکردهای آشنا در یک محیط نا آشنا اطمینان دهد. وقتی تشبیهات به طور عادی توسط طراحان به کار برده می شوند تا یک معنای ویژه ارائه شده در یک خاص مانند پرکردن کابینت ها پوشه‌ها و اسناد یاکتابهای همراه بخشی از برنامه‌های اصلی قابل اجرا نشان دهند.

برنامه‌های حمایتی و کمکی و وسایل چند رسانه‌ای زیادی از تشبیهات در یک تلاش برای اینکه آنها را برای کاربر شهودی‌تر کند استفاده شد. در حالیکه آنها مخصوصاً مفید می‌باشند اگر که واضح باشند , تشبیهات می‌تواند گمراه کننده باشد و ممکن نیست همیشه بهترین راه برای ارائه اطلاعات باشد.

Shneiderman سال (1997) اعتقاد دارد که طراحان باید احتیاط را به کابرند تا از برنامه سودمندشان در ارائه مفاهیم سطح بالا , شایستگی در میان موضوعات در سطح متوسط و تأثیر پیشنهاد جزئیات در سطح پیکسل اطمینان یابند.

در چند رسانه ای , نویسندگان نرم افزار مجبورند اطمینان یابند که تشبهی که آنها استفاده می‌کنند از طریق قفسه فایل‌ها به تجربه زندگی واقعی بدون از دست دادن هرگونه خصوصیات جدید رسانه خواهند بود.

در سال 1995 Richard Coyne بیان کرد که چگونه پذیرش تشبیهات معین چند رسانه‌ای می‌تواند بر روی اینکه چطور طراحان باید کارگیری تشبیهات در مدت روند طراحی به یک طراحی نزدیک می شوند تأثیر داشته باشد , طراح می‌تواند از مناظر متفاوت یک وظیفه معین آگاه شود.

روشها

مقدمه‌ای بر ISO 13 407

کیفیت استفاده ارزیابی وقتیکه در انتهای فرآیند توسعه انجام گیرد به سبب استفاده محدود می‌باشد مگر اینکه نویسندگان نرم افزار این قصد را داشته باشند که زود برنامه‌ای مطابق روز ایجاد کنند. ارزیابی درباره کاربران عادی محصول مورد نظر , یا اعتبار بر مبنای کاربر باید در تمام مراحل فرآیند طراحی , از اولین مدل‌های نمونه تا پیش از مراحل عرضه به وجود آید. استانداردهای آماده ارائه ISO 13 407 یک چارچوبی برای فعالیت های متمرکز به ارائه محصول جدید کاربر اماده می‌کنند که می‌تواند با محیطهای متعدد ارائه محصول جدید سازگار باشد ؛ از یک نوع آبشار مستقیم فرآیند توسعه تا یک نوع تکراری محیط

استانداردهای ISO 13 407 همانطور که نمایش داده شد روی فرآیند توسعه متمرکز است. دو پروژه تکمیلی اخیر که به وسیله کمیته اروپائیان اداره می‌شد , کتابهای مرجع روش‌هایی که می‌تواند برای تکمیل استاندارد استفاده شود را ارائه کرده است ؛ پروژه‌های RESPECT , INSE.

این پروژه ها راجع به جمع آوری , امتحان کردن و ترقی کردن روش‌های طرز کار برای ارزیابی مبتنی بر کاربر و لوازم مورد نیاز استخراج و نمایش مبتنی بر کاربر می‌باشند.

این مدل شامل پنج مرحله است , چهارتای آن به طور ضمنی به یک حلقه می‌پیوندد. اگرچه روندی که در بالا به طور مختصر شرح داده شد تکراری به نظر می‌آید. اما مطمئناً به چیزهایی بستگی دارد تا اینگونه نباشد : ممکن است به یک مدل آبشاری چرخه زندگی تبدیل شود اگر که واقعاً نیاز باشد تنها یک بار با دقت انجام شود. (‌در این حالت , واقعاً توجه بیشتری روی نیازهای کاربر و ارزیابی کاربر نسبت به آنچه یک نفر به طور عادی انتظار دارد در یک سیستم متداول توسعه بیابد , وجود دارد ) یا توسعه چرخه زندگی مدل 7 ( که در آن مرحله ارزیابی به عنوان علامتی از مرحله خصوصیات دیده شده است ) اگر چه , سود واقعی این مدل زمانی پدیدار می‌شود که برای راهنمایی یک فرآیند توسعه تکراری استفاده شود.

پاراگراف‌های ذیل یک خلاصه در مورد اینکه در هر مرحله فرآیند چه چیزی باید روی دهد ارائه می‌کند. این موضوع مهم است که روی تغییر وضعیت از نوعی به نوع دیگر از هر مرحله تا مرحله بعد تأکید کنیم که یک در تکمیل موفقیت آمیز این فرآیند یک مرحله بسیار تعیین کننده است و مهم است که تا زمانیکه تمام جنبه‌ها برآورده شده‌اند و اطلاعات تأمین نشده اند , به مرحله بعد حرکت نکنید.

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است


دانلود با لینک مستقیم


دانلود پایان نامه کارشناسی رشته کامپیوتر ارزیابی چند رسانه‌ای

تحقیق کامل و جامع از اصل لانه کبوتر در رشته کامپیوتر

اختصاصی از رزفایل تحقیق کامل و جامع از اصل لانه کبوتر در رشته کامپیوتر دانلود با لینک مستقیم و پر سرعت .

تحقیق کامل و جامع از اصل لانه کبوتر در رشته کامپیوتر


تحقیق کامل و جامع از اصل لانه کبوتر در رشته کامپیوتر

اصل لانه کبوتری (به انگلیسی: Pigeonhole principle)، که با نام اصل جعبه (یا کشوی) دیریکله نیز شناخته می‌شود، بیان می‌کند که اگر دو عدد طبیعی n و m را با خاصیت n>m داشته باشیم، اگر n شیء در m لانه کبوتر قرار گیرد، آن‌گاه حداقل یک لانه کبوتر (یا قفسه) دارای بیش از یک شیء خواهد بود. بیانی دیگر از این اصل به این صورت است که اگر در m لانه حداکثر m شیء آن هم با شرط در هر لانه یک شیء، قرار گرفته است؛ اضافه کردن یک شیء دیگر ما را مجبور می‌کند که از یکی از لانه‌ها بار دیگر استفاده کنیم (با این شرط که m متناهی باشد).به طور رسمی این قضیه بیان میکند :"در مجموعه های متناهی تابعی یک به یک وجود ندارد که برد آن کوچکتر از دامنه ی آن باشد ." تجسم این تئوری در زندگی واقعی اینگونه میتواند باشد که در " یک گروه 3 تایی از دستکشها حد اقل 2 دستکش متعلق به یک دست ( راست یا چپ) میباشند ." اصل لانه کبوتری مثالی از اصل شمارش است با وجود این که بدیهی به نظر میرسد با استفاده از آن میتوان حکم های غیر منتظره را ثابت کرد ، برای مثال: " دو نفر در لندن وجود دارند که دارای تعداد موهای یکسان اند ".


دانلود با لینک مستقیم


تحقیق کامل و جامع از اصل لانه کبوتر در رشته کامپیوتر

دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع فایروال (FireWall)

اختصاصی از رزفایل دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع فایروال (FireWall) دانلود با لینک مستقیم و پر سرعت .

دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع فایروال (FireWall)


دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع فایروال (FireWall)

در این پست می توانید متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید:

 

 دانشگاه آزاد اسلامی واحد سما نیشابور

 عنوان :

فایروال ( FireWall )

زیر نظر استاد ارجمند :

 سرکار خانم نعمتی

گرد آورندگان :

محمد الیاسی – حسین کلانتری

مقدمه ای بر فایروال

فایروال وسیله ای است که کنترل دسترسی به یک شبکه را بنابر سیاست امنیتی شبکه تعریف می کند.علاوه بر آن از آنجایی که معمولا یک فایروال بر سر راه ورودی یک شبکه می نشیند لذا برای ترجمه آدرس شبکه نیز بکار گرفته می شود.

مشخصه های مهم یک فایروال قوی و مناسب جهت ایجاد یک شبکه امن عبارتند از:

1-  توانایی ثبت و اخطار :ثبت وقایع یکی از مشخصه های بسیار مهم یک فایروال به شمار  می شود و به مدیران شبکه این امکان را می دهد که انجام حملات را کنترل کنند. همچنین مدیر شبکه می تواند با کمک اطلاعات ثبت شده به کنترل ترافیک ایجاد شده توسط کاربران مجاز بپردازد. در یک روال ثبت مناسب ، مدیر می تواند براحتی به بخشهای مهم از اطلاعات ثبت شده دسترسی پیدا کند. همچنین یک فایروال خوب باید بتواند علاوه بر ثبت وقایع، در شرایط بحرانی، مدیر شبکه را از وقایع مطلع کند و برای وی اخطار بفرستد.

2-  بازدید حجم بالایی از بسته های اطلاعات: یکی از تستهای یک فایروال ، توانایی آن در بازدید حجم بالایی از بسته های اطلاعاتی بدون کاهش چشمگیر کارایی شبکه است. حجم داده ای که یک فایروال می تواند کنترل کند برای شبکه های مختلف متفاوت است اما یک فایروال قطعا نباید به گلوگاه شبکه تحت حفاظتش تبدیل شود.عوامل مختلفی در سرعت پردازش اطلاعات توسط فایروال نقش دارند. بیشترین محدودیتها از طرف سرعت پردازنده و بهینه سازی کد نرم افزار بر کارایی فایروال تحمیل می شوند. عامل محدودکننده دیگر می تواند کارتهای واسطی باشد که بر روی فایروال نصب می شوند. فایروالی که بعضی کارها مانند صدور اخطار ، کنترل دسترسی مبنی بر URL و بررسی وقایع ثبت شده را به نرم افزارهای دیگر می سپارد از سرعت و کارایی بیشتر و بهتری برخوردار است.

3-  سادگی پیکربندی: سادگی پیکربندی شامل امکان راه اندازی سریع فایروال و مشاهده سریع خطاها و مشکلات است.در واقع بسیاری از مشکلات امنیتی که دامنگیر شبکه های می شود به پیکربندی غلط فایروال بر می گردد. لذا پیکربندی سریع و ساده یک فایروال ، امکان بروز خطا را کم می کند. برای مثال امکان نمایش گرافیکی معماری شبکه  و یا ابزرای که بتواند سیاستهای امنیتی را به پیکربندی ترجمه کند ، برای یک فایروال بسیار مهم است.

4-  امنیت و افزونگی فایروال: امنیت فایروال خود یکی از نکات مهم در یک شبکه امن است.فایروالی که نتواند امنیت خود را تامین کند ، قطعا اجازه ورود هکرها و مهاجمان را به سایر بخشهای شبکه نیز خواهد داد. امنیت در دو بخش از فایروال ، تامین کننده امنیت فایروال و شبکه است:

الف- امنیت سیستم عامل فایروال : اگر نرم افزار فایروال بر روی سیستم عامل جداگانه ای کار می کند، نقاط ضعف امنیتی سیستم عامل ، می تواند نقاط ضعف فایروال نیز به حساب بیاید. بنابراین امنیت و استحکام سیستم عامل فایروال و بروزرسانی آن از نکات مهم در امنیت فایروال است.

ب- دسترسی امن به فایروال جهت مقاصد مدیریتی : یک فایروال باید مکانیزمهای امنیتی خاصی را برای دسترسی مدیران شبکه در نظر بگیرد. این روشها می تواند رمزنگاری را همراه با روشهای مناسب تعیین هویت بکار گیرد تا بتواند در مقابل نفوذگران تاب بیاورد.

 انواع فایروال

انواع مختلف فایروال کم و بیش کارهایی را که اشاره کردیم ، انجام می دهند، اما روش انجام کار توسط انواع مختلف ، متفاوت است که این امر منجر به تفاوت در کارایی و سطح امنیت پیشنهادی فایروال می شود.بر این اساس فایروالها را به 5 گروه تقسیم می کنند.

1-  فایروالهای سطح مدار (Circuit-Level): این فایروالها به عنوان یک رله برای ارتباطات TCP عمل می کنند. آنها ارتباط TCP را با رایانه پشتشان قطع می کنند و خود به جای آن رایانه به پاسخگویی اولیه می پردازند.تنها پس از برقراری ارتباط است که اجازه می دهند تا داده به سمت رایانه مقصد جریان پیدا کند و تنها به بسته های داده ای مرتبط اجازه عبور می دهند. این نوع از فایروالها هیچ داده درون بسته های اطلاعات را مورد بررسی قرار نمی دهند و لذا سرعت خوبی دارند. ضمنا امکان ایجاد محدودیت بر روی سایر پروتکلها ( غیر از TCP) را نیز نمی دهند.

2-  فایروالهای پروکسی سرور : فایروالهای پروکسی سرور به بررسی بسته های اطلاعات در لایه کاربرد می پردازد. یک پروکسی سرور درخواست ارائه شده توسط برنامه های کاربردی پشتش را قطع می کند و خود به جای آنها درخواست را ارسال می کند.نتیجه درخواست را نیز ابتدا خود دریافت و سپس برای برنامه های کاربردی ارسال می کند. این روش با جلوگیری از ارتباط مستقیم برنامه با سرورها و برنامه های کاربردی خارجی امنیت بالایی را تامین می کند. از آنجایی که این فایروالها پروتکلهای سطح کاربرد را     می شناسند ، لذا می توانند بر مبنای این پروتکلها محدودیتهایی را ایجاد کنند. همچنین آنها می توانند با بررسی محتوای بسته های داده ای به ایجاد محدودیتهای لازم بپردازند. البته این سطح بررسی می تواند به کندی این فایروالها بیانجامد. همچنین از آنجایی که این فایروالها باید ترافیک ورودی و اطلاعات برنامه های کاربردی کاربر انتهایی را پردازش کند، کارایی آنها بیشتر کاهش می یابد. اغلب اوقات پروکسی سرورها از دید کاربر انتهایی شفاف نیستند و کاربر مجبور است تغییراتی را در برنامه خود ایجاد کند تا بتوان داین فایروالها را به کار بگیرد.هر برنامه جدیدی که بخواهد از این نوع فایروال عبور کند ، باید تغییراتی را در پشته پروتکل فایروال ایجاد کرد.

3-  فیلترهای Nosstateful packet : این فیلترها روش کار ساده ای دارند. آنها بر مسیر یک شبکه می نشینند و با استفاده از مجموعه ای از قواعد ، به بعضی بسته ها اجازه عبور می دهند و بعضی دیگر را بلوکه می کنند. این تصمیمها با توجه به اطلاعات آدرس دهی موجود در پروتکلهای لایه شبکه مانند IP و در بعضی موارد با توجه به اطلاعات موجود در پروتکلهای لایه انتقال مانند سرآیندهای TCP و UDP اتخاذ می شود. این فیلترها زمانی می توانند به خوبی عمل کنند که فهم خوبی از کاربرد سرویسهای مورد نیاز شبکه جهت محافظت داشته باشند. همچنین این فیلترها می توانند سریع باشند چون همانند پروکسی ها عمل نمی کنند و اطلاعاتی درباره پروتکلهای لایه کاربرد ندارند.

4-  فیلترهای ٍStateful Packet : این فیلترها بسیار باهوشتر از فیلترهای ساده هستند. آنها تقریبا تمامی ترافیک ورودی را بلوکه می کنند اما می توانند به ماشینهای پشتشان اجازه بدهند تا به پاسخگویی بپردازند. آنها این کار را با نگهداری رکورد اتصالاتی که ماشینهای پشتشان در لایه انتقال ایجاد می کنند، انجام می دهند.این فیلترها ، مکانیزم اصلی مورد استفاده جهت پیاده سازی فایروال در شبکه های مدرن هستند.این فیلترها می توانند رد پای اطلاعات مختلف را از طریق بسته هایی که در حال عبورند ثبت کنند. برای مثال شماره پورت های TCP و UDP مبدا و مقصد، شماره ترتیب TCP و پرچمهای TCP. بسیاری از فیلترهای جدید Stateful می توانند پروتکلهای لایه کاربرد مانند FTP و HTTP را تشخیص دهند و لذا می تواننداعمال کنترل دسترسی را با توجه به نیازها و سرعت این پروتکلها انجام دهند.

5-  فایروالهای شخصی : فایروالهای شخصی ، فایروالهایی هستند که بر روی رایانه های شخصی نصب می شوند.آنها برای مقابله با حملات شبکه ای طراحی شده اند. معمولا از برنامه های در حال اجرا در ماشین آگاهی دارند و تنها به ارتباطات ایجاد شده توسط این برنامه ها اجازه می دهند که به کار بپردازند نصب یک فایروال شخصی بر روی یک PC بسیار مفید است زیرا سطح امنیت پیشنهادی توسط فایروال شبکه را افزایش می دهد. از طرف دیگر از آنجایی که امروزه بسیاری از حملات از درون شبکه حفاظت شده انجام  می شوند ، فایروال شبکه نمی تواند کاری برای آنها انجام دهد و لذا یک فایروال شخصی بسیار مفید خواهد بود. معمولا نیازی به تغییر برنامه جهت عبور از فایروال شخصی نصب شده (همانند پروکسی) نیست.

 موقعیت یابی برای فایروال

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

موقعیت و محل نصب از لحاظ توپولوژیکی : معمولا مناسب به نظر می رسد که فایروال را در درگاه ورودی/خروجی شبکه خصوصی نصب کنیم. این امر به ایجاد بهترین پوشش امنیتی برای شبکه خصوصی با کمک فایروال از یک طرف و جداسازی شبکه خصوصی از شبکه عمومی از طرف دیگر کمک می کند.

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

مسیریابی نامتقارن : بیشتر فایروالهای مدرن سعی می کنند اطلاعات مربوط به اتصالات مختلفی را که از طریق آنها شبکه داخلی را به شبکه عمومی وصل کرده است، نگهداری کنند. این اطلاعات کمک می کنند تا تنها بسته های اطلاعاتی مجاز به شبکه خصوصی وارد شوند. در نتیجه حائز اهمیت است که نقطه ورود و خروج تمامی اطلاعات به/از شبکه خصوصی از طریق یک فایروال باشد.

فایروالهای لایه ای : در شبکه های با درجه امنیتی بالا بهتر است از دو یا چند فایروال در مسیر قرار گیرند. اگر اولی با مشکلی روبرو شود، دومی به کار ادامه می دهد.معمولا بهتر است دو یا چند فایروال مورد استفاده از شرکتهای مختلفی باشند تا در صورت وجود یک اشکال نرم افزاری یا حفره امنیتی در یکی از آنها ، سایرین بتوانند امنیت شبکه را تامین کنند.

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

 


دانلود با لینک مستقیم


دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع فایروال (FireWall)