طراحی وب سایت دانشگاه با ASP

برای دریافت پروژه اینجا کلیک کنید

 طراحی وب سایت دانشگاه با ASP دارای 58 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد طراحی وب سایت دانشگاه با ASP  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

فهرست
چكیده
مقدمه
فصل اول – مقدمه ای بر برنامه های استفاده شده  6
1 – 1             استفاده از بانك اطلاعاتی Access   7
1 – 2             استفاده از سیستم DSN  12
1 – 3             آشنایی با ساختار زبان VBScript 13
1 – 4             ارتباط بانك اطلاعاتی و ASP 15
1 – 5             اجرای صفحات ASP  19
1 – 6             آشنایی با ASP 23
فصل دوم – شرح و ساختار كلی سایت خبری  31

 

چكیده
عنوان این پروژه تهیه سایت خبری یك سازمان بر روی وب میباشد.
هدف آن اطلاع رسانی تازه های كامپیوتر و تكنولوژی كه هر عضوی توانایی ثبت و مطالعه خبر را دارد میباشد.
در این سایت افراد میتوانند خبرهای مورد نظر خود را مطالعه كنند و اشخاص میتوانند با عضویت در سایت خبرهای مورد نظر خود را گروه بندی نموده و در بانك خبرها ثبت نمایند و افراد بر اساس گروه خبری وارد بخش خبر مورد علاقه خود شده و خبرهای آن گروه را مطالعه نمایند.
تكنولوژی وب در پی برآورده سازی نیازهای گوناگون سیستم های مختلف مبننی بر وب، همچون بانك های اطلاعاتی، می باشد. تكنیك های مختلفی در زمینه رفع این نیازمندیها وجود دارند و بكار گرفته می شوند. این تكنیك ها به دو دسته تكنیك های سمت مشتری و تكنیك های سمت سرویس دهنده تقسیم می شوند.
یكی از تكنیك های سمت سرویس دهنده، ASP می باشد. ASP روش جدیدی جهت ایجاد صفحات پویا با قابلیت دسترسی به اطلاعات می باشد. برای پردازش صفحه ASP از ماشینی به نام WebServer استفاده می شود. این ماشین صفحه ASP را قبل از ارسال، به صفحه HTML معمولی تبدیل می نماید.
در این مستندات ابتدا توضیح مختصری از تكنولوژی های بكارگرفته شده آمده است. در ادامه به معرفی ASP و تشریح كاربرد این تكنیك جهت ایجاد این سایت پرداخته می شود. در پایان رهنمودهایی جهت انتخاب تكنولوژی صحیح ایجاد وب ارائه شده است.
مقدمه
عمومیت اینترنت اهمیت آشنایی با تكنولوژیهای جدید در این زمینه را افزایش داده است. یك برنامه نویس اینترنت در دنیای امروز با انتخاب ها و نكات جدید بسیاری روبرو می باشند كه انتخاب تكنولوژی مناسب را مشكل می كند.
ایجاد صفحات وب با ارائه صفحاتی شامل نكات برجسته علمی و تبلیغاتی شروع شد. این صفحات معمولا حاوی اطلاعات كوتاهی به صورت ایستا بودند. تكنیكهای ساده جهت ایجاد این صفحات به كار می رفت. فقط چند سال قبل ساخت صفحات وب به تخصص كمی در مورد كار با زبان ایجاد فرامتن نیازمند بود. این صفحات در ویرایشگرهای متنی ساده ایجاد می شد. ولی با پیشرفت اینترنت و همگانی شدن استفاده از آن، زمینه های اطلاعاتی جدیدی مطرح شد و لزوم پوشش حجم وسیعی از اطلاعات بوجود آمد كه تكنیك های اولیه جوابگوی این نیازها نبودند.
توسعه اینترنت در چند سال گذشته از صفحات با محتوای ثابت به سمت صفحات با محتوای پویا حركت كرده است. این پویایی در هر دو جنبه ایجاد و نمایش صفحات وجود دارد. ایجاد كننده های صفحات وب جهت كاستن عملیات ایجاد و تغییر صفحات به دنبال استفاده از تكنیك هائی جهت ایجاد پویایی صفحات می باشد. در این پروژه به ارائه برخی از این تكنیك ها می پردازیم.  
فصل اول
تكنولوژی های بكار گرفته شده
•    استفاده از بانك اطلاعاتی Access
•    استفاده از سیستم DSN
•    آشنایی با ساختار زبان VBScript
•    ارتباط بانك اطلاعاتی و ASP
•    اجرای صفحات ASP
•    آشنایی با ASP
استفاده از بانك اطلاعاتی Access
استفاده از بانك های اطلاعاتی
یك روش برای در دسترس قرار دادن اطلاعات استفاده از بانك های اطلاعاتی میباشد. بانك های اطلاعاتی برای ذخیره مقادیر عظیمی از اطلاعات طراحی شده اند. بانك های اطلاعاتی تجارتی زیادی مثل Access، Microsoft SQL، Oracle و Informix در دسترس قرار دارند.
خواندن و تغییر دادن محتویات یك بانك اطلاعاتی از طریق یك صفحه ASP كاری ممكن می باشد. این یكی از كارهای سودمند و جالب Active Server Page می باشد.
پایگاه داده های رابطه ای چیستند؟
مفیدترین ویژگی Active server ها توانایی آنها در ارتباط ساده یك صفحه ASP با یك بانك اطلاعاتی می باشد.
تعداد زیادی برنامه های بانك اطلاعاتی تجارتی محبوب در دسترس می باشند مثل Microsoft Access، كه در داخل برنامه Office قرار دارد، Microsoft SQL-server، Oracle، Informix، DB2 و برنامه های دیگر. از آنجایی كه ASP از تكنولوژی مایكروسافت استفاده می كند، بانك اطلاعاتی مایكروسافت بیشتر با آن مورد استفاده قرار می گیرند. اگرچه، هیچ دلیلی وجود ندارد كه نتوانید از بانك اطلاعاتی غیر مایكروسافتی مثل Oracle با آن استفاده نمایید.
هدف اولیه از یك بانك اطلاعاتی ذخیره اطلاعات می باشد. اگرچه هر سیستم بانك اطلاعاتی ممكن است ریزه كاریهای مختص به خود را داشته باشد، اما همه بانك اطلاعاتی از جداول برای ذخیره اطلاعات استفاده می كنند.
یك جدول، كه دارای سطر و ستون به شكل یك ماتریس می باشد، مانند یك انبار برای قرار گرفتن نمونه هایی از objectها استفاده می شود. ستونهای یك جدول خصوصیات object را تشریح می كنند، در حالی كه سطر یك نمونه منحصر به فرد از object می باشد. به سطرها در جدول بانك اطلاعاتی اصطلاحا ركورد گفته می شود، و به ستونها نیز اصطلاحا فیلد گفته می شود.
بانك های اطلاعاتی می توانند شامل چندین جدول بانك اطلاعاتی باشند، و معمولا هر جدول بانك اطلاعاتی یك object منفرد را نشان می دهد.
سیستمهای بانك اطلاعاتی تك فایلی ( flat-file )، جدولهای وابسته را با یكدیگر و در داخل جدول بزرگتر ادغام می نمایند.
بانك اطلاعاتی تك فایلی به ندرت امروزه مورد استفاده قرار می گیرند، زیرا داده های غیر ضروری در داخل آنها به صورت تكراری وجود دارد. برای پاك كردن این اطلاعات تكراری، از یك فرآیند به نام نرمال سازی استفاده می كنیم. بانك اطلاعاتی نرمال سازی شده شامل هیچ داده تكراری نمی باشد. بانك اطلاعاتی flat-file حدود سه سال قبل با بانك های اطلاعاتی رابطه ای جایگزین شدند، كه عملا استاندارد حال حاضر می باشند. وقتی جداول بانك اطلاعاتی با استفاده از بانك های اطلاعاتی رابطه ای طراحی می شوند، به خاطر داشته باشید كه هر object منحصر به فرد را با واسطه یا بی واسطه، در جدول بانك اطلاعاتی مختص به خودش نشان می دهد.
چرا از بانك اطلاعاتی استفاده می شود؟
بانك های اطلاعاتی، مانند فایل های متنی، cookie ها، و شئ های session و Application دارای زمان و مكان مختص به خودشان می باشند. اگر نیاز به ذخیره مقدار زیادی از اطلاعات در یك دوره طولانی از زمان را دارید، بانك های اطلاعاتی یكی از بهترین راه حلها می باشند. یكی از شاخه های اصلی در علم كامپیوتر اختصاص به مطالعه طراحی بانك اطلاعاتی كارآمد می باشد. با داشتن جستجوهای قدرتمند در داخل سیستم های بانك اطلاعاتی، یك بانك اطلاعاتی مؤثرترین و كارآمدترین متد ذخیره اطلاعات    می باشد.
با این وجود، بانك اطلاعاتی دارای نقاط ضعفی نیز می باشد. اتصال به یك بانك اطلاعاتی از طریق یك صفحه ASP كار پرخرجی می باشد. خواندن محتویات فایل متنی و یا یك cookie، زمان خیلی كمتری را از اتصال به یك بانك اطلاعاتی و دریافت اطلاعات از جداول بانك اطلاعاتی می گیرد. به همین دلیل، بانك های اطلاعاتی همیشه بهترین راه حل نیستند.
بانك های اطلاعاتی فقط برای انجام یك كار طراحی شده اند: ذخیره داده ها. به همین دلیل بانك های اطلاعاتی برای ذخیره و بازیابی اطلاعات فوق العاده مناسب می باشند. بانك های اطلاعاتی ظرفیت ذخیره مقادیر زیادی از اطلاعات را دارند. برخی از بزرگترین بانك های اطلاعاتی دنیا شامل چندین ترا بایت می باشند ( یك ترابایت برابر 1000 گیگا بایت، یا 1000000 مگا بایت می باشد )!
یكی دیگر از ویژگیهای خوب استفاده از بانك های اطلاعاتی از طریق یك صفحه ASP این است كه تعداد زیادی از نرم افزارهای موجود از بانك های اطلاعاتی برای ذخیره كردن اطلاعات استفاده می كنند. با استفاده از بانك های اطلاعاتی از طریق صفحات ASP، می توانید با نرم افزارهای موجود ارتباط برقرار كنید و داده هایش را به صورت online دریافت كنید.
ساخت بانك اطلاعاتی
حال كه در مورد مبانی بانك های اطلاعاتی بحث كردیم، وقتش رسیده است كه كار كردن با آنها را شروع كنیم! در ادامه چگونگی ایجاد یك بانك اطلاعاتی با استفاده از Microsoft Access 2000 و سپس پرس و جو از این بانك اطلاعاتی از طریق یك صفحه ASP را خواهیم دید.
قبل از آنكه بانك اطلاعاتی خود را بسازید، باید تصمیم بگیرید كه چه نوع از اطلاعاتی را می خواهید ذخیره نمایید. تصور كنید كه قصد ذخیره كردن یك صفحه وب را دارید كه اطلاعات مربوط به دوستانتان و علاقه مندیهایشان را ذخیره می كند. برای این مثال، یك جدول به نام itinput كه شامل ستونهای زیر می باشد بسازید…
منابع
1 – كتاب Active Server Page 3.0 in 21 Day ترجمه مهندس سعید هراتان و مهندس مهرداد توانا
2 – كتاب آموزش VBScript ترجمه مهندس محمد محمدزاده و مهندس پژمان مثنوی
3 – كتاب Activex Data Object مترجم مهندس بهزاد اكبری
4 – جزوات آموزشی درس ASP
5 – جزوات درس اصول و كاربرد شبكه های اطلاع رسانی
6_ نرم افزار آموزش ASP

برای دریافت پروژه اینجا کلیک کنید

استفاده از الگوهای آماری در بررسی کاربری مدل های داده چند بعدی OLAP

برای دریافت پروژه اینجا کلیک کنید

 استفاده از الگوهای آماری در بررسی کاربری مدل های داده چند بعدی OLAP دارای 250 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

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

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

    
بخشی از فهرست مطالب پروژه استفاده از الگوهای آماری در بررسی کاربری مدل های داده چند بعدی OLAP

 

 
-11 مقدمه ای بر پایگاه داده اوراكل 
1-1-1 اثر جو اقتصادی بر هزینه تكنولوژی
2-1-1 یكپارچگی
3-1-1 یكپارچه سازی سخت افزار
  4-1-1 یكپارچه سازی داده ها از دید یك شركت معمولی 
5-1-1 یكپارچه سازی برنامه های كاربردی 
  6-1-1   Gridدر پایگاه داده اوراكل 10g
2-1 انبار داده چیست؟
1-2-1 چرا به یك انبار داده نیاز دارید؟
3-1 چشم انداز تاریخی
  1-3-1- ظهور انبار داده
  . 4-1 از مدلسازی ارتباط –موجودیت (E-R)استفاده نکنید
1-4-1 مدل سازی ابعاد
3-4-1 جدول حقیقی
4-4-1جدول ابعادی (چند بعدی)
5-4-1 كلید های مخزن
5-1 پیكر بندی های سخت افزار برای یك انبار
1-5-1معماری سرویس دهنده:
2-5-1معماری پایگاه داده اراکل
فصل دوم : ابزار های انبار اراكل 
1-2: کدام ابزار
2-2: سازنده انبار اوراکل یا OWB
1-2-2: تنظیم سازنده انبار
2-2-2: مشتری سازنده انبار اراکل
3-2-2: اهداف و منابع داده ها:
4-2-2: تعریف جداول موجود در انبار داده هایمان
5-2-2: ایجاد ابعاد
6-2-2: ایجاد یک مکعب
7-2-2: تعریف منبع برای هدف نقشه کشی ها:
8-2-2: تایید طرح
9-2-2: ایجاد طرح
10-2-2: استقرار طرح
3-2: کاشف اراکل
1-3-2: چرا Discoverer؟
2-3-2: تنظیم محیط
3-3-2: پرس و جو با استفاده از Plus Discoverer:
4-2: گزارشات اراکل 10g
1-4-2: ایجاد یک گزارش با استفاده از سازنده گزارش
2-4-2: مثال های بیشتر از گزارش های اراکل
3-4-2:انتشار گزارش
5-2: خلاصه
فصل سوم : انبار داده و وب
1-3: بررسی بیشتر
1-1-3: اینترنت و اینترانت
2-1-3: نرم افزار اراکل برای انبار داده
2-3: سرور کاربردی اراکل10g 
1-2-3: چرا یک پرتال تنظیم می کنند؟
2-2-3: پرتال AS Oracle 
1-3-3: Discoverer
2-3-3:انتشار یک پورت لت
3-3-3: ایجاد گزارش استاتیک
4-3: خصوصی سازی اراکل
5-3: انبار داده ها و هوشمندی تجارت الکترونیکی
فصل چهارم: OLAP 
1-4: چرا نیاز به انتخاب اراکل OLAP داریم؟
1-1-4: کاربردهای OLAP
2-1-4: ROLAP و MOLAP
3-1-4: اراکل OLAP
2-4: معماری اراکل OLAP
3-4: فضاهای کاری آنالیزی
1-3-4: مدل چند بعدی
2-3-4: ایجاد فضای کاری آنالیزی
1-4-4: تعریف متاداده OLAP برای شمای رابطه ای
2-4-4:دیدگاه های متاداده OLAP و ارزیابی آن
5-4: مدیر فضای کاری آنالیزی
1-5-4: ایجاد ویزارد فضای کاری آنالیزی
2-5-4: تجدید فضای کاری آنالیزی
3-5-4: ایجاد یک طرح تجمعی
4-5-4: فعال سازهای فضای کاری آنالیزی
6-4: پرس وجوی فضاهای کاری آنالیزی
1-6-4: DML OLAP
2-6-4: بسته DBMS-AW
3-6-4: دسترسی SQL به فضای کاری آنالیزی
4-6-4: OLAP API و اجزاء BI
7-4: خلاصه
فصل پنجم : داده كاوی اراكل
5.1: داده کاوی در پایگاه داده اوراکل g10 
5.2. :روش های داده کاوی اوراکل 
5.2.1 : قوانین پیوستگی
5.2.2 : گروهبندی 
5.2.3 : استخراج ویژگی
5.2.4 : طبقه بندی
5.2.5 : بازگشت
5.2.6 : استاندارد PMML 
5.3.1 : فرمت داده 
2-3-5 آماده سازی داده
4-5: استفاده از واسط های داده کاوی اوراکل
1-4-5: نصب و پیکربندی
2-4-5: روند آنالیز داده کاوی
3-4-5: مثالی با استفاده از جاوا API
4-4-5: مثال استفاده از روال های PL/SQL
5-5: خلاصه
فصل ششم: قابلیت دسترسی بالا و انبار داده
1-6: مقدمه
2-6: یک سیستم با قابلیت دسترسی بالا چیست؟
1-2-6: ویژگی های یک سیستم با قابلیت دسترسی بالا
2-2-6: نقش بهترین تجربیات عملکردی
3-6: مرور اجمالی پایگاه داده اوراکل 10g با ویژگی  قابلیت دسترسی بالا
4-6: حفاظت در برابر نقص های سخت افزاری/ نرم افزاری
1-4-6: گروههای با عملکرد حقیقی (RAC)
2-4-6: ذخیره سازی مطمئن
3-4-6: آشکار سازی و نمایش خط:
4-4-6: مدیریت منابع
5-6: حفاظت در برابر فقدان داده
1-5-6: بازیابی از نقص(خطا) متوسط
2-5-6: بازیابی از خطاهای انسانی با استفاده از flash back:
3-5-6: بازیابی خطا بوسیله گارد یا نگهبان داده
4-5-6: معماری حداکثر قابلیت دسترسی اوراکل
5-5-6: حفاظت متا داده
6-6: مدیریت زمان برنامه ریزی شده
1-6-6: پیکربندی مجدد نمونه پویا
2-6-6: حفظ آنلاین
3-6-6: تعریف مجدد آنلاین:
4-6-6: ارتقاء درجه
7-6: مدیریت طول عمر اطلاعات
8-6: خلاصه:
 ضمیمه
فهرست شكل ها
شکل 1-2: سازنده انبار- مراحل تنظیم یا به راه اندازی    
شکل 2-2: میز فرمان مشتری OWB
شکل 3-2: سازنده انبار- ایجاد یک مدول
شکل 4-2: سازنده انبار- ایجاد یک منبع پایگاه داده اراکل
شکل 5-2: سازنده انبار- اهداف و منابع داده های تعریف شده
شکل 6-2: سازنده انبار- ورود جدول
شکل 7-2: سازنده انبار- به طور دستی جدول را تعریف کنید
شکل 8-2: سازنده انبار- سلسله مراتب بعد
شکل 9-2: سازنده انبار- ایجاد مکعب
شکل 10-2: ویرایش گر نقشه 
شکل 11-2: ویرایشگر نقشه کشی همراه با اتصالات
شکل 12-2: جستجوی کلید محصول
شکل 13-2: فیلترسازی داده های منبع
شکل 14-2: تایید طرح
شکل 15-2: ایجاد طرح
شکل 16-2: رمز ایجاد شده توسط سازنده انبار اراکل
شکل 17-2: مدیر استقرار
شکل 18-2: مدیریت استقرار- گزارش پیش استقراری
شکل 19-2: بخش مدیر کار،اهداف OWB استقرار یافته را نشان می دهد
شکل 20-2: وضعیت مدیر استقرار (Deployment Manager)
شکل 21-2: پیکربندی طرح فیزیکی
شکل 22-2: Discoverer و Oracle Portal
شکل 23-2: Viewer Discoverer- اجرای پرس و جوی ما
شکل 24-2: Viewer Discoverer- فهرست فروش کشور Category sales by Country
شكل 25-2- Viewer Discoverer
شکل 26-2: Viewer Discoverer-Drill Drown
شکل 27-2: Administrator Discoverer- ایجاد یک EUL
شکل 28-2: Administrator Discoverer- انتخاب شِما
شکل 29-2: Administrator Discoverer- انتخاب جدول و دیدگاه ها
شکل 30-2: Administrator Discoverer- اتصالات خودکار
شکل 31-2: مدیر- نامگذاری ناحیه تجاری
شکل 32-2: Administrator Discoverer- فهرست کار
شکل 33-2: Administrator Discoverer- تنظیم ناحیه تجاری
شکل 34-2: Administrator Discoverer- تغییر جزئیات آیتم
شکل 35-2: Administrator Discoverer- ایجاد یک آیتم محاسبه شده
شکل 36-2: Administrator Discoverer= تعریف اتصال
شکل 37-2: Administrator Discoverer (مدیر کاشف)- تعریف سلسله مراتب
شکل 38-2: Administrator Discoverer- کلاس آیتم
شکل 39-2: Administrator Discoverer (مدیر کاشف)- خلاصه سازی
شکل 40-2: Administrator Discoverer- تجدید خلاصه 
شکل 41-2: Administrator Discoverer- ویزارد خلاصه
شکل 42-2: مدیر- اجازه دسترسی به ناحیه تجاری
شکل 43-2: مدیر کاشف (administrator Discoverer)- ناحیه تجاری
شکل 44-2: Plus Discoverer- فهرستی از پایگاه داده ها برای اتصال
شکل 45-2: Plus Discoverer – استفاده از کتاب کاری
شکل 46-2: Plus Discoverer- انتخاب داده برای نمایش
شکل 47-2: Plus Discoverer- آرایش جدول
شکل 48-2: Plus Discoverer- گزینه های پرس و جو
شکل 49-2: Plus Discoverer- عنوان های فرمت
شکل 50-2: Plus Discoverer- انواع داده ها
شکل 51-2: Plus Discoverer- تعریف کل ها
شکل 52-2Plus  Discoverer- گزارش
شکل 53-2: Plus  Discoverer- بازرس SQL
شکل 54-2: Plus Discoverer- Drill up/down  داده
شکل 55-2: Plus Discoverer- گزارش در سطح ماهانه
شکل 56-2: Plus Discoverer ویزارد نمودار
شکل 57-2: Plus Discoverer- نمودار فروش های سالانه
شکل 58-2: Plus Discoverer- انتخاب داده های خاص
شکل 59-2: Plus Discoverer- گزارش با استفاده از شرایط
شکل 60-2: گزارشات اراکل- انتخاب وسیله گزارش
شکل 61-2: انتخاب شیوه گزارش و عنوان
شکل 62-2: گزارشات اراکل- انتخاب منبع داده ها
شکل 63-2: گزارشات راکل- مشخص سازی پرس و جو SQL
شکل 64-2: گزارشات اراکل- استفاده از سازنده پرس و جو
شکل 65-2: گزارشات اراکل- ستون ها برای نمایش
شکل 66-2: گزارشات اراکل- محاسبه کل ها
شکل 67-2: گزارشات اراکل- مشخص سازی عرض های ستون
شکل 68-2: گزارشات اراکل- گزارش نهایی
شکل 69-2: گزارشات اراکل- گزارش ماتریس
شکل 70-2: گزارشات اراکل- گزارش شرطی
شکل 1-3: sign in شدن به پرتال Oracle AS
شکل 2-3: پرتال Oracle AS- نمایش استاندارد
شکل 3-3: یک  نگاه کلی به پرتال  Oracle AS
شکل 4-3: ایجاد یک صفحه وب EASYDW در پرتال AS  Oracle
شکل 5-3: پرتال EASYDW
شکل 6-3: مدیریت سرور کاربردی اراکل 10g
شکل 7-3: ایجاد یک اتصال عمومی
شکل 8-3: مشخص سازی جزئیات پورت لت
شکل 9-3: استفاده از نوارها برای آغازیک گزارش استاتیک
شکل 1-4: معماری پایگاه داده اراکل 10g OLAP
شکل 2-4: پایه سطح در برابر جدول بعد والدینی- فرزندی
شکل 3-4:نسخه مفهومی متغیر
شکل 4-4: ابعاد در مدیرکاری اراکل
شکل 5-4: ویرایش گزینه های OLAP برای یک بعد
شکل 6-4: متاداده CWM برای بعد
شکل 7-4: ایجاد معکب در مدیرکاری اراکل
شکل 8-4: اضافه شدن ابعاد به مکعب
شکل 9-4: یک واحد اندازه گیری را به مکعب اضافه کنید
شکل 10-4: تعریف تجمعات برای مکعب
شکل 11-4: مدیر فضای کاری آنالیزی- دیدگاه کاتالوگ OLAP
شکل 12-4: مدیر فضای کاری آنالیزی- دیدگاه هدف
شکل 13-4: ایجاد ویزارد فضای کاری آنالیزی- نام گذاری فضای کاری آنالیزی
شکل 14-4: انتخاب مکعب برای فضای کاری آنالیزی
شکل 15-4: انتخاب گزینه های ساخت برای فضای کاری آنالیزی
شکل 16-4: گزینه های ذخیره سازی پیشرفته و نامگذاری
شکل 17-4: اسکریپت ایجاد فضای کاری آنالیزی را در یک فایل ذخیره سازید
شکل 18-4: ایجاد فضای کاری آنالیزی در پیشرفت
شکل 19-4: فضای کاری آنالیزی در دیدگاه کاتالوگ OLAP
شکل 20-4: ایجاد یک بعد مرکب
شکل 21-4: اضافه کردن ابعاد به یک ترکیب
شکل 22-4: مشخص سازی ترتیب ابعاد در یک ترکیب
شکل 23-4: مشخص سازی اندازه های segment وترتیب بعد
شکل 24-4: فضای کاری آنالیزی- منوی راست کلیک 
شکل 25-4: تجدید فضای کاری آنالیزی- انتخاب مکعب ها
شکل 26-4: تجدید فضای کاری آنالیزی- انتخاب ابعاد
شکل 27-4: تجدید فضای کاری آنالیزی در پیشرفت
شکل 28-4: ویزارد طرح تجمعی- انتخاب اندازه تجمع
شکل 29-4: انتخاب سطوح برای تجمع
شکل 30-4: مرور طرح تجمعی
شکل 31-4: دسترسی به فضای کاری آنالیزی
شکل 32-4: کاربرگ OLAP در مدیر فضای کاری اوراکل
شکل 5.1 : قوانین پیوستگی 
شکل 5.2 : گروه بندی
شکل 5.3 : طبقه بندی
شکل 5.4 : ماتریس اختلال
شکل 5.5 : استفاده از آنالیز ارتقاء برای اعلان های هدفمند
شکل5.6 : درخت تصمیم گیری شبکه تطبیقی Bayes
شکل 5.7 : فرمت های جدول برای داده کاوی
شکل 1-6: ویژگی های قابلیت دسترسی بالای پایگاه داده اوراکل 10g 
شکل 2-6: پیکربندی گارد داده 
شکل 3-6: صفحه مدیریت کنترل شبکه
شکل 4-6: تنظیم پیکربندی گارد داده
شکل 5-6: اضافه کردن یک پایگاه داده ی جانشین
شکل 6-6: انتخاب نوع back up
شکل 7-6: مشخص سازی گزینه های پشتیبانی
شکل 8-6: مشخص سازی Oracle Home برای جانشین
شکل 9-6: مشخص سازی موقعیت های فایل جانشین
شکل 10-6: مشخص نمودن پیکربندی جانشین
شکل 11-6: فرایند ایجاد جانشین
شکل 12-6: پیکربندی گارد داده 
شکل 13-6: نمایش عملکرد گارد داده 
شکل 14-6: عملکرد switchover
شکل 15-6: switchover کامل
شکل 16-6: ساختار با حداکثر قابلیت دسترسی
شکل 17-6: سیاست های مدیریت ذخیره سازی برطبق رده داده ها
 1.1 مقدمه ای بر پایگاه داده اوراكل g10
1-1-1 اثر جو اقتصادی بر هزینه تكنولوژی:
 
 
 
یكی از چالشهای عصر حبابی امروز   post-dot-comكه بسیاری از سازمانها با آن مواجه می شوند ایناست كه انتظار می رود به منظور بهبود سود و زیان شركت بدون هیچ بودجـه یـا بـا بودجـه كمـی محـصول بیشتری را ارائه دهند. ممكن است شما به دنبال روشهای جدیدی برای كاهش هزینه های تكنولـوژی باشـید در حالیكه در همان زمان از تقاضاهای جدید و بهبود بهره وری حمایت كنید .بعوه به دنبال رسوایی های اخیر حسابداری شركتها قوانین جدیدی تدوین شد تا مسئولیت شـركتها را با و ببرد افشا سازی مالی را بهبود بخشد و با جرائم مـالی شـركت مبـارزه كنـد . Sarbanes-Oxle بـه شركتها امر می كند تا كنترل جامعی بر مدیریت داشته باشند و اطعات مالی شركت را گزارش كنند و برایانجام این كنترلها مسئولیتهایی را برروی مدیر عامل و مدیر ارشد قرار می دهد.این عمل به نوبه خود نیازهای جدیدی را بر سازمانIT تحمیل می كند. بنابراین چگونه قادرید هزینه ها را قطع و در همـان زمـان دیـدگاه كلـی از اطعـات مهـم تجـاری راگسترش دهید ؟ چگونه می توانید از اطعاتتان برای استفاده بهتـر از فرصـتهای برابـر تـاثیر اجـرا بهبـود  تصمیم گیری بدست آوردن مرز رقابت افزایش سود و تهیه گزارش مالی بهره ببرید؟
 
 2-1-1 یكپارچگی:
امكان یك پاسخ برای یكپارچگی وجود دارد. بسیاری از شـركتها فعالیتهایـشان را بـا یكپارچـه سـازی سخت افزار اطعات و تقاضا ها تسهیل می كنند و فعالیتهای تجاری خود را به تعداد كوچكتری از سیـستمهای متمركز ساده می كنند سپس ، سادگی از طریق یك شالوده مشترك می تواند بدست آیـد توانـایی برای جمع آوری اطعات هر بخش از شركت دید سازمانی قابل قبـولی را بـه همـراه دارد. در ایـن یكپارچـهسازی انبار داده نقش بسزایی دارد.
3-1-1 یكپارچه سازی سخت افزار:
در گذشته شركتها معمو برای هر تقاضای جدید سیستم های اختصاصی خریداری مـی كردنـد. ایـن سیستمها زم بود به اندازه ای باشند كه تقاضاهای زیادی را جوابگو باشند به این معنا كه بعـضی منـابع درزمان های دیگر بیهوده بودند .آیا بهتر نبود این منابع در كاربردهای دیگری كه به آنها نیاز بـود بكـار گرفتـه می شدند؟
 یكپارچه سازی شامل استفاده مجدد از سخت افزار موجـود و هـم خریـدهای جدیـد اسـت . امـروزه بسیاری از فروشندگان سخت افزار قطعات سریع و ارزان قیمت تری مانند سـرویس دهنـده هـا و تجهیـزات شبكه ای را عرضه می كنند . صرفه جویی در هزینه ها می تواند از طریق تغییر جهت سخت افزار اختـصاصی سیستم عامل به سخت افزار ارزان تر با استفاده از پردازشگرهای اینتل كه سیستم عامل لینوكس را اجرا میكنند بدست آید . مزیت هزینهای كه بر روی لینوكس است در مقایسه با یك سیستم چند پردازشـی كـه بـر روی سیستم عامل اختصاصی است دارای اهمیت می باشد.
هزینه های ذخیره سازی در هر سال در حال كاهش است و این امكـان وجـود دارد تـا منبـع ذخیـره سازی را با پول كمتری بخریم .چرا باید برای یك سیستم میلیونها در هزینـه شـود در حـالی كـه میتوانیـد همان قابلیت ها را با صدها در بدست آورید؟
ممكن است یكپارچه سازی برای شركتهای بزرگ ادغام مراكز اطعاتی غیر متمركز به مراكز اطعات محدود باشد . در نتیجه یكپارچه سازی سخت افزار ی وجود سیستمهای كمتری جهت ساماندهی نـرم افـزار جهت نصب و تعمییر و امنیت و كاهش بیشتر هزینه ها را بدنبال دارد.   
  4-1-1 یكپارچه سازی داده ها از دید یك شركت معمولی :
سیستم های یكپارچه داده ها می توانند در یك مكان ، اغلب در پایگاه داده ها یكپارچه سازی شـوند . حذف داده های اضافی باعث بهبود كیفیت و قابل دسترس بودن اطعات می شود. بسیاری از شركتها شـمار قابل توجهی از پایگاه داده اوراكل و دیگر فروشنده ها را بدست می آورند. با یكپارچه كردن ایـن مـوارد و بـا كاهش تعداد مدیران مورد نیاز برای پشتیبانی سیستم ها می توان در هزینه صرفه جویی كرد .                  
5-1-1 یكپارچه سازی برنامه های كاربردی :
با یكپارچه سازی داده ها،كاربردهای خودكار امكان پذیر می شـود و بـه كـاربران اجـازه مـی دهـد تـا اطعات شخصی خودشان را بروزكنند.همانطور كه بیشتر تقاضاهای كاری )تجاری( به طرف وب پیش رفتـه اند درگاهها به كاربران امكان دسترسی به پایگاه داده های مركزی با یك مرورگر وب و یا تلفن همرا ه را مـی دهد كه نیاز به خریداری ونصب نرم افزارهای دسك تاپ خاص را ازبین می برد.
برنامه های كاربردی خودكار در كاهش هزینه های عملی بـا حـذف بـسیاری از فرآینـد هـای اجرایـی،كاهش هزینه های شخصی و دسترسی 42 ساعته سودمند هستند. عوه بر برنامه های كاربردی مانندfronts  storeبسیاری از برنامه های كاربردی  back-officeهم می توانند خودكار باشـند ماننـد مـسافرت، صـورت  حساب ، و منابع انسانی.
  6-1-1   Gridدر پایگاه داده اوراكل 10g:
یكپارچه سازی مرحله ای برای انجام محاسبات شبكه فراهم مـی آورد.محاسـبات شـبكه اوراكـل یـك شالوده بهم پیوسته از پایگاه داده اوراكل  10gسرویس دهنده كاربردی اوراكل  10gومدیر سـازمانی اوراكـل است .با محاسبات شبكه،مخازن مركزی از منابع محاسباتی ایجاد می شود كه می تواند با بسیاری از تقاضـاها تركیب شود.اصطح محاسبه شبكه از مقایسه با شبكه انرژی الكتریكی سرچشمه گرفتـه شـده اسـت. منـابع متنوعی در ارائه انرژی به مخزن مشترك همكاری دارند كه بسیاری از مصرف كنندگان در صورت نیاز بـه آن دسترسی دارند. محاسبه شبكه روشی برای یكپارچه سازی سخت افزار برای بهبود اسـتفاده و كـارآیی منـابع است . بدون نیاز به دانستن اینكه اطعات در كجـا قـرار دارنـد یـا كـدام كـامپیوتر درخواسـت داده شـده را پردازش می كند ، برای كاربر منابع مود نیاز در دسترس است .
همانطور كه در اینترنت آمده ،محاسبات شبكه در مجامع تحقیقاتی وآكادمیك بوجود آمد.یكـی از اجراهای اولیه یك شبكه،پروژه SETI@homeاست كه تحقیق برای هوش ماورا است كـه در سـال 1991 دردانشگاه بركلی كالیفورنیا آغاز شد.نوسانات سـیگنال رادیـویی از تلـسكوپ رادیـویی  Arecibonvدر Puerto Rico جمع آوری شد .این نوسانات ممكن است عئمی از زندگی هوشمند در فضا باشـد .هـر روزه داده هـای بیشتر از آنچه كامپیوترها در دانشگاهها مـی تواننـد پـردازش كننـد بدسـت مـی آیـد بنـابراین از داوطلبـان درخواست می شود زمان بیكاری كامپیوترهای خانگی خود را مشخص كنند.بیشتر از 5 میلیـون نفـر از 622 كشور نرم افزاری را دانلود كردند كه هر وقت بیكار هستند كامپیوترشان در دسترس باشد و ممكن است شما قب چیزی مشابه این كار را انجام داده باشید ،منابع ذخیره سازی را در زمانهای      off-peakپیك خاموشـی  پاك كرده باشید و آنها را برای تقویت پردازش برای یك برنامه كاربردی یا بیشتر استفاده كنید. در حالی كه نظریه محاسبه خدماتی یا شبكه ای جدید نیست اما امكان پیشرفتهایی را هـم در سـخت افزار و هم در نرم افزار داده است .  Blade farms یا گروههایی از كامپیوترهای پر سـرعت اسـاس محاسـبات شبكه را تشكیل می دهند.برنامه های كاربردی خوشـه ای اوراكـل   RACبـه عنـوان پایـه ای بـرای شـبكه سازمانی بكار می رود كه این سكوهای سخت افزاری ارزان قیمت را قادر می سازد باترین كیفیت خدمات را از نظر دسترس بودن و مقیاس پذیری ارائه دهد. شما می توانید بـرای نیازهـای اولیـه سیـستم فقـط مقـدار ظرفیت كافی سخت افزار را خریداری كنید ،در حالی كه می دانید می توانید سرویس دهنده های اضـافی بـا حداقل هزینه را وصل كنید تا نوسانات ترافیكی موقت یا دائمی را كنترل كنـد. وقتـی یـك سـرویس دهنـده جدید به گروه اضافه شد بطور اتوماتیك نمایان می شود و ظرفیت كار برای تركیب سیـستم جدیـد متعـادل می شود . اگر نودی در گروه(كستر) دچار خرابی شود برنامه كاربردی هنوز می تواند با نود باقی مانده كه از ظرفیت كاری نود خراب است ،كار كند .
درست همانطور كه شركتهای امروزی هم اینترانت داخلی و هم اینترنت  خارجی دارند، ممكن است شركتهادر آینده شبكه داخلی و خارجی داشته باشند بدون اینكه بخواهند تمـام تكنولـوژی هـا را خریـداری كنند . در مركز داده ها در آینده شما قادر به خرید نیروی محاسباتی كه نیاز دارید خواهید بود و تنهـا بـرای آنچه كه استفاده می كنید پرداخت می كنید.
 2-1 انبار داده چیست؟
حال پس از همه این موارد یك انبار داده چیست ؟ یك انبار داده ،یك بانك اطعاتی است كه حـاوی داده ها از چندین سیستم عملیاتی است كه یكپارچه ،به هم پیوسته ، مركب و سازمان بندی شـده اسـت بـه طوری كه می تواند برای حمایت فرآیند تحلیل و تصمیم گیری یك فرایند تجاری بكار گرفته شود .
1-2-1 چرا به یك انبار داده نیاز دارید؟
آیا تمام اطعات مورد نیاز برای اجرای كارهای تجاریتان زمانی كه به آن نیاز است با جزئیات كافی برمبنای تصمیمات در دسترس است .؟ یا آیـا ایـن كـه چگونـه مـی شـود 2 كـاربر وارد جلـسه ای شـوند كـه گزارشهایشان با هم منطبق نیست؟ یكی از آنها فكر می كنـد فـروش مـاه مـارس 500 میلیـون در اسـت و دیگری می گوید 524 میلیون در است . پس از بررسی های زیاد می فهمید كـه داده هـای متفـاوتی بـرای
محاسبه فروش در هر گزارش استفاده شده است و شما زمان زیادی را برای فهمیدن علـت آن و اصـح ایـن مشكل صرف می كنید.
آیا شركت شما سیستم های گوناگونی برای یك وظیفه دارد، سیستم صورت برداری قدیمی و سیستم جدیدی كه میلیونها در صرف ساخت آن كرده اید؟ آیا نیاز دارید داده ها را از هر دو روی ایـن سیـستم هـا بدست آورید تا بنا به اهداف گزارشی آنها را ادغام كنید ؟چگونه این روش به خوبی انجام می شـود ؟آیـا نیـاز است كاربران تفاوت بین این دو سیستم را برای پرس و جوی آن ین بفهمند؟ ممكن اسـت ایـن زمینـه ای  باشد كه بخواهید یكپارچه كنید.آیا برای اهداف تحلیلی جزئیات كافی در دست دارید؟ چه ماههایی از تاریخ را قـادر هـستید آن یـن نگه دارید؟آیا سطح درست جزئیات را ذخیره كرده اید؟ آیا تا كنون تمام داده های تـاریخی را ذخیـره كـرده اید؟ آیا قادرید فروش هر محصول در هر منطقه جغرافیایی را قبـل و بعـد از سـازماندهی مجـدد از سـاختار گزارش نیروی فروش تحلیل كنید؟ انبار داده برای كمك به حل این نوع مشكت ساخته شده است.
3-1 چشم انداز تاریخی:
در دهه 1970 اولین برنامه های كاربردی تجاری ساخته شد تا عملیات روزمره مـشاغل را كـامپیوتری كند . این سیستم ها بر روی كامپیوتر های بزرگ و گران قیمت سـاخته شـدند تنهـا تجارتهـای بـزرگ مـی توانستند از عهده سخت افزار ،برنامه سازانی برای برنامه ریـزی آنهـا ،و كاركنـان عملیـاتی بـرای بـه جریـان انداختن آنها برآیند. این سیستم ها بر اساس قرار دادن داده های جدید و خواندن آنها بطور متوالی با استفاده از نوارهای مغناطیسی عمل می كنند.
با اختراع دیسكهای ذخیره سازی، داده ها می توانستند مستقیما در دسترس باشند .این امر منجـر بـه تولید اولین سیستم های مدیریتی پایگاه داده شد كه داده ها را یا بطور سلسله مراتب یا در شبكه سازماندهی می كرد. این سیستم های پایگاه داده خیلی پیچیده بودند . برنامه سازان باید درك می كردند چگونه داده ها در دیسك ذخیره شده اند و از طریق داده به گزارشات ایجاد شده هدایت شـوند. برنامـه سـازان برنامـه هـای كاربردی از  Cobolبرای ایجاد گزارشهای اختصاصی استفاده می كردند. برای نوشتن برنامه برای هر گـزارش جدید روزها و یا حتی هفته ها زمان می برد. گزارشات بر روی برگه كامپیوتری چاپ و بین كاربران با دسـت توزیع می شد .هرگز برنامه سازان به مقدار كـافی وجـود نداشـتند بنـابراین همیـشه انباشـتگی یـك برنامـه كاربردی وجود داشت .وقتی داده ها می توانستند مستقیما در دسترس باشند اولین سیستم هـای پردازشـگر تراكنشی آن ین (OLTP) ساخته شد. در اواخر دهه 1970 و اوایل 1980كامپیوترهای كوچكی ماننـد 11- Digital"s PDPو 780/11 VAX هزینه های سخت افزار را پایین آوردند . داده ها اغلب در پایگاه داده CODAYSLذخیره می شدند،كه برای تغییر بی نهایت مشكل و برای درك و طراحی سخت بودند. با معرفی پایگاه داده رابطه ای تمـام اینهـا تغییـركرد . در سال 1979 پایگاه داده اوراكل اولین سیستم رابطه ای موجود از نظر تجاری شناخته شد . بـا مـدل رابطه ای ،داده ها بر اساس ستون و ردیف در جدولهایی سازماندهی شدند . بجای استفاده از نشانه روها برای حفظ رابطه بین داده ها ، یك شماره منحصر به فرد مانند شماره مشتری یا شماره شناسایی یك دانشجو در جدولهای چندگانه برای شناسایی سطر ذخیـره مـی شـدند.فهمیـدن مـدل رابطه ای آسان تر بود واز زبان  SQLبرای دسترسی به پایگاه داده استفاده می شد، نیازمند آگـاهی بـه ایـن موضوع نبود كه چگونه داده های زیرین از نظر فیزیكـی ذخیـره شـده انـد.. همچنـین سـاختن برنامـه هـای كاربردی كه منجر به استفاده گسترده از سیستم های مدیریتی پایگاه داده شد آسان تر بـود . پـس از آمـاده سازی اولیه سیستم های به هم مرتبط، بسیاری از شركتها برای دستیابی به پایگاه داده های رابطه ای ماننـد پرس و جوی ویژه ،گزارش و ابزارهای تحلیلی اقدام به توسعه محصوت بكار رفته كردند.
با معرفی PCمحاسبه از سیستم های كامپیوتر بزرگ به سیستم های سرویس دهنـده/ گیرنـده پـیش رفت برنامه های كاربردی اوراكل در اواخر دهه 1980 معرفی شدند. شركتها به طـور طـونی مـدت مجبـور
نبودند برنامه های كاربردی سفارشی خودشان را بسازند بلكه می توانستند نرم افزاری را خریداری كننـد كـه كاربردهای مبنایی مانند اوراكل ، PeopleSoftو SAPرا فراهم آورد.
هنگامی كه پایگاه داده های رابطه ای در دهه 1980 تكمیل شد ،سیـستم هـای OLTPبـا اسـتفاده از سیستمهای رابطه ای برای اتوماتیك كردن جنبه های عملـی تجـارت سـاخته شـدند.ایـن سیـستم هاشـامل سیستم هایی مانند پردازشگر دستو،ورود دستور، انبار،دفتر کل عمومی و حسابداری بود.
OLTPبطوراتوماتیك پردازش می كنندو وضعیت یك سیستم رادریك زمـان دریـك حالـت رایـج ارائـه مـی دهند.در یك برنامه كاربردی صورت برداری،تراكنش هایی وجود داردتااقم جدید رابـه انبـار وارد كنـدواقم فروخته شده راحذف كندو مقدارموجود را به روز نگه دارد در حـالی كـه همیـشه تعـادل موجـودراحفظ مـی كنند.مقدار محدودی از تاریخ هم حفظ می شود.به عنوان مثال تععین این كه چـه تعـداداز محـصول 222-95-111 موجود است یا این كه در كدام تاریخ دستور شماره 45321 فرستاده شـده اسـت ،آسـان اسـت. درطی این مدت فروشندگان پایگاه داده رابطه ای برروی بهبود اجرای برای برنامه های كاربردی  OLTPتمركـز كرده و با استفاده از گواهینامه های استاندارد صنعتی  TCP-Cبا یكدیگر رقابت می كردند.
  1-3-1- ظهور انبار داده:
وقتی سیستم های  OLTPساخته شدند تا بطور موثر داده ها را جمع آوری كند، برای بهترین تفـسیرآن چالش ایجاد شد . در اواخر دهه 1980 و اوایل دهه1990 در تشی برای بینش گسترده در سراسر بـازارتجارت اولین بانكهای اطعاتی بزرگ (اصطحی كه توسط بیل اینمون ،پدر بانك اطعاتی بنا نهـاده شـد) ساخته شدند. اطعات از بسیاری از سیستم های عملیاتی برای اجرای عملیـات تجـاری روزمـره بـه منظـور فراهم آوردن دید گسترده همكاری جمع آوری شدند. بانك اطعاتی ساخته شد تا تجارت را در طول زمان مشاهده و خواسته ها را در نظر بگیرد. بسیاری از تصمیمات به توانایی در دیدن ماوراء جزئیات عملیات امروزه نیاز دارند و دید گسترده تـری از تجـارت دارنـد. پرس و جوهای بانك اطعاتی گزارش بر روی فروش محصوت را بالغ بر دو سال گذشته در بر دارد . یـا در تاثیر تغییرات اساسی در فروشهای جزئی در مقابل فروشهای اینترنتی دقت دارد.پرس و جوها شامل دقـت دراین كه چگونه ارزشها در طول زمان تغییر كرده اند و چه چیز دیگری هم باید تغییر كند و احتما ارتباطـات را كشف كنند،بود.به منظور انجام این نوع تحلیل ،داده در انبار داده نیاز دارد تا برای دوره های طونی مـدت 5 تا 10 سال نگهداری شوند. انبار داده به منظور بررسی ماوراء در داده ها جهت یافتن اطعات استفاده می شود در یك انبار داده فعالیت اولیه ،پرس و جو یا خواندن داده ها است . وقتی داده های جدیـد بارگـذاری شوند تنها فعالیت به روزرسانی روی می دهد . سیستم های پشتیبانی از تصمیم  مانند كشف كننـده اوراكل ، پرس و جوی تعاملی، نمودار گیری، گراف ها و قابلیتهای گزارش دهـی را فـراهم مـی آورد اوراكـل انواع خاصی از ساختارهای دسترسی مانند شاخصهای نقش بیتی ،شاخصهای متصل نقش بیتی1 و مـشاهدات برنامه ریزی شده برای بهبود اجرای پرس و جو دارد .نرم افزار OLAPبرای تحلیل داده های تجاری در یك روش سلسله مراتبی از بـا بـه پـایین اسـتفاده شده است . به نظر می رسد پرس و جوها مكررا مطرح می شوند كه در نتیجه یك پرسش منجر به پرسـیدن سوات بیشتری می شود دانستن اینكه سود امسال چقدر بوده است كافی نیست،تحلیل پـر هزینـه ای نیـاز دارد كه سود هر محصول را در طول زمان برای هر منطقه جغرافیایی بدانند. این یك پرس و جوی سه جانبه از ابعاد محصوت زمان و منطقه جغرافیایی است. ممكن است یك تحلیل گر نیاز داشته باشد فروش ایـن مـاه را بـا مـاه سـال گذشـته در برابـر سـایت اینترنتی مقایسه كند.ممكن است او به سطح مفصلتری در سلسله مراتب برسد تـا فـروش را در فروشـگاهای مشخصی بدست آورد و تعیین كند كدام یك پر بازده تر و كدام یك باعث از دست دادن پول می شود.
 انبار داده نیاز به طراحی یك پایگاه داده متفاوت دارد :
پایگاه های داده برای بازیابی سریع زمانی كه مسیر دستیابی از قبل مشخص نیست طراحی شده انـد .اطعات اغلب از دیگر داده ها با خصه كردن داده ها و بدست آوردن جزئیات بیـشتر یـا دقـت در الگوهـا و روندها بدست می آید. در یك سیستم  OLTP شیوه های نمودار سازی ارتباط موجودیتهـا  (E-R)بـرای طراحـی پایگـاه داده استفاده می شود. هر موجودیت یك جدول می شود،و هر صفت مشخصه ستونها را ارزیابی می كند و روابط با اتصال كلید ابتدایی و ستونهای كلید خارجی به یكدیگر در زمان اجرا ارائه می شوند. یك طراحی متعارف اجرای بهینه ای را برای سیـستم هـای  OLTPفـراهم مـی آورد از حجـم بـای تراكنشهایی كه دادن داده های مربوطه در یك جدول و حذف افزونگی شـكل گرفتـه انـد تنهـا بـا در دسـت داشتن یك نسخه از داده ها ،از ترتیب های نادرست جلوگیری و ثبات حفظ می شود پس از متعـارف سـازی داده ها ،بعضی افزونگی ها ممكن است بر روی ستونهایی كه برای بهبود اجرا به روز شده اند . دوباره معرفـی شوند. به منظور بهینه سازی عملكرد برای یك انبارداده كه فعالیت اولیه پرس وجو از داده هاست یك مدل جدید داده مورد نیاز است . رالف كیمبل  اولین سـخنگوی صـنعتی بـرای مـدل سـازی ابعـاد و نویـسنده انبار داده تولكیت  نمودار ستاره ای ، روش جدیـدی ازطراحـی پایگـاه داده را بـرای تـسهیل كـردن پردازش OLAPمعرفی كرد . به منظوربهینه كردن اجرا برای یك پایگاه داده . شیوه های مدلـسازی ابعـادی استفاده شده است .شیوه ابعادی برای مدلـسازی . داده هـا را بـه شـكل حقیقـی وجـدولهای ابعـادی سـازمان دهـی مـی كند.دادها را در روشی ارائه می دهد كه توسط كابران به راحتی فهمیده می شوند.كـاربران اغلـب بـه دنبـال گزارشهایی ازنتایج فروش بصورت هر سه ماه یكبار و طبقه بنـدی بـصورت فروشـگاهی و منطقـه جغرافیـایی هستند. تعداد فروش حقایق(facts) هستند. فروشگاه، منطقه و فصل ابعاد داده ها هـستند كـه بـر اسـاس آن تحلیل می شوند و برای سازمان دهی داده ها استفاده می شود. با مدل سازی ابعادی نداشتن نرمال سازی  و مجود افزونگی  معرفی می شود. در فصل های بعد خواهیم دید چگونه برای یك فروشگاه اینترنتـی یـك طراحـی واقعی ایجاد كنیم این نمونه شركتی است كه در سراسر این كتاب استفاده خواهد شد. اوراكل برای حمایت ازطرحهای ابعادی تركیبات زیادی را اضافه كرده است .بهینه ساز مـی توانـد یـك نمودار ستاره ای راشناسایی كند. شما می توانید عوه بر ایجاد جدولها و ستونها ، ابعاد را هم تعریف كنید تا به تحلیل داده های شما در روشهای گوناگون كمك كند.
در ادامه  طراحی یک انبار را بررسی می کنیم، پیشنهاداتی که در این زمینه مطرح است  عبارتست از:
1)هرگز از قبل یک پایگاه داده طراحی نکنید.
2)یک پایگاه داده با سیستمی با نوع پردازش تراکنش طراحی کنید.
3)یک سیستم پایگاه داده بسازید.
گزینه آخر را شما در نظر نگیرید یا از آن به عنوان كمك استفاده كنید،

برای دریافت پروژه اینجا کلیک کنید

استفاده از خط تلفن به عنوان کنترل وسایل خانگی

برای دریافت پروژه اینجا کلیک کنید

 استفاده از خط تلفن به عنوان کنترل وسایل خانگی دارای 80 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

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

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

 
فهرست مطالب

مقدمه
فصل اول: تشریح پروژه ها
1-1-    پروژه اول10
1-1-1-    مشكلات14
1-1-2-    مزایا14
1-2-    پروژه دوم15
1-2-1-    مشكلات22
1-2-2-    مزایا22
1-3-    پروژه سوم23
1-3-1-    مشكلات26
1-3-2-    مزایا26
1-4-    پروژه چهارم27
1-4-1-    مشكلات30
1-4-2-    مزایا30
1-5-    پروژه پنجم31
1-5-1-    مشكلات34
1-5-2-    مزایا34
1-6-    پروژه ششم35
1-6-1-    مشكلات36
1-6-2-    مزایا36
1-7-    پروژه هفتم37
1-7-1-    مشكلات39
1-7-2-    مزایا39
1-8-    پروژه هشتم40
1-8-1-    مزایا42

فصل دوم: خلاصه پروژه ها43

فصل سوم: پیوست46
3-1- تصاویر47
3-2- منابع و ماخذ 75
فهرست اشكال
شکل 1. یک شکل مفهومی که ساختار دستگاه کنترل از راه دور پروژه جاری را نمایش می دهد.
شکل 2. یک بلوک دیاگرام از سیستم دستگاه کنترل از راه دور ، شکل یک است.
شکل 3. شامل اشکال 3B,3A که یک فلوچارت از سیستم کنترلی که در شکل 2 است را نشان می دهد.
شکل 4. یک شکل مفهومی که ساختار یک کنترل از راه دور دیگر را که در این پروژه گنجانده شده است نمایش می دهد.
شکل 5. یک بلوک دیاگرام از سیستم کنترل ، دستگاه کنترل از راه دورِ ، شکل 4 است.
شکل 6. یک بلوک دیاگرام که ساختار مدار آداپتور شکل 4 را نمایش می دهد.
شکل 7. نمای جلوی قسمت نمایش دستگاه کنترل در شکل 4 است.
شکل 8. که شامل اشکال   می شود فلوچارتهایی از عملیات سیستم کنترل در شکل 5 هستند.
شکل 9. یک شکل مفهومی که ساختار یک کنترل از راه دور دیگر که در این پروژه گنجانده شده است نمایش می دهد.
شکل 10. یک بلوک دیاگرام از سیستم کنترل، دستگاه کنترل از راه دور شکل 9 است.
شکل 11. (که شامل اشکال A11وB11 می شود.) فلوچارتهایی از عملیات سیستم کنترل شکل 10 است برای دستگاه کنترل از راه دور شکل 9.
شکل 12. نمودار زمان از عملیات نمایش داده شده در شکل 11 است.
شکل 13. یک شکل مفهومی که ساختار یک کنترل از راه دور دیگر که در این پروژه گنجانده شده را نمایش می دهد.
شکل 14. یک بلوک دیاگرام از سیستم کنترل ، دستگاه کنترل از راه دور شکل 13 است.
شکل 15. یک قسمت از فلوچارت دستورات در سیستم کنترل شکل 13 است زمانی که سیستم تهویه کنترل می شود.
شکل 16. نمودار زمان از عملیات نمایش داه در شکل 15 است زمانی که کاربر به فرمان داده سیستم تهویه را انتخاب می کند
شکل 17. یک بلوک دیاگرام که ارتباطات یک دستگاه کنترل از راه دور دیگر را كه در این پروژه گنجانده شده نمایش می دهد.
شکل 18. نمای بالای صفحه کنترل دستگاه کنترل شکل 17 است.
شکل 19. یک بلوک دیاگرام از سیستم کنترل ، دستگاه کنترل از راه دور شکل 17 است.
شکل 20. (که شامل اشکال 20B,20A می شود) فلوچارتهایی از عملیات سیستم کنترل شکل 19است.
شکل 21. یک بلوک دیاگرام که ارتباطات یک دستگاه کنترل از راه دور دیگر که در این پروژه گنجانده شده را نمایش دهد.
شکل 22. یک شکل مفهومی که ساختار یک کنترل از راه دور دیگر که در این پروژه گنجانده شده را نمایش دهد.
شکل 23. یک طرح کلی از نمای جلوی که یک قسمت از دستگاه کنترل در شکل 22 است.
شکل 24. یک طرح کلی از شمای اتصال (دیاگرام اتصال) انتقال دهنده مادون قرمز نمایش داده شده در شکل 22 و 23 است .
شکل 25 . یک دورنما از دستگاه کنترل گنجانده شده در این پروژه را نمایش می دهد.
شکل 26. یک نمایش خلاصه از انواع جهت یابی که سیگنالها کنترلی (از روی دستگاه کنترلی که بر روی دیوار نصب شده) انتقال پیدا می کنند.
شکل 27. یک نمایش خلاصه از انواع جهت هایی که سیگنال بر روی سطح افقی از دستگاه کنترل پیدا می کنند.
شکل 28. نمای جلوی دستگاه کنترل پروژه جاری است.
شکل 29. نمایش قطعه، قطعه از دستگاه کنترل شکل 28 است که برداشته شده از خط
X             X´
شکل 30. نمایشی از انتقال دهنده اول است که بر روی دستگاه کنترل شکل 28 نصب شده است.
شکل 31. نمایشی از انتقال دهنده دوم است که بر روی دستگاه کنترل شکل 28 نصب شده است.
شکل 32. درب زاویه عمودی که توسط 4 دیوِد نوری ای که در اشکال 30 و 31 نمایش داده شده اند را نمایش می دهد.
شکل 33. درب زاویه افقی که توسط 4 دیود نوری ای که در اشکال 30و 31 نمایش داده شده اند را نمایش می دهد.
شکل 34. یک نمای عمودی از دستگاه فرستنده که در شکل 28 و 30 وجود دارد وقتی از دستگاه جدا شده و روی دیوار نصب می شود.
شکل 35. نمای جلوی یک دستگاه کنترلی است که در این پروژه موجود است.
شکل 36. قسمتی از طرح کلی داخل دستگاه کنترلی است.
شکل 37. یک طرح از مدار چاپ شده است که در شکل 36 نمایش داده شده است.
شکل 38. نمای پشت دکمه ای است که در شکل 35 نمایش داده شده است.
شکل 39. یک دیاگرام مسیر جریان از دیود ساطح کننده نور بر روی دستگاه کنترل در شکل 35 است.
مقدمه:
این پروژه به دستگاه های کنترل از دور همانند سیستم های کنترل از راه دور یا کنترل ها (کنترل تلویزیون و … ) مربوط می شودکه در واقع بدین معناست که سیگنالهای متعدد دستوری بیرون از منزل از طریق خط تلفن می توانند انتقال یابند تا عملیات دستگاههای الکتریکی موجود در منزل (مکانی که سیگنالها دریافت می شوند)را کنترل کند. به طور خاص، پروژه حاضر مربوط به دستگاههای کنترل از راه دوری می شود که به طور اتوماتیک اگر کسی در محل نباشد پاسخ تماس گیرنده را داده و عملیات دستگاه الکتریکی کنترل می کنند.
دستگاههای کنترل از راه دور متداول با استفاده از خط تلفن سیگنال دستورات تماس گیرنده را انتقال می دهند، که در این حالت سیگنالها به طور معمول شامل یک دستگاه پاسخ گو اتوماتیک است که به طور اتوماتیک به تماس وارده و دستگاه مربوطه (با توجه به سیگنال دستور) پاسخ می دهد.
با جزئیات بیشتر، دستگاه پاسخ گوی اتوماتیک به تماس گرفته شده عکس العمل نشان داده و یک پیغام از پیش معین شده به همراه یک سیگنال کنترلی مشخص برای حالت مخصوص عملیات دستگاه به تماس گیرنده ارسال می کند.
 سیگنال کنترلی به وسیله یک دستگاه که دستگاه های داخل منزل را کنترل می کند ترجمه می شود. با این روش ( فعلی کنترل از راه دور) کاربر باید دقیقاً درزمان مورد نظر دستورات را به دستگاه مورد نظر در خانه انتقال بدهد تا دستگاه مورد نظر را کنترل کند. به مفهوم دیگر عملیات مربوطه قابل انجام نخواهد بود مگر اینکه در لحظه بحرانی تلفن در دسترس کاربر باشد.
بنابراین یک هدف اساسی در پروژه فعلی ارائه یک دستگاه کنترل از راه دور است که از طریق خط تلفن کار کند که در آن کاربر مجبور نباشد که دستورات را هربار که می خواهد به دستگاه دستور بدهد ارسال کند.
هدف فوق از پروژه فعلی از طریق یک دستگاه کنترل از راه دور توسعه یافته که در داخل خود حافظه دارد میسر می شود ، بدین معنا که برای ذخیره فرمان و داده عملیات از دستگاه های مختلف که شامل زمانی که دستگاه ها قرار است روشن یا خاموش شوند و توانایی تعداد این دستورات برای دستگاه ها با توجه به برنامه فرمان بندی شده در حافظه را داراست. این دستگاه کنترل از راه دور می تواند برای تعداد زیادی از خصوصیات آماده شود.
بنابراین یک هدف دیگر از پروژه فعلی این است که یک دستگاه کنترل از راه دوری ارائه کنیم که دستگاه را بدون استفاده از سیم کنترل کند، (برای مثال با استفاده از ارسال نور مادون قرمز یا امواج مافوق صوت).
همچنین یک هدف دیگر از پروژه فعلی وجود دارد و آن این است که دستگاه کنترل از راه دوری درست کنیم که هر دستگاه ما را با استفاده از کنترل بی سیم خود کنترل کنیم.
هنوز یک هدف دیگر از پروژه فعلی وجود دارد که دستگاه کنترل از راه دوری درست کنیم که بتوانیم بر روی آن فرستنده ابتدائی نصب کنیم که برای فرستادن سیگنالهای کنترلی به دستگاه های دیگر و یک اتصال دهنده اتصالات اضافی که برای انتقالات ضروری استفاده می شود (که برابری می کند با انتقال دهنده اصلی نصب شده) و می تواند نزدیک دستگاههای انتخاب شده برای کنترل قرار بگیرد.
یک هدف دیگر از پروژه فعلی این است که دستگاه کنترل از راه دوری درست کنیم که عملیات کنترل از راه دور را حتی اگر تلفن یا دستگاه پاسخ گوی اتوماتیکی مثل دستگاه پیغام گیر در خط قرار داشت و تماس کاربر را دریافت کرد بتواند عملیات را انجام دهد.
 یک هدف دیگر از پروژه فعلی این است که دستگاه کنترل از راه دوری درست کنیم که به راحتی بتوانیم متوجه شویم که آیا عملیاتی که قصد انجام بوده است به وقوع پیوسته اند؟
هدف دیگری از پروژه فعلی آن اینست که دستگاه کنترل از راه دوری درست کنیم که برای مجموعه ای از انتقال دهنده ها کاملاً قابل چرخش بوده تا دیوار نوری مادون قرمز دقیقاً بتواند دستگاه مورد نظر برای کنترل(برای انتقال داده) را هدف گیری کند  .
این هدف ها و امکانات اضافه شده از طریق ارائه کردن یکی از دستگاههای کنترل از راه دور که در ادامه شرح داده شده اند قابل دسترس خواهند بود.
فصل اول
تشریح پروژه ها
1-1- پروژه 1
دستگاه کنترل از راه دوری که در این پروژه گنجانده شده در ادامه از طریق شکل تشریح می شود و ساختار مفهومی آن را نشان داده می شود.
 شکل 2 یک بلوک دیاگرام از سیستم کنترل و شکل 3 یک فلوچارت از عملیات دستگاه است. با نگاه اول به شکل 1، عدد 1 نشان دهنده دستگاه کنترل پروژه فعلی است که به دکمه IN مجهز شده ، عدد 2 برای حالت انتخاب عملیاتی که قرار است انجام شود وقتی شخصی در منزل حضور دارد (بعد از این آن را به عنوان ورودی IN) ( می شناسیم) و دکمه 3 خروجی برای نوع دیگری از عملیات در نظر گرفته شده که زمانی استفاده می شود که کسی در خانه نیست تا تلفن را دریافت کند. (از این به بعد آن را به عنوان خروجی (out) می شناسیم)
 دکمه های 4 و 5 و 6 به ترتیب برای روشن و خاموش کردن دستگاههای 12 و 13 و 14 هستند. چراغهای نمایش 7 و 8و 9 بدین منظور استفاده شده اند که روشن یا خاموش بودن دستگاههای 12 و 13 و 14 را مشخص کنند. دیپ سویچ 10 برای مشخص کردن کد اعداد و شماره 11 برای مشخص کردن زمان. دستگاه کنترلی فقط به دستگاههای 12 و 13 و 14 از طریق رله متصل نیست بلکه در تلفن 15 (از طریق ترمینال 16) به خط تلفن 17 متصل است ارتباط دارد.
سیستم کنترل دستگاه با توجه به شکل 2، شامل قسمتهای زیر است:
1) یک میکروکامپیوتر 18 است که سیگنال ها را به طور کامل کنترل می کند و اوسیلیتور (OSC ) 19 سیگنالهای استاندارد و کلاک (Clk) را برای ریزکامپیوتر 18 درست می کند.
2)یک مبدل سیگنال ها 20 برای ارسال سیگنالهای تماس دریافتی به ریز کامپیوتر 18 (در صورت لزوم آنها را به فرم سازگار برای ریزکامپیوتر18 ترجمه می کند).
 3)رمز گشای بوق 21 که سیگنالهای چند فرکانس از تلفن تماس گیرنده از طریق خط 17 ارسال شده را رمز گشایی کرده و به ریزکامپیوتر 18 ارسال می کند.
4)ترکیب کننده صدا 22 برای ایجاد صدای ویژه
5)تقویت کننده   23 برای تقویت کردن صدایی که از ترکیب کننده صدا 22 می آید…
منابع و ماخذ :

www.uspto.gov
www.wikipdia.com
www.alldatasheet.com
www.tkk.fi
www.eyyed.com
www.aaroncake.com

برای دریافت پروژه اینجا کلیک کنید

بررسی ترکیب منابع در محیط محاسباتی شبکه یا وب

برای دریافت پروژه اینجا کلیک کنید

 بررسی ترکیب منابع در محیط محاسباتی شبکه یا وب دارای 85 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد بررسی ترکیب منابع در محیط محاسباتی شبکه یا وب  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

 

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

فصل اول

«روشهای مبتنی بر دانش برای رسیدن به ترکیب سرویس سمنتیک»

فصل دوم

ابزارهایی برای طراحی خدمات وب ترکیبی

فصل سوم

ترکیب خدمت مبتنی بر معناشناسی تعمیم یافته

فصل چهارم

قراردادن سمانتیک (علم معناشناسی) در شبکه مدیریت جریان کار

فصل پنجم

برنامه ریزی با جریانات کار – یک پارادایم پدیدارشونده برای ترکیب سرویس وب

نتیجه گیری

فهرست منابع

منابع انگلیسی

 

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

بخشی از منابع و مراجع پروژه بررسی ترکیب منابع در محیط محاسباتی شبکه یا وب
منابع فارسی
1-    دانشنامه رشد
2-     سایت اینترنتی ویكی پدیای انگلیسی
3-    سایت اینترنتی آفتاب

برای دریافت پروژه اینجا کلیک کنید

بررسی پایگاه داده اطلاعات

برای دریافت پروژه اینجا کلیک کنید

 بررسی پایگاه داده اطلاعات دارای 38 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

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

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

 

بخشی از فهرست مطالب پروژه بررسی پایگاه داده اطلاعات

پایگاه داده

چکیده

مقدمه

۲ـ کنترل دسترسی (مفاهیم و سیاستها)

۲ـ۱ـ مفاهیم اساسی

۲ـ۲ـ سیاستهای کنترل دسترسی

۲ـ۲ـ۱ـ سیاستهای کنترل دستری احتیاطی

مجوزهای مثبت و منفی

مجوزهای قوی و ضعیف

۲ـ۲ـ۲ـ سیاستهای کنترل و دسترسی الزامی

۲ـ۳ـ سیاستهای سرپرستی

۳ـ سیستمها و مدلهای کنترل دسترسی احتیاطی

۳ـ۱ـ مدلهای اعطای مجوز برای DBMSهای رابطه‌ای

۳ـ۲ـ مدلهای اعطای مجوز برای DBMSهای شیئی گرا

۳ـ۲ـ۱ـ مدل Orion

3ـ۲ـ۲ـ مدل Iris

3ـ۳ـ مدلهای اعطای مجوز برای DBNSهای فعال

۳ـ۴ـ کنترل دسترسی احتیاطی در DBMSهای تجاری

۴ـ امنیت چندلایه در سیستمهای پایگتاه داده‌ای

۴ـ۱ـ مدل داده‌ای رابطه‌ای چند لایه

۴ـ۲ـ معماری

معماری Single-kernel

معماری Distributed

معماری Trusted-Subject

معماری Integrity-lock

معماری Extended-Kernel

4ـ۳ـ محصولات تجاری

TRUDATA

Secure Sybase

Trusted Oracle

5ـ زمینه‌های تحقیق

کتابخانه های دیجیتال

سیستمهای مدیریتی Work flow

شبکه جهانی WWW

6ـ جمع بندی

۷- مراجع

 
مقدمه :
در طی سه دهه اخیر تعداد پایگاه داده‌های كامپیوتری افزایش بسیاری داشته است. حضور اینترنت به همراه توانائیهای شبكه، دسترسی به داده و اطلاعات را آسانتر كرده است. به عنوان مثال، كاربران امروزه می‌توانند به حجم بالایی از اطلاعات در فاصله زمانی بسیار كوتاهی دسترسی پیدا كنند. به همین نسبتی كه ابزارها و تكنولوژی دسترسی و استفاده از اطلاعات توسعه می‌یابند، نیاز به حفاظت اطلاعات هم بوجود می‌آید. بسیاری دولتها و سازمانها صنعتی داده‌های مهم و طبقه بندی شده‌ای دارند كه باید حفاظت شوند. سازمانهای بسیار دیگری هم مثل مؤسسات دانشگاهی نیز اطلاعات مهمی در مورد دانشجویان و كارمندانشان دارند. در نتیجه  تكنیكهایی برای حفاظت داده های ذخیره شده در سیستمهای مدیریت پایگاه داده،  اولویت بالایی پیدا كرده‌اند.
در طول سه دهه اخیر، پیشرفتهای بسیاری در مورد امنیت پایگاه داده‌ها حاصل شده است. بسیاری از كارهای اولیه روی امنیت پایگاه داده‌های آماری انجام شد. در دهه 70، همزمان با شروع تحقیقات روی پایگاه داده‌های رابطه‌ای، توجه مستقیماً به سمئله كنترل دسترسی  بود و بیشتر از همه، كار روی مدلهای كنترل دسترسی احتیاطی  شروع شد؛ ولی در واقع تا مطالعات نیروی هوایی در 1982، كه تلاش وسیعی برای DBMSهای امن چند سطحی  بود، كار مهمی انجام نشد.
در هزاره جدید با حضور تكنولوژیهای مثل كتابخانه‌های دیجیتال، شبكه گستره جهانی و سیستمهای محاسباتی اشتراكی، علاقه بسیاری به امنیت نه تنها در بین سازمانهای دولتی، بلكه بین سازمانهای اقتصادی هم وجود دارد. این مقاله مروری به پیشرفتها و محصولات در سیستمهای پایگاه داده‌ای امن در بر دو زمینه اجباری و احتیاطی دارد.

 

بخشی از منابع و مراجع پروژه بررسی پایگاه داده اطلاعات

[1] Mario Piattini , and oscar Diaz, Advance Data base Technology A and Design, Briston: Artech House, 2000.
[2] Bertino, E., and E., Ferrari, “Adiminstration Policies in a Ualtipolicy Authorization System,” Proc . 10th IFIP Working conf. On Data base Security, Lake Tahoe, CA, Aug. 1997.
[3] Bell, D., and L.Lapadula, “Secure Computer systems,” ESD-TR-75-306, Hanscom Air Force Base, Bedford, MA, 1975.

برای دریافت پروژه اینجا کلیک کنید

بررسی نقش دولت در زمینه سازی توسعه فن آوری اطلاعات

برای دریافت پروژه اینجا کلیک کنید

 بررسی نقش دولت در زمینه سازی توسعه فن آوری اطلاعات دارای 220 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

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

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

بخشی از فهرست مطالب پروژه بررسی نقش دولت در زمینه سازی توسعه فن آوری اطلاعات

فصل اول : کلیات تحقیق
الف): بیان مسئله و تعریف آن
ب)  : بررسی پیشینه و ادبیات تحقیق
ج)  : هدف پژوهش
د)  : پرسش اصلی پژوهش
ه)  : فرضیه های تحقیق
و)  : تعاریف نظری و عملیاتی مفاهیم و متغیرها
ز)  : روش تحقیق و گردآوری داده ها
ح)  : حدود و قلمرو پژوهش
ط)  : موانع، مشکلات و محدودیتهای تحقیق
ی)  : سازماندهی پژوهش
فصل دوم: چهارچوب نظری
گفتار اول :  مباحث مفهومی و نظری  توسعه
الف : مروری بر مباحث نظری  پیرامون توسعه
الف – 1: نظریات  توسعه ( رهیافت نوسازی )
الف-2- : نظریات  وابستگی ( رهیافت  رادیكال)
ب : مباحث نظری پیرامون دولت ونقش آن در فرایند توسعه
ب-1-: دولت و روند توسعه  در جوامع اروپائی
ب-2-: دولت و روند توسعه  در كشور ای پیرامون
گفتار دوم : دیدگاه های مختلف پیرامون  ماهیت  دولت درجهان سوم
الف:حمزه علوی و نظریه استقلال نسبی  دولت در جوامع پیرامونی
ب  : تیلمان اورس و نظریه دولت پیرامونی
ج  :اودانل و نظریه دولت اقتدار گرای دیوان سالار
د  :خاورمیانه و الگوی دولت رانتیر
گفتار سوم : مباحث نظری ومفهومی اطلاعات وفناوری
الف : اطلاعات
الف -1 : ضرورت اطلاعات :
الف -2 : ارزش اطلاعات :
الف -3 : معیار ها ی مفید بودن اطلاعات
الف -4 :سازماندهی اطلاعات:
الف -5 : مشخصات عصر  اطلاعات
الف -6 : عصر اطلاعات عصر دگرگونی ها
ب  : فن آوری اطلاعات
ب -1- :اجزاء فن آوری اطلاعات:
ب-1-1- :كامپیوتر
ب-1-2- : شبكه های ارتباطی
ب-1-3- : معلومات خاص
ج : وظایف فن آوری اطلاعات
ج -1- : فواید فن آوری اطلاعات 
گفتار چهارم:مباحث نظری ومفهومی دولت الكترونیك
مقدمه:
تعاریف و مفاهیم دولت الكترونیك
فصل سوم: تاریخچه سیر توسعه اطلاعات در جهان
گفتاراول
الف :  تاریخچه
الف-1-  : موج اول: عصر كشاورزی
الف -2-  : موج دوم:  عصر صنعت
الف -3- : موج سوم؛ عصر اطلاعات
الف -4- : موج چهارم؛ عصر مجازی
گفتار دوم: ارتباطات ونقش آن در توسعه
الف :ارتباطات و توسعه
ب   :ارتباطات سلطه بخش یا ارتباطات توسعه بخش
ب-1- : ارتباطات توسعه بخش (خوش بینانه)
ب-2- : ارتباطات سلطه بخش (بدبینانه)
ب-3- : اینترنت
ب-3-1- : کارکردهای اینترنت
ب-3-2- : خدمات اینترنت
ب-3-3- : اینترنت و توسعه
ب-3-3-1- : توسعه فرهنگی و اینترنت
ب-3-3-2- : توسعه اجتماعی و اینترنت
ب-3-3-3- : توسعه سیاسی و اینترنت
ب-3-3-4- : توسعه اقتصادی و اینترنت
گفتار سوم :  توسعه فناوری اطلاعات
الف : توسعه فناوری اطلاعات
الف-1- : ابعاد توسعه فناوری اطلاعات
الف-2- : فناوری اطلاعات ومزیتهای جدید
الف-3- : فناوری اطلاعات در سایر کشورها
گفتار چهارم :  چالش های اصلی توسعه فناوری اطلاعات و ارتباطات درایران و جهان سوم
الف :  چالش های اصلی توسعه فناوری اطلاعات و ارتباطات در ایران
الف-1- : چالش های فرهنگی توسعه فناوری اطلاعات و ارتباطات (مدیران و توده مردم)
الف-2- :  چالش نیروی انسانی آموزش، پژوهش و اشتغال
الف-3-  : چالشهای زیر ساختی (مخابراتی، تجاری،حقوقی، امنیتی و غیره)
  الف-4- : بازار، تقاضا و سرمایه گذاری
ب :  چالش های كشور های  جهان سوم در عصر اطلاعات و ارتباطات
فصل چهارم : ایران و فناورى اطلاعات و ارتباطات
مقدمه
گفتار اول : فناورى اطلاعات و ارتباطات در ایران
الف : قانون برنامه چهارم توسعه درباره فناورى اطلاعات در ایران
الف -1- : توسعه ((ICT فناوری ارتباطات و اطلاعات در ایران
الف-1-1- : محورهای برنامه توسعه ملیICT
الف-1-2- : محورهای اصلی اهدافICT
الف -2- :  توسعه كاربری فنّاوری اطّلاعات و ارتباطات ایران(تكفایك )
الف-3- : توسعه كاربری فنّاوری اطّلاعات و ارتباطات ایران(تكفادو ) 
ب : نقش دولت جمهوری اسلامی ایران در توسعه فن آوری اطلاعات در ایران
ب -1- : وظایف وزارت ارتباطات وفناوری اطلاعات در ایران
ب-2- : مسائل اساسی توسعه فن آوری  اطلاعاتی در ایران
ب-3- : فایده توسعه فن آوری اطلاعاتی برای ایران
ب-4- : نگرش نوین به زیر ساخت‌های توسعه فن آوری اطلاعاتی در ایران 
ب-5- : استراتژی‌ دولت جمهوری اسلامی ایران در بنیاد وتوسعه فن آوری اطلاعاتی
ب-6- : چشم انداز توسعه فناوری اطلاعات در ایران
گفتار دوم: مدیریت فناوری اطلاعات در ایران
الف : مدیریت فناوری اطلاعات در ایران
الف-1- : گروه تشكیلات 
الف-2- : گروه بودجه
الف-3- : گروه توسعه مدیریت ، آموزش و بهسازی، بهره وری و نکریم ارباب رجوع
گفتار سوم :  انجمن شركت های انفورماتیك ایران
مقدمه
الف   : اهداف
الف -1- : همكاری با دولت
الف-2- : همكاری‌های خارجی
ب    : اركان انجمن
ب-1- : اهم فعالیت كمیته‌های انجمن
ب-1-1- : كمیته نرم‌افزار
ب-1-2- : كمیته سخت افزار
ب -1-3- : كمیته اینترنت
ب-1-4- : كمیته رفاه صنفی
ب-1-5- : كمیته اطلاع‌رسانی و امور بین‌الملل
ب-1-6- : پایگاه اطلاع‌رسانی انجمن (Website  )
ب-1-7- : كمیته حل اختلاف
فصل پنجم :دولت الکترونیک وایران
گفتاراول: دولت الکترونیک
الف : دولت الكترونیك
الف-1- : موضوعها دولت الکترونیک
الف-2- : اهداف دولت الكترونیك
الف-3- : الزامات دولت الكترونیك
الف-4- : پشنیازهای دولت الكترونیك
الف-5- : ساختار دولت الكترونیك
الف-6- : كاربردها  و رویكردهای دولت الكترونیك
ب : جنبه های مختلف  دولت الكترونیك
ب-1- : دولت الكترونیك  از دید  شهروندان
ب-2- : دولت الكترونیكی از دید بخش دادو ستد
ب-3- : دولت الكترونیك از دید دولت
ج :مدلهای ارزیابی دولت الكترونیكی
ج-1- :  مدلی برای ارزیابی دولت الكترونیكی در كشورها
ج-2- : مدلهای پیاده سازی دولت الكترونیك
ج-3- : مدلهای سازمان ملل، لاینه و لی و گــــروه گارتن برای پیاده سازی دولت الكترونیكی
د-: مراحل پیاده سازی دولت الكترونیكی
د-1- : پیاده‌سازی موفق دولت الكترونیك گفتار دوم
ه : معایب و چالش های استقرار دولت الكترو نیكی
گفتار دوم
الف : دولت الكترونیك در ایران
 الف-1- :  چشم انداز دولت الكترونیكی درایران
 الف-2- :  نیاز های كشور درزمینه پیاده سازی دولت الكترونیكی در ایران
 الف-3- : اهداف دولت الكترونیكی درایران
 الف-4-:راهبردهای پیاده سازی دولت الكترونیكی درایران
گفتار سوم:تحقق دولت الكترونیكی در ایران
الف :اتوماسیون فعالیتهای اختصاصی
ب :اتوماسیون فعالیتهای عمومی
ج : فراگیرنمودن بهره‌گیری از شماره ملی و كد پستی
د : سازكارهای هدایت و هماهنگی در اجرای مصوبه
ه : آموزش كاركنان دولت در زمینه فنآوری اطلاعات
فصل ششم:تجارت الکترونیک،بانکداری الکترونیک و نشرالکترونیک
گفتاراول : تجارت الكترونیكی
الف : تجارت الكترونیكی چیست
الف-1- : قدمت تجارت الكترونیكی
الف-2- : تجارت الكترونیكی در جهان امروز
ب :مزایای استفاده از تجارت الكترونیكی
ب-1- : بستر مناسب اطلاعاتی و ارتباطی
ب-2- : حذف نسبی واسطه ها
ب-3- : افزایش قدرت خریداران و پیدایش بازارهای جدید برای تولید كنندگان
ب-4- : سفارشی كردن محصولات و خدمات پشتیبانی قوی
ب-5- : پیدایش مؤسسات اقتصادی نوپا و رقابت سراسری
گفتار دوم :
الف: مدل‌های گوناگون تجارت الكترونیكی
 الف-1- : مدل B2B
 الف-2- : مدل‌های B2C وC2B
   الف-3- : مدل C2C
  الف-4- : مدل‌های در ارتباط با دولت
ب :منظرهای  تجارت الكترونیكی
  ب-1- : حجم مبادلات الكترونیكی و سرعت گسترش آن
  ب-2- : گریزناپذیر بودن تجارت الكترونیكی
  ب-3-: تجریه كشورها در زمینه سیاست تجارت الكترونیكی
  ب-3-1- : اتحادیه اروپایی
 ب-3-2- : كشورهای آسه آن
ج : توجیه اقتصادی راه اندازی تجارت الكترونیكی در كشور
ج-1- : منافع
ج-2- : هزینه‌ها
د : موانع و چالشها راه اندازی تجارت الكترونیكی در كشور
ه : رویكرد دولت جمهوری اسلامی ایران تجارت الكترونیكی
گفتار سوم :
الف : بانكدای‌ الكترونیك
ب   : بانكداری‌ الكترونیك‌ در ایران‌
ب-1- : لزوم‌ ایجاد اتوماسیون‌ بانكی‌ در ایران
ب-2- : اهداف‌ اتوماسیون‌ بانكی‌ در ایران
ب-3- : اتوماسیون‌ جامع‌ بانكی‌ در ایران‌
ج   :مركز شتاب
ج-1- : وظایف‌ سیستم‌ شتاب
ج-2- : شكل‌گیری‌ شبكه‌ شتاب‌ از آغاز تا امروز
ج-3- : مزایای‌ شبكه‌ شتاب
ج-4- : شتاب‌ از زبان‌ آمار
د    :   نشر الكترونیكی
نتیجه گیری
پیشنهادات و توصیه های پایان نامه
منا بع وماخذ

برای دریافت پروژه اینجا کلیک کنید

شبکه های حسگر بی سیم و امنیت آنها

برای دریافت پروژه اینجا کلیک کنید

 شبکه های حسگر بی سیم و امنیت آنها دارای 118 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد شبکه های حسگر بی سیم و امنیت آنها  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

چکیده

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

واژه های كلیدی :

 شبکه های حسگر بی سیم ، تحمل پذیری خطا ، ترمیم خطا  ، مدیریت شبکه.
فهرست مطالب

مقدمه1
فصل اول
شبکه های حسگربی سیم    2
چرا شبکه های حسگر؟    2
تاریخچه شبكه های حسگر    3
ساختار كلی شبكه حسگر بی سیم    4
ساختمان گره    6
ویژگی ها    7
موضوعات مطرح    7
•تنگناهای سخت افزاری    8
•توپولوژی    8
•قابلیت اطمینان    8
•مقیاس پذیری    8
•قیمت تمام شده    9
•شرایط محیطی    9
•رسانه ارتباطی    9
•توان مصرفی گره ها    9
•افزایش طول عمر شبكه    10
•ارتباط بلادرنگ و هماهنگی    10
•امنیت و مداخلات    11
عوامل پیش بینی نشده    11
نمونه ی  پیاده سازی شده شبکه حسگر    12
بررسی نرم ا فزارهای شبیه سازی شبكه    14
خصوصیات لازم برای شبیه سازهای شبكه    15
شبیه ساز NS(v2)    16
معماری درونی NS    16
مدل VuSystem    16
شبیه ساز  OMNeT++    17
شبیه ساز  Ptolemy II    18
مدل سازی شبکه های بی سیم    20
اجرای یک مدل پیش ساخته    20
تغییر پارامترها    22
ساختار یک مدل پیش ساخته    23
•نمایش بصری(آیکون ها)    23
•کانال ها    26
•اکتور های  مرکب    27
•کنترل اجرا    28
•ساخت یک مدل جدید    29
•به کارگیری اکتور plot    39
قابلیت های مدل سازی    41
•شبیه سازی رویداد گسسته    41
•مدل های کانال    42
•مدل های گره بی سیم    42
•مثال هایی از قابلیت مدل سازی    42
1.ساختار بسته ها    42
2.اتلاف بسته ها    42
3.توان باتری     43
4.اتلاف توان    43
5.برخورد ها    44
6.بهره آنتن دهی ارسال    47
ساختار نرم افزار    50
چند مثال و کاربرد    54
فهمیدن تعامل (واکنش) در شبکه های حسگر    54
نقایص شبکه های حسگر    54
توانایی های توسعه یافته شبکه های حسگر    54
طراحی ومدل کردن ناهمگن پتولومی    54
مدل شبکه حسگر    55
نمونه های ایجاد شده توسط نرم افزار    55
•غرق سازی    55
•مثلث بندی    56
•نظارت بر ترافیک    57
•گمشده جنگی در منطقه دشمن و تعقیب کننده    58
•جهان کوچک    60
فصل دوم   
امنیت در شبکه های حسگر بی سیم    61
مقدمه    61
چالش های ایمنی حسگر    63
استقرار نیرومند    63
محیط مهاجم    64
نایابی منبع    64
مقیاس بزرگ    64
حملات و دفاع    64
لایه فیزیکی    65
تراکم    65
کوبش    66
لایه اتصال    67
برخورد    67
تخلیه    67
لایه شبکه    68
اطلاعات مسیر یابی غلط    68
عملیات انتخابی حرکت به جلو    68
حمله چاهک    69
حمله سایبیل    69
حمله چاهک پیچشی    69
حمله جریان آغازگر    69
اعتبار و رمز گذاری    70
نظارت    70
پروب شدن    71
فراوانی    71
راه حل های پیشنهادی    71
پروتکل های ارتباط    71
معماری های مدیریت کلیدی    75
LEAP    75
LKHW    75
پیش نشر کلیدی به صورت تصادفی    76
Tiny PK    76
نتیجه گیری    77
فصل سوم
بهبود تحمل پذیری خطا در شبکه های حسگر بی سیم    78
کارهای انجام شده    78
سازمان دهی گره ها و عملکرد سیستم    79
روش پیشنهادی    81
4-1 شبیه سازی دو روش    83
4-2 ارزیابی    83
نتیجه گیری    84
فصل چهارم
مقاله انگلیسی SECURITY IN WIRELESS SENSOR NETWORKS    96
منابع    98

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

فصل اول : شبکه های حسگر بی سیم

شبكه حسگر/كارانداز (حسگر)  شبكه ای است متشكل از تعداد زیادی گره كوچك. در هر گره تعدادی حسگر و/یا كارانداز وجود دارد. شبكه حسگر بشدت با محیط فیزیكی تعامل دارد. از طریق حسگرها اطلاعات محیط را گرفته و از طریق كار انداز ها واكنش نشان می دهد. ارتباط بین گره ها بصورت بی سیم است. هرگره بطور مستقل و بدون دخالت انسان کار میکند و نوعا از لحاظ فیزیكی بسیار كوچك است ودارای محدودیت هایی در قدرت پردازش, ظرفیت حافظه, منبع تغذیه, … می باشد. این محدودیت ها مشكلاتی را بوجود می آورد كه منشأ بسیاری از مباحث پژوهشی مطرح در این زمینه است. این شبكه از پشته پروتكلی شبكه های سنتی  پیروی می كند ولی بخاطر محدودیت ها و تفاوتهای وابسته به كاربرد, پروتكل ها باید باز نویسی شوند.

چرا شبکه های حسگر؟
     امروزه زندگی بدون ارتباطات بی سیم قابل تصور نیست.پیشرفت تکنولوژی CMOS و ایجاد مدارات کوچک و کوچکتر باعث شده است تا استفاده از مدارات بی سیم در اغلب وسایل الکترونیکی امروز ممکن شود.این پیشرفت همچنین باعث توسعه ریز حسگر ها شده است.این ریز حسگر ها توانایی انجام حس های بی شمار در کارهایی مانند شناسایی صدا برای حس کردن زلزله را دارا می باشند همچنین جمع آوری اطلاعات در مناطق دور افتاده ومکان هایی که برای اکتشافات انسانی مناسب نیستند را فراهم کرده است. اتومبیل ها می توانند از ریز حسگر های بی سیم برای کنترل وضعیت موتور, فشار تایرها, تراز روغن و… استفاده کنند.خطوط مونتاژ می توانند از این سنسورها برای کنترل فرایند مراحل طول تولید استفاده کنند.در موقعیت های استراتژیک ریز حسگرها می توانند توسط هواپیما بر روی خطوط دشمن ریخته شوند و سپس برای رد گیری هدف(مانند ماشین یا انسان) استفاده شوند. در واقع تفاوت اساسی این شبکه ها ارتباط آن با محیط و پدیده های فیزیکی است شبکه های سنتی ارتباط بین انسانها و پایگاه های اطلاعاتی را فراهم می کند در حالی که شبکه ی حسگر مستقیما با جهان فیزیکی در ارتباط است  با استفاده از حسگرها محیط فیزیكی را مشاهده کرده, بر اساس مشاهدات خود تصمیم گیری نموده و عملیات مناسب را انجام می دهند. نام شبكه حسگر بی سیم یك نام عمومی است برای انواع مختلف كه به منظورهای خاص طراحی می شود. برخلاف شبكه های سنتی كه همه منظوره اند شبكه های حسگر نوعا تك منظوره هستند.در هر صورت شبکه های حسگر در نقاط مختلفی کاربرد دارند برخی از این کاربرد ها به صورت فهرست وار آورده شده است:
•    نظامی (برای مثال ردگیری اشیاء)
•    بهداشت(برای مثال کنترل علائم حیاتی)
•    محیط(برای مثال آنالیززیستگاه های طبیعی)
•    صنعتی(برای مثال عیب یابی خط تولید)
•    سرگرمی(برای مثال بازی مجازی)
•    زندگی دیجیتالی(برای مثال ردگیری مکان پارک ماشین)

تاریخچه شبكه های حسگر:

  در شكل (1) طرح ها و ایده های اولیه شبكه های حسگر نشان داده شده است.
 

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

ساختار كلی شبكه حسگر بی سیم:
      قبل از ارائه ساختار كلی ابتدا تعدادی از تعاریف کلیدی را ذكر می كنیم.
حسگر : وسیله ای كه وجود شیئ  رخداد یك وضعیت یا مقدار یك كمیت فیزیكی را تشخیص داده و به سیگنال الكتریكی تبدیل می كند. حسگر انواع مختلف دارد مانند حسگرهای دما, فشار, رطوبت, نور, شتاب سنج, مغناطیس سنج و…
كارانداز : با تحریك الكتریكی یك عمل خاصی مانند باز و بسته كردن یك شیر یا قطع و وصل یك كلید را انجام می دهد
گره حسگر: به گره ای  گفته می شود كه فقط شامل یك یا چند حسگر باشد.
گره كارانداز: به گره ای  گفته می شود كه فقط شامل یك یا چند كارانداز باشد.
گره حسگر/كارانداز: به گره ای  گفته می شود كه مجهز به حسگر و كار انداز باشد.
شبكه حسگر : شبكه ای كه فقط شامل گره های حسگر باشد. این شبكه نوع خاصی از شبكه حسگر است. در كاربردهایی كه هدف جمع آوری اطلاعات و تحقیق در مورد یك پدیده می باشد كاربرد دارد. مثل مطالعه روی گردبادها.
میدان حسگر/کارانداز : ناحیه کاری که گره های شبکه حسگر در آن توزیع میشوند.
چاهک : گرهی که جمع آوری داده ها را به عهده دارد. و ارتباط بین گره های حسگر و گره مدیر وظیفه  را برقرار می كند.
گره مدیر وظیفه: گرهی که یک شخصی بعنوان کاربریا مدیر شبكه از طریق آن با شبکه ارتباط برقرار میکند. فرامین کنترلی و پرس و جو ها  از این گره به شبکه ارسال شده و داده های جمع آوری شده به آن بر میگردد
شبكه حسگر: شبكه ای متشكل از گره های حسگر و كار انداز یا حسگر/كارانداز است كه حالت كلی شبكه های مورد بحث می باشد. به عبارت دیگر شبكه حسگر شبكه ای است با تعداد زیادی گره كه هر گره می تواند در حالت كلی دارای تعدادی حسگر و تعدادی كارانداز باشد. در حالت خاص یك گره ممكن است فقط حسگر یا فقط كارانداز باشد. گره ها در ناحیه ای كه میدان حسگر نامیده می شود با چگالی زیاد پراكنده می شوند. یك چاهك پایش  كل شبكه را بر عهده دارد. اطلاعات بوسیله چاهك جمع آوری می شود و فرامین از طریق چاهك منتشر می شود. شكل(2) را ببینید. مدیریت وظایف میتواند متمرکز یا توزیع شده باشد. بسته به اینكه تصمیم گیری برای انجام واكنش در چه سطحی انجام شود دو ساختار مختلف خودكار و نیمه خودكار وجود دارد. که ترکیب آن نیز قابل استفاده است.
 

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

شكل(3) ساختار خودكار

شكل(4) ساختار نیمه خودكار

از طرف دیگر در كاربردهای خاصی ممكن است از ساختار بخش بندی شده یا سلولی استفاده شود كه در هر بخش یك سردسته  وجود دارد كه داده های گره های دسته خود را به چاهك ارسال می كند. در واقع هر سردسته مانند یك مدخل  عمل میكند.
ساختمان گره:
شكل(5) ساختمان داخلی گره حسگر را نشان می دهد. هر گره شامل واحد حسگر/ كارانداز, واحد پردازش داده ها, فرستنده/گیرنده بی سیم و منبع تغذیه می باشد بخشهای اضافی واحد متحرك ساز, سیستم مكان یاب و تولید توان نیز ممكن است بسته به كاربرد در گره ها وجود داشته باشد.
واحد پردازش داده شامل یك پردازنده كوچك و یك حافظه با ظرفیت محدود است داده ها را از حسگرها گرفته بسته به كاربرد پردازش محدودی روی آنها انجام داده و از طریق فرستنده ارسال می كند. واحد پردازش مدیریت هماهنگی و مشاركت با سایر گره ها در شبكه را انجام می دهد. واحد فرستنده گیرنده ارتباط گره با شبكه را برقرار می كند. واحد حسگر شامل یك سری حسگر و مبدل آنالوگ به دیجیتال است كه اطلاعات آنالوگ را از حسگرگرفته و بصورت دیجیتال به پردازنده تحویل می دهد. واحد كارانداز شامل كارانداز و مبدل دیجیتال به آنالوگ است كه فرامین دیجیتال را از پردازنده گرفته و به كارانداز تحویل می دهد. واحد تامین انرژی, توان مصرفی تمام بخشها را تامین می كند كه اغلب یك باطری با انرژی محدود است. محدودیت منبع انرژی یكی از تنگناهای اساسی است كه در طراحی شبكه های حسگر همه چیز را تحت تاثیر قرار می دهد. در كنار این بخش ممكن است واحدی برای تولید انرژی مثل سلول های خورشیدی وجود داشته باشد در گره های متحرك واحدی برای متحرك سازی وجود دارد. مكان یاب موقعیت فیزیكی گره را تشخیص می دهد. تكنیكهای مسیردهی  و وظایف حسگری به اطلاعات مكان با دقت بالا نیاز دارند. یكی از مهمترین مزایای شبكه های حسگر توانایی مدیریت ارتباط بین گره های در حال حركت می باشد.

 
شكل(5) ساختمان داخلی گره  حسگر/كارانداز

ویژگی ها:

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

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

1- تنگناهای سخت افزاری: هرگره ضمن اینكه باید كل اجزاء لازم را داشته باشد باید بحد كافی كوچك, سبك و كم حجم نیز باشد بعنوان مثال در برخی كاربردها گره یاید به كوچكی یك قوطی كبریت باشد و حتی گاهی حجم گره محدود به یك سانتیمتر مكعب است و از نظر وزن آنقدر باید سبك باشد كه بتواند همراه باد در هوا معلق شود. در عین حال هر گره باید توان مصرفی بسیار كم, قیمت تمام شده پایین داشته و با شرایط محیطی سازگار باشد. اینها همه محدودیتهایی است كه كار طراحی و ساخت گره های حسگر را با چالش مواجه میكند. ارائه طرح های سخت افزاری سبک و کم حجم در مورد هر یک از اجزای گره بخصوص قسمت ارتباط بی سیم و حسگرها از جمله موضوعات تحقیقاتی است که جای کار بسیار دارد. پیشرفت فن آوری ساخت مدارات مجتمع با فشردگی بالا و مصرف پایین, نقش بسزایی در كاهش تنگناهای سخت افزاری خواهد داشت.
2- توپولوژی: توپولوژی ذاتی شبكه حسگر توپولوژی گراف است. بدلیل اینكه ارتباط گره ها  بی سیم و بصورت پخش همگانی است و هر گره با چند گره دیگر كه در محدوده برد آن قرار دارد ارتباط دارد.  آلگوریتم های  كارا  در جمع آوری داده  و كاربردهای ردگیری اشیاء  شبكه را درخت پوشا در نظر می گیرند.  چون ترافیك اصولا بفرمی است كه داده ها از چند گره به سمت یك گره حركت می كند. مدیریت توپولوژی باید با دقت انجام شودیك مرحله اساسی مدیریت توپولوژی راه اندازی اولیه شبكه است گره هایی كه قبلا هیچ ارتباط اولیه ای ندشته اند در هنگام جایگیری و شروع بكار اولیه باید بتوانند با یكدیگر ارتباط برقرار كنند. الگوریتم های مدیریت توپولوژی در راه اندازی اولیه باید امكان عضویت گره های جدید و حذف گره هایی كه بدلایلی از كار می افتند را فراهم كنند. پویایی توپولوژی از خصوصیات شبكه های حسگر است كه امنیت آن را به چالش می كشد. ارائه روشهای مدیریت توپولوژی پویا بطوری كه موارد امنیتی را هم پوشش دهد از موضوعاتی است كه جای كار زیادی دارد.

3- قابلیت اطمینان: هر گره ممكن است خراب شود یا در اثر رویدادهای محیطی مثل تصادف یا انفجار بكلی نابود شود یا در اثر تمام شده منبع انرژی از كار بیفتد. منظور از تحمل پذیری یا قابلیت اطمینان این است كه خرابی گره ها نباید عملكرد كلی شبكه را تحت تاثیر قرار دهد. در واقع می خواهیم با استفاده از اجزای غیر قابل اطمینان یك شبكه قابل اطمینان بسازیم. برای گره k با نرخ خرابی ?k قابلیت اطمینان با فرمول(1) مدل می شود. كه در واقع احتمال عدم خرابی است در زمان t بشرط اینكه گره در بازه زمانی (0,t) خرابی نداشته باشد. به این ترتیب هرچه زمان می گذرد احتمال خرابی گره بیشتر می شود.

                                                                                        (1)
4- مقیاس پذیری : شبكه باید هم از نظر تعداد گره و هم از نظر میزان پراكندگی گره ها, مقیاس پذیر باشد. بعبارت دیگر شبكه حسگر از طرفی باید بتواند با تعداد صدها, هزارها و حتی میلیون ها گره كار كند و از طرف دیگر, چگالی توزیع متفاوت گره ها را نیز پشتیبانی كند. چگالی طبق فرمول (2) محاسبه می شود. كه بیانگر تعداد متوسط گره هایی است كه در برد یك گره نوعی (مثلادایره ای با قطر10 متر) قرار می گیرد. A: مساحت ناحیه كاری N:تعداد گره در ناحیه كاری و R: برد ارسال رادیویی است. در بسیاری كاربردها توزیع گره ها اتفاقی صورت می گیرد و امكان توزیع با چگالی مشخص و یكنواخت وجود ندارد یا گره ها در اثر عوامل محیطی جابجا می شوند. بنابراین چگالی باید  بتواند از چند عدد تا چند صد گره تغییر كند. موضوع مقیاس پذیری به روشها نیز مربوط می شود برخی روشها ممكن است مقیاس پذیر نباشد یعنی در یك چگالی یا تعداد محدود از گره كار كند. در مقابل برخی روشها مقیاس پذیر هستند.                                                                                                                                                                                                     

5- قیمت تمام شده : چون تعداد گره ها زیاد است كاهش قیمت هر تك گره اهمیت زیادی دارد. تعداد گره ها گاهی تا میلیونها میرسد. در این صورت کاهش قیمت گره حتی به مقدار کم تاثیر قابل توجهی در قیمت کل شبکه خواهد داشت.

6- شرایط محیطی : طیف وسیعی از كاربرد ها ی شبكه های حسگر مربوط به محیط هایی می شود كه انسان نمی تواند در آن حضور داشته باشد. مانند محیط های آلوده از نظر شیمیای, میكروبی, هسته ای ویا مطالعات در كف اقیانوس ها و فضا ویا محیط های نظامی بعلت حضور دشمن ویا در جنگل و زیستگاه جانوران كه حضور انسان باعث فرار آنها می شود. در هر مورد , شرایط محیطی باید در طراحی گره ها در نظر گرفته شود مثلا در دریا و محیط های مرطوب گره حسگر در محفظه ای كه رطوبت را منتقل نكند قرار می گیرد.

7- رسانه ارتباطی: در شبكه های حسگر ارتباط گره ها بصورت بی سیم و از طریق رسانه رادیویی, مادون قرمز, یا رسانه های نوری دیگر صورت می گیرد. اكثرا از ارتباط رادیویی استفاده می شود. البته ارتباط مادون قرمز ارزانتر و ساختنش آسانتر است ولی فقط در خط مستقیم عمل می كند.

8- توان مصرفی گره ها: گره های شبكه حسگر باید توان مصرفی كم داشته باشند. گاهی منبع تغذیه یك باتری 2/1 ولت با انرژی 5/. آمپر ساعت است كه باید توان لازم برای مدت طولانی مثلا 9 ماه را تامین كند. در بسیاری از كاربردها باتری قابل تعویض نیست. لذا عمر باطری عملا عمر گره را مشخص می كند. بعلت اینكه یك گره علاوه بر گرفتن اطلاعات(توسط حسگر) یا اجرای یك فرمان(توسط كارانداز) بعنوان رهیاب  نیز عمل می كند بد عمل كردن گره  باعث حذف آن از توپولوژی شده و سازماندهی مجدد شبكه و مسیردهی مجدد بسته عبوری را در پی خواهد داشت. در طراحی سخت افزار گره ها استفاده از طرح ها و قطعاتی كه مصرف پایینی دارند و فراهم كردن امكان حالت خواب  برای كل گره یا برای هر بخش بطور مجزا مهم است.

9- افزایش طول عمر شبكه: یك مشكل این است كه عمر شبكه های حسگر نوعاً كوتاه است. چون طول عمر گره ها بعلت محدودیت انرژی منبع تغذیه كوتاه است. علاوه بر آن گاهی موقعیت ویژه یك گره در شبكه مشكل را تشدید می كند مثلاً در گره ای كه در فاصل یك قدمی چاهك قرار دارد از یكطرف بخاطر بار كاری زیاد خیلی زود انرژی خود را از دست می دهد و از طرفی از كار افتادن آن باعث قطع ارتباط چاهك با كل شبكه می شود و از كار افتادن شبكه می شود. برخی راه حل ها به ساختار برمی گردد مثلا در مورد مشكل فوق استفاده از ساختار خودكار راهكار مؤثری است.(به بخش 2 مراجعه شود) بعلت اینكه در ساختار خودكار بیشتر تصمیم گیری ها بطوری محلی انجام می شود  ترافیك انتقال از طریق گره بحرانی كم شده, طول عمر آن و در نتیجه طول عمر شبكه افزایش می یابد. مشكل تخلیه زود هنگام انرژی در مورد گره های نواحی كم تراكم  در توزیع غیر یكنواخت گره ها نیز صدق می كند (به 4 مراجعه كنید) در اینگونه موارد داشتن یك مدیریت توان در داخل گره ها و ارائه راه حل های توان آگاه بطوری كه از گره های بحرانی كمترین استفاده را بكند مناسب خواهد بود. این نوعی به اشتراك گذاری منابع محسوب می شود لذا در صورت داشتن مدیریت وظیفه و مدیریت توان مناسب توزیع با چگالی زیاد گره ها در میدان حسگر/ کارانداز طول عمر شبکه را افزایش میدهد.  ارائه الگو های ساختاری مناسب و ارائه روشهای مدیریتی و آلگوریتم ها توان آگاه با هدف افزایش طول عمر شبكه حسگر از مباحث مهم تحقیقاتی است.

10- ارتباط بلادرنگ  و هماهنگی  : در برخی كاربردها مانند سیستم تشخیص و جلوگیری از گسترش آتش سوزی یا سیستم پیش گیری از سرقت سرعت پاسخگویی شبكه اهمیت زیادی دارد. در نمایش بلادرنگ فشار بر روی مانیتور  بسته های ارسالی باید بطور لحظه ای روزآمد باشند. برای تحقق بلادرنگ یك روش این است كه برای بسته های ارسالی یك ضرب العجل تعیین شود و در لایه كنترل دسترسی رسانه   بسته های با ضرب العجل كوتاهتر زودتر ارسال شوند مدت ضرب العجل به كاربرد بستگی دارد. مسئله مهم دیگر تحویل گزارش رخدادها به چاهك, یا كارانداز ناحیه, به ترتیب وقوع آنهاست در غیر این صورت ممكن است شبكه واكنش درستی انجام ندهد. نكته دیگر هماهنگی كلی شبكه در ارتباط با گزارشهایی است كه در مورد یك رخداد از حسگرهای مختلف به كاراندازهای ناحیه مربوطه داده می شود. بعنوان مثال در یك كاربرد نظامی فرض كنید حسگرهایی جهت تشخیص حضور یگان های پیاده دشمن و كاراندازهایی جهت نابودی آن در نظر گرفته شده چند حسگر حضور دشمن را به كار اندازها اطلاع می دهند شبكه باید در كل منطقه, عملیات را به یكباره شروع كند. در غیر این صورت با واكنش اولین كارانداز, سربازان دشمن متفرق شده و عملیات با شكست مواجه می شود. بهرحال موضوع بلادرنگ و هماهنگی در شبكه های حسگر بخصوص در مقیاس بزرگ و شرایط نامطمئن از مباحث تحقیقاتی است.

11- امنیت  و مداخلات   : موضوع امنیت در برخی كاربردها بخصوص در كاربرد های نظامی یك موضوع بحرانی است و بخاطر برخی ویژگی ها شبكه های حسگر در مقابل مداخلات آسیب پذیر ترند. یك مورد بی سیم بودن ارتباط شبكه است كه كار دشمن را برای فعالیت های ضد امنیتی و مداخلات آسانتر می كند. مورد دیگر استفاده از یك فركانس واحد ارتباطی برای كل شبكه است كه شبكه را در مقابل استراق سمع آسیب پذیر می كند. مورد بعدی ویژگی پویایی توپولوژی است كه زمینه را برای پذیرش گره های دشمن فراهم می كند. اینكه پروتكل های مربوط به مسیردهی, كنترل ترافیك و لایه كنترل دسترسی شبكه سعی دارند با هزینه و سربار  كمتری كار كنند مشكلات امنیتی بوجود می آورد مثلا برای شبكه های حسگر در مقیاس بزرگ برای كاهش تأخیر بسته هایی كه در مسیر طولانی در طول شبكه حركت می كنند یك راه حل خوب این است كه اولویت مسیردهی به بسته های عبوری داده شود. همین روش باعث می شود حمله های سیلی  مؤثرتر باشد. یكی از نقاط ضعف شبكه حسگر كمبود منبع انرژی است و دشمن می تواند با قرار دادن یك گره مزاحم كه مرتب پیغام های بیدار باش بصورت پخش همگانی با انرژی زیاد تولید می كند باعث شود بدون دلیل گره های همسایه از حالت خواب  خارج شوند. ادامه این روند باعث به هدر رفتن انرژی گره ها شده و عمر آنها را كوتاه می كند. با توجه به محدودیت ها باید دنبال راه حل های ساده و كارا مبتنی بر طبیعت شبكه حسگر بود. مثلا اینكه گره ها با چگالی بالا می توانند توزیع شوند و هر گره دارای اطلاعات كمی است یا اینكه داده ها در یك مدت كوتاه معتبرند از این ویژگی ها  می توان بعنوان یك نقطه قوت در رفع مشكلات امنیتی استفاده كرد. اساسا‏ً چالشهای زیادی در مقابل امنیت شبكه حسگر وجود دارد. و مباحث تحقیقاتی مطرح در این زمینه گسترده و پیچیده است.
12- عوامل پیش بینی نشده: یک شبکه حسگر کارانداز تابع تعداد زیادی از عدم قطعیت هاست. عوامل طبیعی غیر قابل پیش بینی مثل سیل زلزله, مشکلات ناشی از ارتباط بی سیم و اختلالات رادیویی, امکان خرابی هر گره, کالیبره نبودن حسگرها, پویایی ساختار و مسیردهی شبکه, اضافه شدن گره های جدید و حذف گره های قدیمی, جابجایی گره ها بطور کنترل شده یا در اثر عوامل طبیعی و غیره. سؤالی كه مطرح است این است که در این شرایط چگونه میتوان چشم اندازی فراهم کرد که از دیدگاه لایه کاربرد شبکه یک موجودیت قابل اطمینان در مقیاس بزرگ دارای کارایی عملیاتی مشخص و قابل اعتماد باشد. باتوجه به اینکه شبکه های حسگر کارانداز تا حدود زیادی بصورت مرکزی غیر قابل کنترل هستند و بصورت خودکار یا حداقل نیمه خودکار عمل میکنند باید بتوانند با مدیریت مستقل بر مشکلات غلبه کنند. از این رو باید ویژگی های خود بهینه سازی  خود سازماندهی  و خود درمانی   را داشته باشند. اینها از جمله مواردی هستند که بحث در مورد آنها آسان ولی تحقق آن بسیار پیچیده است. بهرحال این موضوعات ازجمله موارد تحقیقاتی می باشند

نمونه ی  پیاده سازی شده شبکه حسگر
   ذره ی میکا  :
یک نمونه از پیاده سازی سخت افزاری گره های حسگر ذره میکا دانشگاه برکلی امریکا است.این نمونه, یک واحد حسگر کوچک (چندین اینچ مکعب) با یک  واحد پردازنده مرکزی ,منبع تغذیه,رادیو و چندین عنصر حسگر اختیاری می باشد. پردازشگر آن یک پردازنده 8- بیتی از خانواده ی اتمل  می باشد همراه با 128 کیلو بایت حافظه ی برنامه, 4کیلوبایت RAM برای داده 512کیلوبایت حافظه ی فلش .این پردازنده فقط یک کمینه از مجموعه دستورالعمل های ریسکRISK) )را بدون عمل ضرب, شیفت با طول متغیر و چرخش پشتیبانی می کند.رادیوی آن یک رادیوی مصرف پایین916  مگاهرتز با پهنای باند40 کیلو در ثانیه روی یک کانال تسهیم شده منفرد با محدوده ی نزدیک به 12 متر می باشد. رادیو در حالت دریافت 4.8 میلی آمپر, در حالت ارسال تا 12میلی آمپر ودر حالت خواب 5 میکرو آمپر مصرف می کند.            

 
                 

            
شکل(6) ذره میکا

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

بررسی نرم ا فزارهای شبیه سازی شبكه

امروزه تكنولوژی شبیه سازی به طرز موفقیت آمیزی در جهت مدل سازی ، طراحی و مدیریت انواع سیستم های هوشمند به كار گرفته شده و در این راستا ابزارها و تكنیك های متعددی خلق شده كه به طور مثال می توان به تكنیك شبیه سازی رویدادگردان اشاره كرد كه اساس عملكرد بسیاری ازشبیه سازهای نوین می باشد. كاربرد شبیه سازی در مورد شبكه های ارتباطی نیز سابقه ای 15 ساله دارد كه هنوز هم در حال رشد می باشد ، دلایل استفاده از شبیه سازی در این حوزه را می توان در دو مورد خلاصه كرد :
1-پیدایش و گسترش شبكه هایی باتكنولوژی پیچیده
2-خلق ابزار ها و نرم افزارهای خاص شبیه سازی شبكه ها
نرم افزارهای شبیه ساز شبکه توانایی شبیه سازی شبكه های ارتباطی را بدون نیاز به كد نویسی و معمولآ از طریق واسط های گرافیكی فراهم می كنند. وجود عناصر  شبیه سازی شده ای متناظر با عناصر واقعی ( روترها و سوئیچ ها ، … ) در این گونه موارد علاوه بر بالا بردن دقت ، باعث افزایش سهولت و سرعت در فرآیند شبیه سازی می شود و به این ترتیب برای كاربران ناآشنا با فن برنامه نویسی بسیار مناسب می باشد.

خصوصیات لازم برای شبیه سازهای شبكه:
    خصوصیاتی كه شبیه سازهای شبكه باید داشته باشند عبارتند از :
1-انعطاف در مدل سازی :
كاربر باید قادر باشد انواع جدیدی از منابع معمول شبكه همچون گره ها ، لینك ها و پروتكل ها را به مجموعه موجود در شبیه ساز بیفزاید.
2-سهولت در مدل سازی :
وجود واسط گرافیكی و امكان مدلسازی به صورت ساخت یافته ، به شكلی كه مدل های پیچیده بر اساس مدلهای ساده طرح شوند و همچنین قابلیت استفاده مجدد از ماژول ها از خصوصیاتی می باشد كه باعث تسریع در فرآیند شبیه سازی می گردند.
3-اجرای سریع مدل ها :
زمان پردازش در شبیه سازی های بزرگ برای شبكه هایی با تعداد زیاد گره بسیار مهم می باشد كه لازمه آن مدیریت صحیح حافظه می باشد.
4-قابلیت مصور سازی :
نمایش گرافیكی عناصر شبكه در حال تبادل پیغام ها با یكدیگر به رفع خطاهای شبیه سازی و درك نحوه كاركرد آن بسیار كمك می كند. در برخی نرم افزارهای شبیه ساز اجرای مصور سازی همزمان با اجرای شبیه ساز و در برخی دیگر پس از انجام آن و به صورت Play Back انجام می گیرد.
5- قابلیت اجرای مجدد و تكراری شبیه سازی :
هدف از انجام شبیه سازی به طور عمده تحقیق تآثیر یك یا چند پارامتر (برای مثال متوسط طول بسته ها و یا ظرفیت بافرها) بر كارایی شبكه می باشد و به همین خاطر تكرار پذیری یك شرط لازم برای این نرم افزارها می باشد. در مجموع باید توجه داشت كه خلق یك شبیه ساز شبكه دقیق و معتبر  مستلزم بكارگیری تكنولوژی شبیه سازی در كنار دانش شبكه و پروتكل های آن می باشد.البته در كنار خصوصیات فوق وجود برخی قابلیت ها بر ارزش هر ابزار شبیه ساز خواهد افزود كه از آن میان  می توان به چند مورد اشاره ذیل اشاره كرد :
1- وجود ماژول های درونی از پیش آماده شده متناظر با عناصر و پروتكل های شبكه .
2-وجود یك مولد عدد تصادفی و در شكل های پیشرفته تر قابلیت خلق كمیت های با توزیع های تصادفی گوناگون چرا كه اغلب رخدادها در یك فرآیند شبیه سازی اعم از تولید و ارسال بسته ها و یا ایجاد خرابی در آنها ، از نوع فرآیندهای تصادفی می باشند.
3-حمایت از كاربران به بهنگام سازی های به موقع (بخصوص در مورد پروتكلهای جدید) بهمراه مستندات كامل و گویا.
4- ارائه گزارشهایی از پارامتر های كارایی شبكه (نرخ خروجی، بهره وری ، تآخیر انتقال،…) در قالب ارقام و منحنی ها به همراه امكان انجام عملیات آماری روی نتایج از دیگر ویژگی های مثبت یك شبیه ساز می باشد.
شبیه ساز NS(v2):
   شروع به كار این نرم افزار به پیش از پروژه VINT مربوط می گردد.شبیه ساز NS در سال 1989توسط گروه تحقیقاتی شبكه NRG در آزمایشگاه LBNL و بر اساس شبیه ساز شبكه دیگری موسوم به REAL طراحی شده است كه توسعه آن تا امروز ادامه داشته و بخصوص پس از انتخاب شدن به عنوان ابزار شبیه ساز پروژه VINT جدیت و سرعت یافته است.آخرین نسخه آن NS 2.1b8 روی شبكه اینترنت قابل دسترسی می باشد.

معماری درونی NS:
NS2 از گونه شبیه سازهای رویدادگردان می باشد و از طریق پیگیری رخدادها در طول زمان های گسسته ، شبیه سازی را پیش می برد این شبیه ساز در دو محیط برنامه نویسی C++ و OTCL و بصورت شیئ گرا طرح شده .NS بر اساس مدلی موسوم به VuSystem كار می كند كه در ادامه به طور خلاصه در مورد آن توضیح می دهیم.

مدل VuSystem:
   شبیه سازهای شبكه عمدتآ از دو بخش با تمایلات گوناگون تشكیل یافته اند :
1-گروهی از بلاك های سازنده كه عناصری همچون گره ها ، لینك ها ، صف ها ، مولدهای ترافیك و پروتكل ها را شبیه سازی می كنند.
2-یك رابط كه معمولآ از آن تحت عنوان زبان تشریح شبیه سازی یا SDL یاد می شود و وظیفه دارد بلوك های سازنده فوق را در فرآیند شبیه سازی به یكدیگر متصل كند.
در مورد این دو بخش یك مشكل اساسی پیش روی طراحان شبیه سازهای شبكه وجود دارد. در حالی كه برای بلوك های سازنده كارایی و سرعت اجرا هدف اصلی می باشد.SDL نیازمند انعطاف و سهولت تغییر در پیكر بندی می باشد و نیل به این دو هدف با یك محیط برنامه نویسی واحد مشكل مینماید.بنابراین مدل VuSystem كه توسط David Wetherall در دانشگاه MIT پیشنهاد شده ، راه حل را در استفاده از دو محیط برنامه نویسی جداگانه برای دو بخش فوق می داند.مطابق این مدل بلوك های سازنده با یك زبان كامپایلی (برای مثال C++ ) و بخش رابط آنها در یك محیط مفسری (مانند OTCL) پیاده سازی می شوند.
طراحان NS-2 با بكار گیری مجموعه ای از اشیاء موسوم به اشیاء دو تكه موفق به اعمال مدل VuSystem در شبیه ساز خویش گشته اند . مطابق این مدل NS-2 متشكل از مجموعه ای از اشیاء می باشد كه در دو محیط دوگانه كامپایلی/ مفسری و از طریق فراخوانی متدهای یكدیگر ، ارتباط برقرار می كنند.

شبیه ساز  :OMNeT++

OMNeT++  یك شبیه ساز شیئ گرا می باشد و از دسته نرم افزارهای discrete event  است. ++ OMNeT مخفف Objective Modular Network است و مبتنی بر C++ است. چون این نرم افزار در محیط C++ نوشته شده است در اغلب محیط ها باكامپایلر C++ قابل اجرا می باشد. به وسیله  DoS و X-   windowپشتیبانی شده و به  Win3.1 و Win95 و WinNT قابل حمل است. نویسنده این نرم افزار با یك  شركت مجارستانی توزیع كننده   OPNETهمكاری داشته است. این فرد عضو چندین پروژه شبیه سازی شبكه بوده و مدل شبیه سازی سیستم VSAT در OPNET را نوشته است. از لحاظ ساختاری این نرم افزار سلسله مراتبی از ماژول های تو در تو می باشد كه ماژول ها از طریق تبادل پیغام با یكدیگر در ارتباط هستند. در پائین ترین سطح این سلسله مراتب ماژول های خود كاربر قابل ایجاد می باشند. می تواند اجرای شبیه سازی را به صورت موازی پیش ببرد.با این نرم افزار هر نوع مكانیزم زمانبندی قابل بكار گیری است.زبان متنی برای توصیف توپولوژی دارد كه به آن NED گویند و بوسیله هر ابزار پردازشگر متنی (مانند perl و awk) قابل ایجاد است. همین فرمت بوسیله ادیتور گرافیكی قابل بكار گیری است. ++OMNeT واسط قوی برای دیباگ كردن و تریس كردن فراهم می كند.
همان طور كه ذكر شد OMNeT++ ساختار ماژولی دارد بنابراین تمام ابزار مورد نیاز در قالب ماژول هستند.این ماژول ها ساختار سلسله مراتبی دارند. در بالاترین سطح ماژول سیستم قرار دارد. ماژول سیستم حاوی زیر ماژول ها می باشد.كه این زیر ماژول ها می توانند حاوی زیر ماژول های دیگری باشند الی آخر.شمایی از ساختار ماژولی در شكل آمده است.عمق ماژول های تو در تو محدود نیست.بنابراین كاربر می تواند مدل منطقی سیستم واقعی خود را پیاده سازی كند.
 
شکل(8)

دو نوع ماژول داریم ماژول های مركب و ساده .ماژولهای مركب همانطور كه از نامش پیداست به ماژول هایی گفته می شود كه زیر ماژول ها را در بر دارند.ماژول های ساده ماژول هایی هستند كه بوسیله خود كاربر ایجاد می شوند.در حقیقت ماژول های ساده الگوریتم های مدل هستند.
همه ماژول های سیستم در قالبی به نام module type هستند. كاربر برای توصیف مدل modul type ها را به كار می گیرد ( نمونه هایی از  module type را برای ایجاد module type های پیچیده تر بكار می گیرد). در مجموع ماژول سیستم نمونه ای از module type های از پیش تعریف شده است.زمانی كه module type به عنوان بلاك سازنده بكار گرفته شود تفاوتی بین ماژول ساده و ماژول مركب نیست. بدین مفهوم كه كاربر برای سادگی می تواند یك ماژول ساده را به چندین ماژول ساده بشكند و در قالب یك ماژول مركب بگنجاند یا برعكس قابلیت های یك ماژول مركب را در یك ماژول ساده خلاصه كند.
همان طور كه ذكر شد ماژول ها از طریق تبادل پیغام با یكدیگر ارتباط برقرار می كنند.در شبكه واقعی پیام ها می توانند فریم ها یا بسته ها باشند. ماژول های ساده از طریق ارسال مستقیم پیغام یا به كمك مسیرهای از پیش تعریف شده با یكدیگر در ارتباط هستند.گیت ها واسط های ماژول ها هستند كه دارای بافر می باشند و عامل اتصال دهنده لینك ها به یكدیگرند.لینك ها تنها در یك سطح از سلسله مراتب ماژول قابل ایجاد هستند. بدین معنا كه در یك ماژول مركب دو زیر ماژول می توانند از طریق گیت های متناظر متصل شوند ویا یك زیر ماژول با ماژول مركب خود مرتبط شود.
در ساختار سلسله مراتبی پیام ها از طریق لینك ها یا اتصالات قابل انتقال هستند كه مبدأ و مقصد پیغام ها ماژول های ساده می باشند.به سری لینك ها یا اتصالاتی كه از یك ماژول ساده شروع و به یك ماژول ساده ختم می شود مسیر (route) گویند.
پارامترهای زیر را می توان برای یك لینك مقداردهی نمود:
1-(sec) Propagation Delay
2-(errors/bit) bit error rate 
3- (bits/sec) data rate

 

:REFERENCES

C. T. Ee, N. V. Krishnan and S. Kohli, “Efficient Broadcasts
in Sensor Networks,” Unpublished Class Project Report, UC
Berkeley, Berkeley, CA, May 12, 2003.

 Agrawal, Dharma P.; Qing-An Zeng. 2003. Introduction to Wireless and Mobile Systems. Brooks/Cole – Thompson, Pacific Grove, CA.
Chan, H., A. Perrig, and D. Song. Random Key Predistribution Schemes for Sensor Networks. IEEE Symposium on Security and Privacy (SP) (May 11 – 14, 2003).
Hill, Jason, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, and Kristofer Pister. System architecture directions for networked sensors. In Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS IX) (November 2000).
Hu, Y.C., A. Perrig, and D.B. Johnson. Rushing Attacks and Defense in Wireless Ad Hoc Network Routing Protocols. Proceedings of the ACM Workshop on Wireless Security (WiSe”03) (San Diego, California, September 19, 2003).
Huang, Q., J. Cukier, H. Kobayashi, B. Liu, and J. Zhang. Fast Authenticated Key Establishment Protocols for Self-Organizing Sensor Networks. Proceedings of the Workshop on Wireless Sensor Networks and Applications, (WSNA”03) (San Diego, California, September 19, 2003).
Jolly, G., M.C. Kuscu, P. Kokate, and M. Younis. A Low-Energy Key Management Protocol for Wireless Sensor Networks. IEEE Symposium on Computers and Communications (ISCC”03). (Kemer – Antalya, Turkey, June 30 – July 3 2003).
Karlof C. and D. Wagner. Secure Routing in Wireless Sensor Networks: Attacks and Countermeasures. Proceedings of the First IEEE Internat

برای دریافت پروژه اینجا کلیک کنید

بررسی کارکرد سوئیچ های LAN

برای دریافت پروژه اینجا کلیک کنید

 بررسی کارکرد سوئیچ های LAN دارای 33 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد بررسی کارکرد سوئیچ های LAN  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

 

بخشی از منابع و مراجع پروژه بررسی کارکرد سوئیچ های LAN

سوئیچ های LAN چطور کار می کنند؟

مبانی شبکه

توپولوژی شبکه Star

اضافه کردن سوئیچ ها

تکنولوژی سوئیچینگ

درخت های پوشا ( spanning trees)

LAN های مجازی( VLANS)

 

مقدمه

اگر مقالاتی راجع به شبكه یا اینترنت خواند ه باشید، می دانید كه یك شبكه شامل گرها ( كامپیوترها ) یك رسانه اتصال ( باسیم یا بی سیم) و تجهیزات اختصاصی شبكه نظیر مسیر یاب ها (Routers ) و هاب ها می گردد.
در مورد اینترنت تمام این بخش ها با هم كار می كنند تا به كامپیوترتان اجازه دهند كه اطلاعات را به كامپیوتر دیگری كه می تواند در طرف دیگر دنیا باشد بفرستد.
سوئیچ ها بخش بنیادی اغلب شبكه های می باشند. آنها ارسال اطلاعات روی یك شبكه برای چندین كاربر در آن واحد بدون پایین آوردن سرعت همدیگر را ممكن می سازند.درست شبیه روترها كه اجازه می دهند شبكه های مختلف با یكدیگر ارتباط برقرار كنند، سوئیچ ها اجازه می دهند گره های مختلف ( یك نقطه اتصال شبكه، نوعاً یك كامپیوتر ) از یك شبیكه مستقیماً با دیگری به طریقی مؤثر و خالی از اشكال ارتباط برقرار كنند.
انواع بسیار متفاوتی از سوئیچ ها وشبكه  وجود دارد. سوئیچ هایی كه یك اتصال مجزا برای هرگروه در شبكه داخلی یك شركت فراهم می كنند، سوئیچ های LAN نامیده می شوند.
اساساً یك سوئیچ یكسری از شبكه های لحظه ای ایجاد می كند كه شامل فقط دو وسیله در ارتباط با یكدیگر در آن لحظه خاص می باشند. د راین مقاله ما روی شبكه های اترنت( Ethernet ) كه از سوئیچ های LAN استفاده می كنند متمركز خواهیم شد.
شما خواهید آموخت كه یك سوئیچ LAN چیست وچطور transparent bridging كار می كند، علاوه بر این در مورد VLAN ها، trunking و spanning  خواهید آموخت.
مبانی شبكه
دراینجا بعضی از بخش های بنیادی شبكه را ملاحظه می نمائید:
شبكه( Netawork ): یك شبكه، گروهی از كامپیوترهای متصل بهم می باشد به طوری كه اجازه تبادل اطلاعات مابین كامپیوترها را می دهد
گره( Node): هر چیزی كه به شبكه متصل می گردد، یك گره می باشد در حالیكه گره نوعاً یك كامپیوتر است، می تواند چیزهایی شبیه یك چاپگر یا CD-ROM tower هم باشد.
قطعه ( segment ) هر بخش از شبكه كه بوسیله سوئیچ، bridge یا router از بخش های دیگر شبكه مجزا گردد، یك قطعه می باشد.
ستون فقرات ( Backbone ): كابل كشی اصلی یك شبكه كه تمام قطعات به آن متصل می گردد، ستون فقرات شبكه می باشد. نوعاً ستون فقرات قابلیت حمل اطلاعات بیشتری را از قطعات مجزا دارد. به عنوان مثال هر قطعه ممكن است نرخ انتقال (transfer rate )Mbps  10 داشته باشد، در حالیكه ستون فقرات ممكن است در Mbps 100 عمل كند.
توپولوژی: توپولوژی روشی است كه هر گره بطور فیزیكی به شبكه متصل می گردد. توپولوژی های متداول عبارتند از:
BUS : هر گره به صورت زنجیروار( daisy – chained ) و متصل شده درست یكی بعد از  دیگری در امتداد ستون فقرات شبیه به چراغ های كریسمس می باشد. اطلاعات فرستاده شده از یك گره در طول ستون فقرات حركت می كند تا به گره مقصد برسد. هر انتهای  شبكه bus باید جهت جلوگیری از پس  جهیدن سیگنال فرستاده شده و به وسیله یك گره در شبكه هنگامیكه به انتهای كابل می رسد، با یك مقاومت ختم شود.
حلقوی( ring ) : مشابه با شبكه bus، شبكه های ring هم دارای گره های زنجیروار هستند. با این تفاوت كه انتهای شبكه به سمت اولین گره بر میگردد و یك مدار كامل را تشكیل می دهد. دریك شبكه حلقوی هر گره ارسال و دریافت اطلاعات را بوسیله یك علامت ( token ) انجام می دهد. token همراه با هر گونه اطلاعات از اولین گره به دومین گره فرستاده می شود كه اطلاعات آدرس شده به آن گره استخراج و هر اطلاعاتی را كه می خواهد بفرستد به آن اضافه می كند.سپس دومین گره token و اطلاعات را به سومین گره پاس می دهد و همین طور تا دوباره به اولین گره برگردد. فقط گره با token مجاز به ارسال اطلاعات می باشد. تمام گره های دریگر باید صبر كنند تا token به آنها برسد.
ستاره ای (Star ): در یك شبكه ستاره ای هر گره به یك دستگاه مرگزی به نام     Hub متصل می شود. هاب سیگنالی را كه از هر گره می آید می گیرد و آن را به تمام گره های دیگر شبكه می فرستد. یك هاب هیچ نوع فیلترینگ و مسیر یابی(      routing ) اطلاعات را انجام نمی دهد. هاب فقط یك نقطه اتصال است كه تمام گره های مختلف را به هم وصل می كند.
توپولوژی شبكه Star
Star bus : متداول ترین توپولوژی شبكه مورد استفاده امروزی یعنی      star bus اصول توپولوژی های star و bus را برای ایجاد یك محیط شبكه همه منظوره تركیب می كند. گره ها در نواخی خاص  به هاب ها ( برای ایجاد    star ) متصل می شوند و هاب ها در امتداد ستون فقرات شبكه ( شبیه به یك شبكه   bus ) بهم متصل می گردند. اغلب اوقات همچنانكه در مثال زیر دیده می شود ستاره ها در ستاره ها به شكل تودرتو هستند:
شبكه محلی ( Local Area Network-LAN ): یك LAN شبكه ای از كامپیوترهایی است كه در مكان فیزیكی عمومی یكسان، معمولاً در یك ساختمان یا یك فضای باز واقع شده اند. اگر كامپیوترها بسیار پراكنده و دور از هم ( در میان شهر یا در شهرهای مختلف )  باشند، در آن صورت نوعاً یك شبكه گسترده ( Wide Area Network-WAN )  مورد استفاده قرار می گیرد.
( NIC ) Network Interface Card : هر كامپیوتر ( اغلب دستگاه های دیگر)از طریق یك NIC به شبكه متصل می گردد. در اغلب كامپیوترهای رومیزی NIC یك كارت اترنت ( 10یا 100 Mbps ) است كه داخل یكی از شكاف های مادر برد كامپیوتر قرار می گیرد.
Media Access Control (MAC) address : آدرس فیزیكی هر دستگاه در شبكه می باشد ( مثل آدرس NIC در یك كامپیوتر). آدرس MAC دو قسمت دارد كه طول هر كدام 3 بایت است. اولین 3 بایت معرف شركت سازنده NIC می باشد دومین 3 بایت شماره سریال NIC است.
Unicast : انتقال از یك گره یك بسته ( packet ) را به آدرس یك گروه خاص می فرستد. دستگاه های ذی نفع در این گروه  بسته های آدرس شده به گروه را دریافت می كنند. مثالی از این مورد می تواند یك روتر Cisco باشد كه یك update را به تمام روترهای دیگر Cisco  می فرستد.
Broadcast: در یك broadcast، یك گره بسته را به قصد ارسال به تمام گره های دیگر شبكه  می فرستد

برای دریافت پروژه اینجا کلیک کنید

نرم افزارهای جهت برنامه نویسی در موبایل

برای دریافت پروژه اینجا کلیک کنید

 نرم افزارهای جهت برنامه نویسی در موبایل دارای 32 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

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

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

مقدمه

طبق آمار سایت Global Videogame Market سهم 7 میلیون دلاری بازی های همراه از بازار 28 میلیارد دلاری بازی های رایانه در سال 2001 ( كه تقریباً معادل 025/0درصد است) به سهم 6/3میلیارد دلاری از بازار 30 میلیارد دلاری بازی های رایانه ای در سال 2006 افزایش یافته است. یعنی تنها در عرض 6 سال این بازار رشدی 500 درصدی داشته است. ارقام وقتی حیرت آورتر می شود كه پیش بینی كاربران بازی های همراه را هم با یكدیگر مقایسه كنیم. در سال 2002 تنها 7 میلیون كاربر تلفن همراه از بازی های همراه استقبال می كرده اند. IDC پیش بینی كرده است كه این آمار در سال 2007 به 2/71 میلیون كاربر بالغ خواهد شد. یعنی تعداد علاقه مندان به این بازی ها در عرض ای مدت ده برابر شده است.
اكنون میكرو سافت نسخه Windows CE خودش را كه بسیار شبیه به Windows XP را ارائه كرده است. RedHat هم لینوكس كوچولوی خود را ارائه داده است. و البته همه و همه اینها برای تلفن های همراه پیشرفته تر است. آنهایی كه به سری 60 به بالا معروف هستند از چنین سیستم عامل هایی سود می برند. برای دستگاههای همراه كوچكتر هر سازنده ای سیستم عامل خاص خودش را دارد كه الزاماً نرم افزارهای آزادی هم نیستند.
 برای نوشتن نرم افزار برای این دستگاه های كوچك و جیبی هم مناقشه ها بسیار است. سان جعبه ابزار بی سیم خودش را دارد كه بسیار هم به آن می نازد. یك عیب كوچك هم دارد و آن اینكه IDE مناسبی ندارد و شما باید از دیگر ویرایشگرهای جاوا سود ببرید كه با نصب ابزارهایی برای نوشتن MIDlet مجهز می شوند. میكروسافت هم در نسخ جدید Visual Studio خود هم امكان را عرضه داشته است. اولی را رایگان و تحت لیسانس كاربری عمومی سان می توانید از اینترنت بگیرید و دومی را قفل شكسته به هر قیمتی كه خواستید در گیشه هر بقالی در هر كجا یافته می شود.
جنگ IDE ها هم بسیار است. Eclipse  , Net Beans هر دو به اصطلاح نرم افزارهای آزاد هستند و رقبای سرسخت. بورلند هم از قافله عقب نیفتاده است و میكروسافت می كوشد بازار از دست رفته را مثل همه جای دیگر دوباره قبضه كند. اما در میان همه اینها هستند كسانی كه با لذت و شعف از Programmers Notepad تعریف می كنند. ابزارهایی را به این نرم افزار كوچولوی آزاد می افزایند و آن را تبدیل به سریع ترین IDE می كنند.

برای دریافت پروژه اینجا کلیک کنید

آشنایی با نرم افزار C#

برای دریافت پروژه اینجا کلیک کنید

 آشنایی با نرم افزار C# دارای 142 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد آشنایی با نرم افزار C#  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

آغاز كار با C#
 
در این درس با ارائه چند برنامه و مثال ساده به طرز كار زبان C# می‌پردازیم. اهداف این درس عبارتند از :
•    فهم ساختار پایه‌ای یك برنامه C#
•    آشنایی با Namespace
•    آشنایی با كلاس (Class)
•    آشنایی با عملكرد متد Main()
•    آشنایی با ورودی/خروجی یا I/O
 
لیست 1-1، یك برنامه ساده با عنوان Welcome در زبان C#
// Namespace اعلان
using  System;
 
// كلاس آغازین برنامه
class WelcomeCSS
  {
   // آغاز كار اجرای برنامه
   public static void Main()
    {
     // نوشتن متن در خروجی
     Console.WriteLine(“Welcome to the C# Persian Tutorial!”);
    }
  }
برنامه لیست 1-1 دارای 4 پارامتر اصلی است، اعلان Namespace، كلاس، متد Main() و یك دستور زبان C#.
در همین جا باید به یك نكته اشاره كنم، برای زبان C# همانند بیشتر زبانهای برنامه‌سازی دو نوع كامپایلر وجود دارد. یك نوع كامپایلر كه به كامپایلر Command Line معروف است و نوع دیگر كامپایلر Visual است. كامپایلر‌های Command Line محیطی شبیه به محیط DOS دارند و با دادن یك سری دستورات به اجرا در می‌آیند. كامپایلرهای Visual محیطی همانند ویندوز دارند كه با دارا بودن محیط گرافیكی و ابزارهای خاص، برنامه‌نویس را در امر برنامه‌سازی كمك می‌كنند. از نمونه‌های هر یك از كامپایلرها، می‌توان به Microsoft C# Command Line Compiler كه یك كامپایلر Command Line و Microsoft Visual C# كه یك كامپایلر Visual است، اشاره كرد. البته در حال حاضر بیشتر از كامپایلرهای ویژوال استفاده می‌شود.
من سعی می‌كنم در آینده به توضیح محیط Visual C# و Visual Studio.Net بپردازم. اما فعلاً برای اجرای برنامه‌ها می‌توانید از Visual Studio.Net استفاده كنید. پس از نصب آن، وارد محیط C# شده و در قسمت انتخاب برنامه جدید گزینه Console را جهت اجرای برنامه‌ها انتخاب نمایید.
برای این درس، فعلاً به توضیحات بیشتر درباره محیط ویژوال نمی‌پردازم اما در آینده به توضیح كامل محیط Visual Studio.Net خواهم پرداخت.
برای اجرای كد بالا در صورتیكه از محیط ویژوال استفاده می‌كنید باید بر روی دكمه Run كلیك كنید و در صورتیكه كامپایلر Command Line دارید با دستور  زیر می‌توانید برنامه را اجرا كنید : csc Welcome.cs
پس از اجرای برنامه، كامپایلر برای شما یك فایل قابل اجرا(Executable) تحت نام Welcome.exe تولید می‌كند.
نكته : در صورتیكه از Visual Studio.Net(VS.Net) استفاده كنید، پس از اجرای برنامه، یك صفحه برای نمایش خروجی به سرعت باز شده و بسته می‌شود و شما قادر به دیدن خروخی نخواهید بود. برای اینكه بتوانید خروجی برنامه را ببینید، در انتهای برنامه دستور زیر را وارد نمایید :
‍Console.ReadLine();
 استفاده از این دستور باعث می‌شود تا برنامه منتظر دریافت یك ورودی از كاربر بماند، كه در این حالت شما می‌توانید خروجی برنامه خود را دیده و سپس با زدن كلید Enter برنامه را خاتمه دهید.
 
نكته دیگری كه در مورد زبان برنامه‌نویسی C# باید مورد توجه قرار دهید اینست كه این زبان Case Sensitive است، بدین معنا كه به حروف كوچك و بزرگ حساس است یعنی برای مثال ReadLine با readLine متفاوت است به طوریكه اولی جزو دستورات زبان C# و دومی به عنوان یك نام برای متغیر یا یك تابع كه از طرف كاربر تعریف شده است در نظر گرفته می‌شود.
 
اعلان Namespace به سیستم اعلان می‌نماید كه شما از توابع كتابخانه‌ای  System  جهت اجرای برنامه‌ها خود استفاده می‌نمایید. دستوراتی مانند WriteLine و ReadLine جزو توابع كتابخانه‌ای System می‌باشند. اغلب دستورات و توابع مهم و كلیدی استفاده از كنسول ورودی/خروجی در این كتابخانه می‌باشد. در صورتیكه در ابتدای برنامه از using System استفاده نكنید، یابد در ابتدای هر یك از دستورات برنامه كه مربوط این كتابخانه است، از كلمه System استفاده نمایید. بعنوان مثال در صورت عدم استفاده از using System باید از دستور System.Console.WriteLine() به جای Console.WriteLine() استفاده نمایید.
 
تعریف كلاس،Class Welcome CSS، شامل تعریف داده‌ها(متغیرها) و متدها جهت اجرای برنامه است. یك كلاس، جزو معدود عناصر زبان C# است كه بوسیله آن می‌توان به ایجاد یك شی (Object) از قبیل واسط‌ ها (Interfaces) و ساختارها(Structures)، پرداخت. توضیحات بیشتر در این زمینه در درس‌های آینده ذكر می‌شوند. در این برنامه كلاس هیچ داده‌ و متغیری ندارد و تنها شامل یك متد است. این متد، رفتار(Behavior) این كلاس را مشخص می‌كند.
 
متد درون این كلاس بیان می‌كند كه این كلاس چه كاری را پس از اجرا شدن انجام خواهد داد. كلمه كلیدی Main() كه نام متد این كلاس نیز می‌باشد جزو كلمات رزرو شده زبان C# است كه مشخص می‌كند برنامه از كجا باید آغاز به كار نماید. وجود متد Main() در تمامی برنامه‌های اجرایی ضروری است. در صورتیكه یك برنامه حاوی متد Main() نباشد بعنوان توابع سیستمی همانند dll های ویندوز در نظر گرفته می‌شود.
قبل از كلمه Main() كلمه دیگری با عنوان static آورده شده است. این كلمه در اصطلاح Modifier می‌گویند. استفاده از static برای متد Main() بیان می‌دارد كه این متد تنها در در همین كلاس قابل اجراست و هیچ نمونه‌ای (Instance) دیگری از روی آن قابل اجرا نمی‌باشد. استفاده از static برای متد Main() الزامی است زیرا در ابتدای آغاز برنامه هیچ نمونه‌ای از هیچ كلاس و شی‌ای موجود نمی‌باشد و تنها متد Main() است كه اجرا می‌شود. (در صورتیكه با برخی اصطلاحات این متن از قبیل كلاس، شی، متد و نمونه آشنایی ندارید، این به دلیل آنست كه این مفاهیم جزو مفاهیم اولیه برنامه‌نویسی شی‌گرا (OOP) هستند. سعی می‌كنم در درس‌های آینده به توضیح این مفاهیم نیز بپردازم، ولی فعلاً در همین حد كافی می‌باشد.)
 
هر متد باید دارای یك مقدار بازگشتی باشد، یعنی باید مقداری را به سیستم بازگرداند، در این مثال نوع بازگشتی void تعزیف شده است كه نشان دهنده آنست كه این متد هیچ مقداری را باز نمی‌گرداند یا به عبارت بهتر خروجی ندارد. همچنین هر متد می‌تواند دارای پارامترهایی نیز باشد كه لیست پارامترهای آن در داخل پرانتزهای جلوی آن قرار می‌گیرد. برای سادگی كار در این برنامه متد ما دارای هیچ پارامتری نیست ولی در ادامه همین درس به معرفی پارامترها نیز می‌پردازم.
 
متد Main() رفتار و عمل خود را بوسیله Console.WriteLine(…) مشخص می‌نماید. Console كلاسی در System است و WriteLine() متدی در كلاس  Console. در زبان C# از اپراتور “.” (نقطه dot) جهت جداسازی زیرروتین‌ها و زیرقسمتها استفاده می‌كنیم. همانطور كه ملاحظه می‌كنید چون WriteLine() یك متد درون كلاس Console است به همین جهت از “.” جهت جداسازی آن استفاده كرده‌ایم.
 
در زبان ‍C#، برای قرار دادن توضیحات در كد برنامه از // استفاده می‌كنیم. بدین معنا كه كامپایلر در هنگام اجرای برنامه توجهی به این توضیحات نمی‌كند و این توضیحات تنها به منظور بالا بردن خوانایی متن و جهت و كمك به فهم بهتر برنامه قرار می‌گیرند. استفاده از // تنها در مواردی كاربرد دارد كه توضیحات شما بیش از یك خط نباشد. در صورت تمایل برای استفاده از توضیحات چند خطی باید در ابتدای شروع توضیحات از /* و در انتها آن از */ استفاده نمایید. در این حالت تمامی مطالبی كه بین /*  */ قرار می‌گیرند به عنوان توضیحات (Comments) در نظر گرفته می‌شوند.
 
تمامی دستورات (Statements) با “;”، سمی كولون، پایان می‌یابند. كلاس‌ها و متد‌ها با } آغاز شده و با { خاتمه می‌یابند. تمامی دستورات بین { } یك بلوك را می‌سازند.
 
بسیاری از برنامه‌ها از كاربر ورودی دریافت می‌كنند. انواع گوناگونی از این ورودی‌ها می‌توانند به عنوان پارامتری برای متد Main() در نظر گرفته شوند. لیست 2-1 برنامه‌ای را نشان می‌دهد نام كاربر را از ورودی دریافت كرده و آن را بر روی صفحه نمایش می‌دهد. این ورودی به صورت پارامتری برای متد Main() در نظر گرفته شده است.
 
لیست 2-1 : برنامه‌ای كه ورودی را از كاربر، بعنوان پارامتر Main()، دریافت می‌كند.
// Namespace اعلان
using System;
// كلاس آغازین برنامه
class NamedWelcome
  {
   // آغاز اجرا برنامه
   public static void Main(string[] args)
     {
      // نمایش بر روی صفحه
      Console.WriteLine(“Hello, {0}!”, args[0]);
      Console.WriteLine(“Welcome to the C# Persian Tutorial!”);
     }
  }
توجه داشته باشید كه این برنامه، ورودی را به صورت Command-Line دریافت می‌كند و در هنگام اجرای برنامه باید ورودی را در Command-Line وارد نمایید. در صورتیكه ورودی را وارد ننمایید برنامه دچار مشكل شده و متوقف خواهد شد.
 
همان طور كه در لیست 2-1 مشاهده می‌نمایید، پارامتر متد Main() با عنوان args مشخص شده است. با استفاده از این نام در داخل متد می‌توان آن استفاده نمود. نوع این پارامتر از نوع آرایه‌ای از نوع رشته (string[]) در نظر گرفته شده است. انواع(types) و آرایه‌ها را در درس‌های بعدی بررسی می‌كنیم. فعلاً بدانید كه آرایه رشته‌ای جهت نگهداری چندین كاراكتر مورد استفاده قرار می‌گیرد. [] مشخص كننده آرایه هستند كه مانند یك لیست عمل می‌كند.
 
همانطور كه ملاحظه می‌كنید در این برنامه دو دستور Console.WriteLine(…) وجود دارد كه اولین دستور مقداری با دستور دوم متفاوت است. همانطور كه مشاهده می‌كنید داخل دستور Console.WriteLine(…) عبارتی به شكل {0} وجود دارد. این آرگومان، نشان می‌دهد كه به جای آن چه مقداری باید نمایش داده شود كه در این جا args[0] نشان داده می‌شود. عبارتی كه داخل ” ” قرار دارد عیناً در خروجی نمایش داده می‌شود، به جای آرگومان {0}، مقداری كه پس از ” قرار دارد، قرار می‌گیرد. حال به آرگومان بعدی یعنی args[0] توجه كنید. مقدار صفر داخل [] نشان می‌دهد كه كدام عنصر از آرایه مورد استفاده است. در C# اندیس آرایه از صفر شروع می‌شود به همین جهت برای دسترسی به اولین عنصر آرایه باید از اندیس صفر استفاده كنیم.(همانطور كه قبلاً نیز كفتم آرایه‌ها را در درس‌های آینده توضیح خواهم داد، هدف از این درس تنها آشنایی با C# است.!)
 
مجدداً به آرگومان {0} بازگردیم. این آرگومان نشان می دهد كه یك مقدار باید در رشته خروجی قرار گیرد، این مقدار همان args[0]  است. اگر شما این برنامه را از طریق Command-Line اجرا نمایید خروجی شبیه به زیر خواهید گرفت :
>Hello!, Meysam!
>Welcome to C# Persian Tutorial!
همان گونه كه می‌بینید، پس از اجرای برنامه نام شما كه از طریق Command-Line آنرا وارد نموده‌اید در خروجی ظاهر می‌شود. استفاده از آرگومان {n}، كه در آن n یك مقدار عددی است، جهت فرمت دادن به متن خروجی است كه بر روی صفحه به نمایش در می‌آید. مقدار n از صفر آغاز شده و به ترتیب افزایش می‌باید. به مثال زیر توجه كنید :
Console.WriteLine(“Hello! ,{0} ,{1}, {2}”,args[0],args[1],args[2]);
این خط از برنامه سه مقدار args[0],args[1],args[2] را در خروجی به ترتیب نمایش می‌دهد. ملاحظه می‌نمایید كه چون 3 مقدار را می‌خواهیم نمایش دهیم، سه بار از آرگومان {n} استفاده كرده‌ایم و هر بار یك واحد به مقدار قبلی افزوده‌ایم. در آینده بیشتر با این مفاهیم آشنا می‌شویم.
 
مطلبی كه باید در مورد لیست 2-1 به آن توجه شود آنست كه این برنامه تنها از طریق  Command-Lineقابل اجراست و در صورتیكه كاربر از این مطلب كه برنامه باید دارای ورودی به صورت Command-Line باشد، بی اطلاع باشد و ورودی را در Command-Line وارد نكند، برنامه متوقف شده و اجرا نمی‌شود. پس برای رفع چنین مشكلی باید از روش بهتری جهت دریافت ورودی از كاربر استفاده كرد.
 
لیست 3-1 : یك برنامه كه قابلیت محاوره با كاربر را دارد.
// Namespace اعلان
using System;
 
// كلاس آغازین برنامه
class InteractiveWelcome
  {
   //آغاز اجرای برنامه
   public static void Main()
    {
     // متنی بر روی صفحه نمایش داده می‌شود
     Console.Write(“What is your name?: “);
     //متنی نمایش داده شده و برنامه منتظر دریافت ورودی می‌ماند
     Console.Write(“Hello, {0}! “, Console.ReadLine());
     Console.WriteLine(“Welcome to the C# Persian Tutorial!”);
    }
  }
همانطوریكه در این برنامه دیده می شود، متد Main() دارای پارامتر نیست. در عوض یك خط به متن برنامه لیست 2-1 اضافه شده است. در اولین خط از این برنامه، متنی با عنوان اینكه نام شما چیست؟ بر روی صفحه ظاهر می‌شود. سپس در خط بعدی پس از نوشتن كلمه Hello, ، برنامه منتظر دریافت ورودی از كاربر می‌شود. بدین معنی كه این بار تا زمانیكه كاربر متنی را به عنوان نام خود وارد نكند اجرای برنامه به پیش نخواهد رفت و خط بعدی اجرا نمی‌شود. این برنامه روش ایجاد ارتباط از طریق برنامه با كاربر را نمایش می‌دهد. در این مثال كاربر دقیقاً متوجه می‌شود كه چه زمانی باید اطلاعات را وارد نماید و این اطلاعات چه باید باشد در حالیكه در مثال قبل چنین نبود. همانگونه كه می‌بینید در این برنامه آرگومان {0} مستقیماً از طریق دستور Console.ReadLine() دریافت می‌شود و بلافاصله در خروجی نمایش داده می‌شود. دستور ReadLine() نیز یكی از متدهای كلاس Console است كه بوسیله آن رشته ورودی خوانده می‌شود.
خروجی برنامه فوق به شكل زیر است :
What is your name?:
(سپس برنامه منتظر دریافت متنی از ورودی توسط كاربر می‌ماند)
(پس از اینكه كاربر رشته‌ای را وارد كرد و كلیدEnter را فشار داد، متن زیر نمایش داده می‌شود.)
Hello, Meysam!
(سپس اجرای برنامه به دستور بعدی منتقل می‌شود)
Welcome to the C# Persian Tutorial!
 
خروجی كامل برنامه :
What is your name?:
Hello, Meysam! Welcome to the C# Persian Tutorial!
توجه كنید كه ReadLine() به عنوان یك متد، مقداری را به سیستم بازمی‌گرداند. این مقدار در این برنامه به آرگومان {0} برگردانده می‌شود. این خط از برنامه را می‌توان طور دیگری هم نوشت :
string myName=Console.ReadLine();
Console.WriteLine(“Hello, {0}!”,myName);
 
در این حالت ما یك متغیر از نوع رشته با نام myName تعریف كرده‌ایم كه مقدار ورودی در آن ذخیره می‌شود و سپس از این مقدار به عنوان مقداری‌ كه {0} می‌پذیرد استفاده كرده‌ایم.
 
در این درس آموختید كه ساختار كلی یك برنامه C# چگونه است. هر برنامه C# از یك كلاس اصلی تشكیل می‌شود كه این كلاس شامل داده‌ها و متغیرها و متدهایی می‌باشد. متد آغازین برنامه كه برنامه با آن شروع به اجرا می‌كند، متد Main() است. با استفاده از توابع كتابخانه‌ای می‌نوان به كلاسها و متدهای C# دسترسی پیدا كرد. از جمله این توابع System بود كه یكی از كلاسهای آن Console و چند متد این كلاس،  متدهای WriteLine() و ReadLine() بودند.
  آموزش زبان #C
1.    مفاهیم اولیه زبان #C          :    فهم ساختار پایه‌ای یك برنامه در #C، آشنایی با Namespace، آشنایی با كلاس و ….
2.    متغیرها، عبارات و عملگرها  :  آشنایی با متغیرها، آشنایی با انواع پیش فرض زبان، آشنایی با عبارات، آشنایی با رشته‌ها، آشنایی با آرایه‌ها و ….
3.    دستورالعمل‌های كنترلی – شرطی : آشنایی با دستور if ، آشنایی با دستور switch و break ، آشنایی با دستور goto و ….
4.    دستورالعمل‌های كنترلی – حلقه‌ها : آشنایی كلی با حلقه‌ها – حلقه while – حلقه do while – حلقه for و foreach و ….
5.    متدها : ساختار یك متد، انواع متدها، ایجاد نمونه جدید از اشیاء، انواع پارامترهای متد، فراخوانی متد، آشنایی با كلمه كلیدی this و ….
6.    Namespaces : آشنایی با Namespace – هدایتگر using – هدایتگر alias – اعضای یك Namespace و ….
7.    كلاسها : درك كاملتر كلاسها، سازنده و تخریب كننده در كلاسها ، اعضای كلاس و ….
8.    ارث‌بری كلاسها : پیاده‌سازی كلاس پایه ، كلاسهای مشتق شده، مقدار دهی كلاس پایه، فراخوانی اعضای كلاس پایه، پنهان سازی اعضای كلاس
9.    چند ریختی Polymorphism : آشنایی با مفهوم چند ریختی، متد‌های مجازی، Override كردن متدها، استفاده از چندریختی در برنامه‌ها و ….
10.    ویژگیها (Properties) : موارد استفاده، پیاده‌سازی و ایجاد property، ایجاد property های فقط خواندنی و فقط نوشتنی و ….
11.    اندیكسر (Indexer) : پیاده‌سازی اندیكسر، سرریزی اندیكسر، اندیكسرهای چند پارامتری، نكات پیشرفته درباره اندیكسرها و ….
12.    ساختارها (Structures) : ساختار چیست؟، پیاده‌سازی و استفاده از یك ساختار، تفاوت ساختار و كلاس و ….
13.    واسطها و رابطها (Interfaces) : مفهوم كلی واسطها، تعریف یك واسط، استفاده از interface، پیاده‌سازی ارث‌بری در واسطها و ….
14.    رخداد (Event) و delegate : درك مفهوم delegate، رخداد چیست؟ پیاده‌سازی رخدادها و delegate ها و ….
15.    Exception Handling : درك مفهوم استثناء و چگونگی برخورد با آن، بررسی بلوكهای try/catch برای مقابله با استثناء و بلوك finally ….
16.    صفتها (Attribute) : صفتها چه هستند و چگونه از آنها استفاده می‌كنیم، پارامترهای صفتها و انواع آنها، ساخت صفتهای شخصی و …. 
17.     انواع شمارشی (Enum) : انواع شمارشی چه هستند، چگونه تولید شده و چگونه مورد استفاده قرار می گیرند، موارد استفاده از آنها و …. 
18.    Overload کردن عملگرها : در این بحث با نحوه Overload کردن عملگرها آشنا خواهید شد.
19.       ساختمان داده‌ها در سی شارپ (1) : در این بحث با مفاهیم اولیه ساختمان داده آشنا می‌شوید. همچنین به معرفی ساختمان داده‌های مهم و رایج نظیر آرایه و لیست نیز پرداخته شده است. 
دستورالعمل‌های كنترلی و شرطی
 
در این درس با دستورالعمل‌های كنترل و انتخاب در C# آشنا می‌شوید. هدف این درس عبارتست از :
•    یادگیری دستور if
•    یادگیری دستور switch
•    نحوه بكارگیری دستور break در دستور switch
•    درك صحیح از نحوه بكارگیری دستور goto
 
بررسی دستور if و انواع مختلف آن
در درسهای گذشته، برنامه‌هایی كه مشاهده می‌كردید از چندین خط دستور تشكیل شده بودند كه یكی پس از دیگری اجرا می‌شدند و سپس برنامه خاتمه می‌یافت. در این برنامه‌ها هیچ عمل تصمیم‌گیری صورت نمی‌گرفت و تنها دستورات برنامه به ترتیب اجرا می‌شدند. مطالب این درس نحوه تصمیم‌گیری در یك برنامه را به شما نشان می‌دهد.
 
اولین دستور تصمیم‌گیری كه ما آنرا بررسی می‌نماییم، دستورالعمل if است. این دستور دارای سه فرم كلی : تصمیم‌گیری ساده، تصمیم‌گیری دوگانه، تصمیم‌گیری چندگانه می‌باشد.
 
مثال 1-3 – فرم‌های دستورالعمل if
using System;
 
class IfSelect
{
  public static void Main()
   {
    string myInput;
    int myInt;
    Console.Write(“Please enter a number: “);
    myInput = Console.ReadLine();
    myInt = Int32.Parse(myInput);
    //تصمیم‌گیری ساده و اجرای عمل داخل دو كروشه
    if (myInt > 0)
     {
      Console.WriteLine(“Your number {0} is greater than zero.”, myInt);
     }
    //تصمیم‌گیری ساده و اجرای عمل بدون استفاده از دو كروشه
    if (myInt < 0)
      Console.WriteLine(“Your number {0} is less than zero.”, myInt);
    // تصمیم‌گیری دوگانه
    if (myInt != 0)
     {
      Console.WriteLine(“Your number {0} is not equal to zero.”, myInt);
     }
    else
     {
      Console.WriteLine(“Your number {0} is equal to zero.”, myInt);
     }
    // تصمیم‌گیری چندگانه
    if (myInt < 0 || myInt == 0)
     {
      Console.WriteLine(“Your number {0} is less than or equal to zero.”,  myInt);
     }
    else if (myInt > 0 && myInt <= 10)
    {
     Console.WriteLine(“Your number {0} is between 1 and 10.”, myInt);
    }
    else if (myInt > 10 && myInt <= 20)
    {
     Console.WriteLine(“Your number {0} is between 11 and 20.”, myInt);
    }
    else if (myInt > 20 && myInt <= 30)
    {
     Console.WriteLine(“Your number {0} is between 21 and 30.”, myInt);
    }
   else
   { 
    Console.WriteLine(“Your number {0} is greater than 30.”, myInt);
   }
  } //Main()پایان متد
} //IfSelectپایان كلاس 
 
برنامه 1-3 از یك متغیر myInt برای دریافت ورودی از كاربر استفاده می‌نماید، سپس با استفاده از یك سری دستورات كنترلی، كه همان دستور if در اینجاست، عملیات خاصی را بسته به نوع ورودی انجام می‌دهد. در ابتدای این برنامه عبارت Please enter a umber: در خروجی چاپ می‌شود. دستور Console.ReadLine() منتظر می‌ماند تا كاربر ورودی وارد كرده و سپس كلید Enter را فشار دهد. همانطور كه در قبل نیز اشاره كرده‌ایم، دستور Console.ReadLine() عبارت ورودی را به فرم رشته دریافت می‌نماید پس مقدار ورودی كاربر در اینجا كه یك عدد است به فرم رشته‌ای در متغیر myInput كه از نوع رشته‌ای تعریف شده است قرار می‌گیرد. اما میدانیم كه برای اجرای محاسبات و یا تصمیم‌گیری بر روی اعداد نمی‌توان از آنها در فرم رشته‌ای استفاده كرد و باید آنها را بصورت عددی مورد استفاده قرار داد. به همین منظور باید متغیر myInput را به نحوی به مقدار عددی تبدیل نماییم. برای این منظور از عبارت Int32.Parse() استفاده می‌نماییم. این دستور مقدار رشته‌ای متغیر داخل پرانتزش را به مقدار عددی تبدیل كرده و آنرا به متغیر دیگری از نوع عددی تخصیص می‌دهد. در این مثال نیز همانطور كه دیده می‌شود، myInput كه تز نوع رشته‌ای است در داخل پرانتز قرار گرفته و این مقدار برابر با myInt كه از نوع int است قرار گرفته است. با این كار مقدار عددی رشته ورودی كاربر به متغیر myInt تخصیص داده می‌شود. (توضیح كامل‌تری در مورد Int32 و سایر تبدیلات مشابه به‌ آن در درسهای آینده و در قسمت نوع‌های پیشرفته مورد بررسی قرار می‌گیرند.)حال ما متغیری از نوع مورد نظر در دست داریم و می‌توانیم با استفاده از دستور if بر روی آن پردازش انجام داده و تصمیم‌گیری نماییم.
 
دستور if
اولین دستور بصورت if (boolean expression) {statements} آورده شده است. دستور if با استفاده از كلمه كلیدی if آغاز می‌شود. سپس یك عبارت منطقی درون یك زوج پرانتز قرار می‌گیرد . پس از بررسی این عبارات منطقی دستورالعمل/دستورالعمل‌های داخل كروشه اجرا می‌شوند. همانطور كه مشاهده می‌نمایید، دستور if یك عبارت منطقی را بررسی می‌كند. در صورتیكه مقدار این عبارات true باشد دستورهای داخل بلوك خود را اجرا می‌نماید(قبلا توضیح داده شد كه دستورهایی كه داخل یك زوج كروشه {} قرار می‌گیرند در اصطلاح یك بلوك نامیده می‌شوند.) و در صورتیكه مقدار آن برابر با false باشد اجرای برنامه به بعد از بلوك if منتقل می‌شود. در این مثال همانطور كه ملاحظه می‌نمایید، عبارت منطقی دستور if بشكل if(myInt > 0) است. در صورتیكه مقدار myInt بزرگتر از عدد صفر باشد، دستور داخل بلوك if اجرا می‌شود و در غیر اینصورت اجرای برنامه به بعد از بلوك if منتقل می‌گردد.
 
دومین دستور if دراین برنامه بسیار شبیه به دستور اول است، با این تفاوت كه در این دستور، دستور اجرایی if درون یك بلوك قرار نگرفته است. در صورتیكه بخواهیم با استفاده از دستور if تنها یك دستورالعمل اجرا شود، نیازی به استفاده از بلوك برای آن دستورالعمل نمی‌باشد. استفاده از بلوك تنها زمانی ضروری است كه بخواهیم از چندین دستور استفاده نماییم.
 
دستور if-else
در بیشتر موارد از تصمیم‌گیری‌های دوگانه یا چندگانه استفاده می‌شود. در این نوع تصمیم‌گیری‌ها، دو یا چند شرط مختلف بررسی می‌شوند و در صورت true بودن یكی از آنها عمل مربوط به آن اجرا می‌گردد. سومین دستور if در این برنامه نشان دهنده یك تصمیم‌گیری دوگانه است. در این حالت درصورتیكه عبارت منطقی دستور if برابر با true باشد دستور بعد از if اجرا می‌شود و در غیر اینصورت دستور بعد از else به اجرا در می‌آید. در حقیقت در این حالت می‌گوئیم ” اگر شرط if صحیح است دستورات مربوط به if را انجام بده و درغیر اینصورت دستورات else را اجرا كن”.
فرم كلی دستور if-else بصورت زیر است :
if (boolean expression)
   {statements}
else
   {statements}
كه در آن boolean expression عبارت منطقی است كه صحت آن مورد بررسی قرار می‌گیرد و statements دستور یا دستوراتی است كه اجرا می‌گردند.
 
دستور if-else if … else یا if تودرتو
در صورتیكه نیاز باشد تا چندین حالت منطقی مورد بررسی قرار گیرد و دستورات مربوط به یكی از آنها اجرا شود، از فرم تصمیم‌گیری چندگانه استفاده می‌نماییم. این نوع استفاده از دستور if در اصطلاح به if تودرتو (Nested If) معروف است چراكه در آن از چندین دستور if مرتبط به یكدیگر استفاده شده است. چهارمین دستور if در مثال 1-3 استفاده از if تودرتو  را نشان می‌دهد. در این حالت نیز دستور با كلمه كلیدی if آغاز می‌گردد. شرطی بررسی شده و در صورت true بودن دستورات مربوط به آن اجرا می‌گردد. اما اگر مقدار این عبارت منطقی false بود آنگاه شرطهای فرعی دیگری بررسی می‌شوند.این شرطهای فرعی با استفاده از else if مورد بررسی قرار می‌گیرند. هر یك از این شرطها دارای عبارات منطقی مربوط به خود هستند كه در صورت true بودن عبارت منطقی دستورات مربوط به آنها اجرا می‌گردد و در غیر اینصورت شرط بعدی مورد بررسی قرار می‌گیرد. باید توجه كنید كه در ساختار if تودرتو تنها یكی از حالتها اتفاق می‌افتد و تنها یكی از شرطها مقدار true را بازمی‌گرداند.
فرم كلی if تودرتو بشكل زیر است :
if (boolean expression)
   {statements}
else if (boolean expression)
   {statements}

else
   {statements}
عملگرهای OR و AND  (|| و &&)
نكته دیگری كه باید در اینجا بدان اشاره كرد، نوع شرطی است كه در عبارت منطقی دستور if آخر مورد استفاده قرار گرفته است. در این عبارت منطقی از عملگر || استفاده شده است كه بیانگر OR منطقی است. عملگر OR زمانی مقدار true بازمی‌گرداند كه حداقل یكی از عملوندهای آن دارای مقدار true باشد. بعنوان مثال در عبارت (myInt < 0 || myInt == 0)، در صورتیكه مقدار متغیر myInt كوچكتر یا مساوی با صفر باشد، مقدار عبارت برابر با true است. نكته قابل توجه آنست كه در زبان ‍C#، همانطور كه در درس دوم به آن اشاره شد، دو نوع عملگر OR وجود دارد. یكی OR منطقی كه با || نمایش داده می‌شود و دیگری OR معمولی كه با | نشان داده می‌شود. تفاوت بین این دو نوع OR در آنست كه OR معمولی هر دو عملگر خود را بررسی می‌نماید اما OR منطقی تنها در صورتیكه عملگر اول آن مقدار false داشته باشد به بررسی عملگر دوم خود می‌پردازد.
 
عبارت منطقی (myInt > 0 && myInt <= 10) حاوی عملگر AND شرطی (&&) می‌باشد. این عبارت در صورتی مقدار true بازمی‌گرداند كه هر دو عملوند AND دارای مقدار true باشند. یعنی در صورتیكه myInt هم بزرگتر از صفر باشد و هم كوچگتر از 10، مقدار عبارت برابر با true می‌گردد. در مورد AND نیز همانند OR دو نوع عملگر وجود دارد. یكی AND معمولی (&) و دیگری AND شرطی (&&). تفاوت این دو نیز در آنست كه AND معمولی (&) همیشه هر دو عملوند خود را بررسی می‌نماید ولی AND شرطی (&&) تنها هنگامی به بررسی عملوند دوم خود می‌پردازد كه مقدار اولین عملوندش برابر با true باشد. عملگرهای منطقی  (|| و &&) را در اصطلاح عملگرهای میانبر (short-circuit) می‌نامند چراكه تنها در صورت لزوم عملوند دوم خود را بررسی می‌نمایند و از اینرو سریعتر اجرا می‌شوند.
 
بررسی دستور switch
همانند دستور if، دستور switch نیز امكان تصمیم‌گیری را در یك برنامه فراهم می‌نماید.
مثال 2-3 – دستورالعمل switch
using System;
 
class SwitchSelect
 {
   public static void Main()
   {
    string myInput;
    int myInt;
    begin:
    Console.Write(“Please enter a number between 1 and 3: “);
    myInput = Console.ReadLine();
    myInt = Int32.Parse(myInput);
    // بهمراه متغیری از نوع صحیح switch دستور
    switch (myInt)
    {
     case 1:
        Console.WriteLine(“Your number is {0}.”, myInt);
        break;
     case 2:
        Console.WriteLine(“Your number is {0}.”, myInt);
        break;
     case 3:
        Console.WriteLine(“Your number is {0}.”, myInt);
        break;
     default:
        Console.WriteLine(“Your number {0} is not between 1 and 3.”, myInt);
        break;
    } //switchپایان بلوك
   decide:
   Console.Write(“Type “continue” to go on or “quit” to stop: “);
   myInput = Console.ReadLine();
   // بهمراه متغیری از نوع رشته‌ای switch دستور
   switch (myInput)
   {
    case “continue”:
       goto begin;
    case “quit”:
       Console.WriteLine(“Bye.”);
       break;
    default:
       Console.WriteLine(“Your input {0} is incorrect.”, myInput);
       goto decide;
   } //switchپایان بلوك
  } //Main()پایان متد
} //SwitchSelectپایان كلاس
 
مثال 2-3 دو مورد استفاده از دستور switch را نشان می‌دهد. دستور switch بوسیله كلمه كلیدی switch آغاز شده و به دنبال آن عبارت دستور switch قرار می‌گیرد. عبارت دستور switch می‌تواند یكی از انواع زیر باشد : sbyte, byte, short, ushort, int, uint, long, ulong, char, string, enum .(نوع enum در مبحث جداگانه‌ای مورد بررسی قرار خواهد گرفت.) در اولین دستور switch در مثال 2-3، عبارت دستور switch از نوع عددی صحیح (int) می‌باشد.
 
به دنبال دستور و عبارت switch، بلوك switch قرار می‌گیرد كه در آن گزینه‌هایی قرار دارند كه جهت منطبق بودن با مقدار عبارت switch مورد بررسی قرار می‌گیرند. هر یك از این گزینه‌ها با استفاده از كلمه كلیدی case مشخص می‌شوند. پس از كلمه كلیدی case خود گزینه قرار می‌گیرد و به دنبال آن “:” و سپس دستوری كه باید اجرا شود. بعنوان مثال به اولین دستور switch در این برنامه توجه نمایید. در اینجا عبارت دستور switch از نوع int است. هدف از استفاده از دستور switch آنست كه از بین گزینه‌های موجود در بلوك switch، گزینه‌ای را كه مقدارش با مقدار عبارت switch برابر است پیدا شده و عمل مرتبط با آن گزینه اجرا شود. در این مثال مقدار متغیر myInt بررسی می‌شود. سپس اگر این مقدار با یكی از مقادیر گزینه‌های داخل بلوك switch برابر بود، دستور یا عمل مربوط به آن گزینه اجرا می‌گردد. توجه نمایید كه در این مثال منظور ما از گزینه همان عدد پس از case است و منظور از دستور عبارتی است كه پس از “:” قرار گرفته است. بعنوان مثال، در دستور زیر :

برای دریافت پروژه اینجا کلیک کنید