فی لوو

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

فی لوو

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

دانلود مقاله مبانی دات نت (Net.)

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

دانلود مقاله مبانی دات نت (Net.)


دانلود مقاله مبانی دات نت (Net.)

مبانی دات نت(.net)

مقاله ای مفید و کامل

 

 

 

 

 

لینک پرداخت و دانلود *پایین مطلب* 

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

تعداد صفحه:239

چکیده:

دات نت ، پلات فرم  جدید ماکروسافت بمنظور تحقق نظریه : " نرم افزار بعنوان سرویس " ، است . دات نت  یک محیط  پیاده سازی است که بکمک آن می توان اقدام به ایجاد و بکارگیری نرم افزار و نسل جدیدی از عناصر موسوم به " سرویس های وب " ، نمود.  تمامی محصولات اصلی ماکروسافت از ویژوال استودیو دات نت تا ویندوز و نهایتا"  مجموعه آفیس ، متاثر از پلات فرم فوق شده و خواهند شد . دات نت به پیاده کنندگان این امکان را خواهد داد که با زبان برنامه نویسی مورد علاقه خود ، اقدام به پیاده سازی برنامه ها  نمایند.  ویژگی ( پتانسیل ) فوق از طریق معرفی CLR)Common Language Runtime )، میسر شده است . در این مقاله قصد داریم به بررسی دات نت پرداخته و پتانسیل ها و قابلیت های آن را تشریح نمائیم .
در جولای سال 2000 ، شرکت ماکروسافت در کنفرانس پیاده کنندگان حرفه ای (PDC ) ، در شهر Orlando ایالت کالیفرنیا ،  جزئیات بیشتری از نسل جدید پلات فرم خود ( دات نت )  بمنظور پیاده سازی برنامه های ویندوز و اینترنت را در اختیار علاقه مندان خصوصا" پیاده کنندگان نرم افزار قرار داد . محوریت ابتکار فوق ، بر فریمورک دات نت استواربوده  ونشاندهنده یک پلات فرم مناسب بهمراه  کتابخانه های کلاس گسترده ای است که پتانسیل های متعددی را در اختیار قرار می دهد. یکی از نکات قابل توجه  در پلات فرم فوق،استفاده از  XML و SOAP  بمنظور ارتباط بین نرم افزارها ی موجود در اینترنت ( نرم افزارهای مبتنی بر وب ) ، است . در این راستا مجموعه ای از محصولات مبتنی بر سرویس دهنده با نام سرویس دهندگان Enterprise  دات نت،  مطرح که بمنزله نسل جدیدی از  محصولات Backoffice  ماکروسافت ، می باشند.
 فریمورک دات نت ، مدلی کاملا" جدید بمنظور برنامه نویسی و بکارگیری نرم افزار را ارائه  نموده است. "بیل گیتس "، در سخنرانی خود در PDC ، بدین نکته  اشاره داشتند  که در هر پنج تا شش سال ما شاهد یک  تحول عمده در رابطه با پیاده سازی نرم افزار بوده ایم . آخرین موارد در این زمینه به سوئیچ  از DOS به ویندوز در سال 1990 و گذر از پیاده سازی شانزده بیتی به سی و دو بیتی ( از ویندوز widows 3.x به ویندوز NT/95 ) در اواسط دهه 90 میلادی ، است.
با معرفی دات نت در PDC ، پیاده کنندگان آن را معماری مناسبی برای پیاده سازی نرم افزار ( برنامه های Desktop و برنامه های وب )  مشاهده نمودند . ویژوال استودیو دات نت ، اولین محصول مبتنی بر دات نت ماکروسافت بوده که در سال 2001 در اختیار علاقه مندان قرار گرفت . اهمیـت دات نت برای ماکروسافت تا بدین حد است که در سال 2001 ، بیش از هشتاد درصد منابع  بخش تحقیق و توسعه این شرکت در رابطه با آن صرف شده است . زبان سی شارپ ، که زبانی جدید برای برنامه نویسی در دات نت است بعنوان زبان استاندارد برای پیاده سازی داخلی در شرکت ماکروسافت پذیرفته شده است .

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

ایده های اولیه
از اواخر سال 1995 ، شرکت ماکروسافت توجهی خاص و  قابل توجه نسبت به اینترنت نمود . هدف ماکروسافت در این زمینه پیوند بین پلات فرم ویندوز و اینترنت بود. ماحصل تلاش  ماکروسافت در این زمینه ارائه مدل برنامه نویسی Windiws DNA ، بود . در این راستا مجموعه ای از ابزارها و تکنولوژی های  مبتنی بر اینترنت ، طراحی و ارائه گردید . ASP  ، از اولین تلا ش های ماکروسافت در این زمینه است . عملا" در این زمینه ( مطرح شدن اسکریپت ها ی مفسری ) یک برگشت به عقب نسبت به پیاده سازی ساختیافته و شی گراء را شاهد بوده ایم . طراحی ، اشکال زدائی و نگهداری چنین کدهای غیر ساختیافته ای مسائل خاص خود را خواهد داشت . سایر زبانها نظیر ویژوال بیسیک بصورت موفقیت آمیز در رابطه با برنامه نویسی بر روی اینترنت و پلات فرم ماکروسافت استفاده می گردید ولی اغلب از آن  بمنظور ایجاد عناصری که از طریق ASP ، بخدمت گرفته می شدند ، استفاده می گردید .در این رابطه تلاش های اندکی  نیز در جهت  ایجاد یک اینترفیس مبتنی بر وب بر روی زبان های سنتی نظیر webclasses در VB ، نیز انجام شد ولی هیچکدام از تلاش های فوق ، در سطح گسترده ای مورد استقبال و پذیرش قرار نگرفت . ماکروسافت در صدد حل آشفتگی های همراه برنامه های ویندوز DNA بود . ویندوز DNA ، تصویری مناسب از یک معماری Three-Tire و مبتنی بر COM بود که تکنولوژی ASP در لایه Presentation ، اشیاء Bussiness در لایه میانی و یک engine  بانک اطلاعاتی رابطه ای در لایه Data ، قرار می گرفت . مفاهیم همراه DNA ،کامل و بی عیب  بود اما در زمان استفاده عملیاتی  چالش های خاص خود را بدنبال داشت . پیاده سازی عناصر COM ، مستلزم یک سطح مناسب از دانش و مهارت است  و می بایست زمان زیادی  در این رابطه صرف گردد .  بکارگیری نرم افزارهای DNA ، نیز مسائل خاص خود را داشت ( مسائل مربوط به ورژن ، نصب عناصر و عناصری که با آن  مرتبط می باشند ) .
 بموازات تلاش سایر شرکت ها در رابطه با ارائه راهکارهائی خاص بمنظور پیاده سازی برنامه ها ی وب  ،  شرکت ماکروسافت در صدد برطرف نمودن محدودیت های مدل برنامه نویسی DNA  گردید.

تولد دات نت
در اوایل سال 1998 ، گروهی از پیاده کنندگان نرم افزار در ماکروسافت ، کار خود را بر روی نسخه ای جدید از IIS ( نسخه چهار) ، به اتمام رساندند که دارای چندین ویژگی جدید در رابطه با ASP بود .در این راستا ،  قابلیت های جدیدی بمنظور پیاده سازی برنامه های وب  در ویندوز NT ، فراهم گردید.گروه پیاده کننده دارای ایده های متعددی برای اعمال اصلاحات جدید بودند . گروه فوق ، کار خود را بر روی یک معماری جدید برای پیاده سازی ایده های مطرح شده ، آغاز نمود . این پروژه ، NGWS)Netx Generation Window Services) ، نامیده گردید. پس از ارائه  ویژوال استودیو شش ،  در اواخر سال 1998 ، تلاش برای ایجاد نسخه ای  جدید از ویژوال استودیو در دستور NGWS ، قرار گرفت . گروه COM+/MTS  در مدل پیشنهادی خود از یک Runtime ، عمومی برای تمامی زبانهای استفاده شده در ویژوال استودیو ، استفاده نمودند . تلاش افراد درگیر در پروژه NGWS ادامه تا در نهایـت ، شرکت ماکروسافت در کنفرانس پیاده کنندگان حرفه ای (PDC) ، دات نت را معرفی نمود.

مروری بر فریمورک دات نت
فریمورک دات نت ، تمامی لایه های پیاده سازی نرم افزار را از سطح سیستم عامل به  بالا ،  تحت پوشش قرار می دهد. فریمورک فوق، سطحی مناسب وقدرتمند از ارتباط و همبستگی بین تکنولوژی  Presentation  ، تکنولوژی های Component و تکنولوژی های  Data  را ارائه می نماید ( نظیر این ارتباط و همبستگی تاکنون در پلات فرم ویندوز مشاهده نشده است) .  معماری فوق ، امکان طراحی و پیاده سازی برنامه های مبتنی بر اینترنت و محیط های Desktop ، را بسادگی فراهم و نیازهای هر گروه از نرم افزارهای فوق را بخوبی جواب می دهد . اجزای اصلی فریمورک دات نت در شکل زیر نشان داده شده است .

 

فریمورک دات نت از لایه  پائین با عملیاتی نظیر مدیریت حافظه آغاز و بسمت بالا بمنظور ارائه اینترفیس های برنامه ها و کاربران ، دنبال  می شود . در بین لایه ها ، لایه های سیستمی دیگر که هر یک دارای پتانسیل های خاصی برای پیاده کنندگان می باشند ، وجود دارد.
 CLR) Common Language Runtime) ، بمنزله قلب فریمورک دات نت محسوب و engine لازم بمنظور ارائه قابلیت های کلیدی را ارائه می نماید . CLR ، شامل عناصر اساسی دیگری نظیر:  (Common Type System (CTS ، است. علاوه بر مدیریت حافظه ، CLR ، مراجعات به اشیاء و عملیات Garbage Collection را نیز انجام می دهد .
 در لایه میانی ، ما شاهد نسل جدیدی از سرویس های استاندارد نظیر ADO.NET و XML می باشیم .سرویس های فوق ، تحت کنترل فریمورک بوده و امکان بکارگیری آنها بصورت جامع و استاندارد در بین تمامی زبانها ، فراهم می گردد . بالاترین لایه ، شامل اینترفیس های برنامه و کاربر است . فرم های ویندوز ، روشی جدید بمنظور ایجاد برنامه های Desktop مبتنی بر win32  می باشند. فرم های وب ، یک رابط کاربر مناسب برای برنامه های  مبتنی بر وب را ارائه می نمایند. سرویس های وب ، مکانیزمی بمنظور ارتباط برنامه ها از طریق اینترنت و با استفاده از SOAP  ، می باشد. سرویس های وب ، قابل مقایسه با عناصر COM و DCOM بوده با این تفاوت مهم که در این راستا از تکنولوژی های متعدد اینترنت ، استفاده می گردد. فرم های وب و سرویس های وب ،  اینترفیس اینترنت  دات نت را تشکیل و پیاد ه سازی آنان از طریق بخش دیگری در فریمورک دات نت که  ASP.NET ، نامیده می شود ، محقق می گردد .
پتانسیل های موجود در هر لایه فریمورک دات نت ، توسط هر یک از زبان های سازگار با دات نت ، قابل استفاده خواهد بود. در پایان لازم است به این نکته اشاره گردد که  در این رابطه ( فریمورک دات نت ) می توان از اینترفیس های مبتنی بر متن ( کاراکتری) نیز استفاده کرد . این نوع برنامه ها اصطلاحا" Console Application ، نامیده می شوند .

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

 

مبانی دا ت نت ( بخش دوم )

در بخش اول این مقاله به بررسی و معرفی  فریمورک دانت پرداخته گردید. در این بخش به بررسی  CLR ، یکی از مهمترین عناصر موجود در فریمورک دات نت خواهیم پرداخت .
درابتدا لازم است تعریفی  از CLR را داشته باشیم. CLR ، محیطی است که برنامه های دات نت بکمک آن اجراء می گردند . برنامه های نوشته شده توسط هر یک از زبان های سازگار با دات نت پس از ترجمه توسط کمپایلر مربوطه به MSIL)Microsoft Intermediate language) ، ترجمه می گردند ( به زبان فوق ، IL نیز گفته می شود ) .

CLR  از نمای نزدیک

Common Type System(CTS)
( Data Types ,...)

Intermediate Language(IL) to native code compilers

Execution Support (traditional runtime functions)

Security

Garbage Collection,Stack Walk ,Code manager

Class Loader and memory layout

هدف از طراحی CLR ، نیل به اهداف زیر بوده است  :

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

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

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

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

متا دیتا
متادیتا ، " داده ئی در رابطه با داده "  بوده و می توان آن را بعنوان سطحی عمیق تر از داده نسبت به خصلت های سطح سیستم در نظر گرفت. متادیتا ، عنصر اساسی برای تحقق اصل برنامه نویسی ساده ( تسهیل در امر برنامه نویسی ) مورد حمایت CLR است. متادیتا توسط یک کمپایلر تولید و بصورت اتوماتیک در یک فایل EXE و یا DLL ذخیره می گردد.فرمت آن بصورت باینری است ولی فریمورک یک API بمنظور صدور متادیتا به / از یک  XML Schema و یا یک کتابخانه نوع COM ارائه می دهد . از  Schema XML ، می توان در بازیابی ورژن و سایر اطلاعات مرتبط با یک عنصر ترجمه شده ، استفاده کرد. اطلاعات ارائه شده توسط متادیتا ، مجموعه گسترده ای را شامل می شود :

  • تشریح یک واحد بکارگیری ( اسمبلی نامیده می شود ) :  نام ، ورژن ، فرهنگ ( که می تواند اطلاعاتی نظیر زبان پیش فرض کاربر را مشخص نماید) ، یک کلید عمومی برای بررسی، نوع های صادر شده توسط اسمبلی ، وابستگی ها به سایر اسمبلی ها ، مجوزهای امنیتی مورد نیاز بمنظور اجراء
  • کلاس های پایه و اینرفیس های استفاده شده توسط اسمبلی
  • خصلت های سفارشی  : تعریف شده توسط کاربرو یا  کمپایلر

برخی از موارد فوق نظیر خصلت های سفارشی ، انتخابی می باشند .کمپایلرها یکی از کاربران و استفاده کنندگان متا دیتا می باشند . مثلا" یک کمپایلر می تواند یک ماژول تولید شده نوسط یک کمپایلر متفاوت دیگر را بررسی و از متا دیتا بمنظور استفاده و درج ( Import ) ،  نوع های cross-language استفاده نمایند. کمپایلرها می توانند متاد یتا هائی را در ارتباط با ماژول های ترجمه شده خود نیز تولید نمایند.
متا دیتا یکی از روش هائی است که CLR را قادر به حمایت از مجموعه گشترده ای از ابزارها می نماید . برخی از استفاده کنندگان متادیتا ، عبارتند از :

  • طراحان
  • دیباگرها
  • تولید کنندگان پروکسی
  • سایر کمپایلرها
  • مرورگرها نوع / شی

حمایت و ارتباط چندین زبان
مهمترین ویژگی و بنوعی هدف  CLR ، حمایت از زبانهای  برنامه نویسی متفاوت و امکان ارتباط ( همبستگی ) بین زبانهای مختلف است .با بهره گیری از یک سیتم نوع (  CTS )  و با اعمال تمامی کنترل های لازم در ارتباط با فراخوانی اینترفیس، CLR امکان ارتباط مناسب و شفاف بین زبان های برنامه نویسی را فراهم می نماید.
درگذشته یک زبان برنامه نویسی  بکمک عناصر COM ، قادر به نمونه سازی و استفاده از عناصر نوشته شده توسط یک زبان برنامه نویسی دیگر بود .در برخی موارد، فراخوانی اینگونه عناصر، مشکلاتی را از بعد مدیریتی ایجاد می کرد. بهرحال Subclassing یک عنصر نوشته شده به زبان دیگر، مستلزم وجود پتانسیلی خاص بودکه صرفا" پیاده کنندگان حرفه ای قادر به انجام و استفاده از آن بودند. در فریمورک دات نت، می توان از یک زبان بمنظور subclass ( کلاس زیرمجموعه که از یک کلاس پایه دیگر مشتق شده باشد ) یک کلاس نوشته شده به زبان دیگر استفاده نمود. کلاس نوشته شده به زبان ویژوال بیسیک می تواند از یک کلاس پایه نوشته شده با  ++C و یا کوبال به ارث رسیده می باشد. برنامه VB ، ضرورتی به آگاهی از زبان استفاده شده بمنظور نوشته کلاس پایه ، نخواهد داشت .بدین ترتیب ، زمینه بهره گیری و استفاده از تمامی مزایای توارث در پیاده سازی  فراهم و در صورتیکه کلاس پایه تغییر نماید ، ضرورتی به ترجمه مجدد کلاس زیر مجموعه نخواهد بود.چگونه این کار انجام می شود ؟ اطلاعات ارائه شده توسط متادیتا ، این امر را امکان پذیر می سازند . در این رابطه هیچگونه IDL(Interface Definition Language  در دات نت وجود نداشته و یک اینترفیس کلاس صرفنظر از زبان استفاده شده برای تولید آن ، همواره یکسان مشاهده خواهد شد. CLR از متایتا بمنظور مدیریت تمامی اینترفیس ها و فراخوانی بین زبان ها استفاده می نماید   توارث بین زبانها ، زمینه تحقق یک معماری باز را فراهم خواهد کرد .

سیتم نوع 
یکی از اجزاء مهم CLR که حضور و عملکرد آن تاثیر مستقیمی بر حمایت  از چندین زبان را بدنبال دارد  ، CTS)Common Type System) است .در سیستم فوق ، تمامی نوع های داده (حتی نوع هائی نظیر : Long و Boolean )،  بعنوان شی پیاده سازی شده اند . بدین ترتیب هماهنگی بین نوع ها در یک سطح پائین تر و بمنظور سازگاری بیشتر بین زبان ها ، صورت می پذیرد. با توجه به اینکه تمامی زبانها از نوع های کتابخانه ای یکسانی استفاده می نمایند ، فراخوانی یک زبان از زبان دیگر نیازمند تبدیل نوع، نخواهد بود.
یکی از مهمترین ویژگی های  دات نت ، namespace است .namespace ،  امکان  سازماندهی کتابخانه های شی را بصورت سلسله مراتبی فراهم می نماید.بدین ترتیب امکان مراجعه به آنان بسادگی و به دور از هرگونه نا همخوانی و یا تضادی ، محقق خواهد شد .بمنظور استفاده از امکانات موجود در کتابخانه های کلاس ، می بایست در ابتدا برای آنان یک مرجع ایجاد نمود.مرجع فوق ،امکان استفاده از نوع ها را بصورت خلاصه در کد نوشته شده ،فراهم خواهد آورد. در ویژوال بیسیک با استفاده از یک عبارت Import ، این امر محقق خواهد شد. یک ماژول فرم ویژوال بیسیک در دات نت می تواند  بصورت زیر ، آغاز گردد :

Imports System.WinForms
Imports MyDebug = System.Diagnostics.Debug

در اولین خط ، امکان استفاده از  تمامی خصلت ها و متدها ی استاندارد مرتبط با فرم ها ، برای کد موجود درماژول ، فراهم خواهد شد.دومین خط ، از یک نام مستعار استفاده می نماید. یک شاخه از ساختار سلسله مراتب شی ( یک مسیر مشخص بر روی ساختار درختی ) ،  می تواند شناسه خاص خود را داشته باشد که صرفا" در ماژول مربوط معتبر خواهد بود. در ماژول مورد نظر می توان بمنظور مراجعه به شی  System.Diagnostics.Debug  ، از MyDebug استفاده گردد.

بکارگیری و اجراء
واحد بکارگیری همانگونه که قبلا" اشاره گردید ، یک اسمبلی است. اسمبلی،  می تواند شامل یک  و یا چندین فایل بهمراه  ویژگی خود تشریحی  باشد . اسمبلی شامل یک "مانیفست" بوده  که تمامی متادیتا  صادر شده توسط اسمبلی و سایر اطلاعات لازم بمنظور بمنظور بکارگیری و اجراء را مشخص می نماید. یک اسمبلی دارای ورژن خاص خود است . اسمبلی ها با یکدیگر ترکیب و برنامه ها را بوجود می آورند . یک برنامه دارای یک و یا چندین اسمبلی بوده و ممکن است شامل فایل ها و داده های اختصاصی برنامه نیز باشد .
کد مبداء ماژول ها ی یک اسمبلی به IL)Intermediate Language) ترجمه می گردند . در ادامه و قبل از اجراء ،  IL به کد  مختص یک ماشین ترحمه خواهد شد. ترجمه با استفاده از روش های متفاوت و بدفعات  ممکن است محقق گردد. معمولا" ترجمه به کد مختص یک ماشین ،  صرفا" یک مرتبه انجام  و نتیجه برای استفاده در موارد بعد و آتی Cache خواهد شد. CLR ، شامل مجموعه ای از کمپایلرهای JIT)Just-In-Time) است که مسئولیت تبدیل IL به کد مختص یک ماشین را برعهده دارند . بدین ترتیب ، می توان برنامه ها ی نوشته شده در دات نت را بصورت کد IL ترجمه شده ، توزیع نمود. در ادامه با استفاده ازکمپایلرهای دات نت بر روی یک ماشین خاص ، کدهای بهینه و مختص آن ماشین تولید خواهد شد.در سناریوی فوق امکان استفاده از اسکریپت ها بهمراه ماژول نیز وجود دارد ، درچنین مواردی آنان قبل از استفاده ترجمه خواهند شد. در سیستم های موجود ، اسکریپت های تفسیر شده ( در ASP و یا Windows Scriptiong Host ) ، هرگز ترجمه نمی شوند. در دات نت ، اینچنین اسکریپت هائی  در اولین مرتبه دستیابی  به IL تبدیل و در ادامه  به کد مختص ماشین مربوطه تبدیل و برای استفاده مجدد cache ، خواهند شد.
در بخش سوم این مقاله ، به بررسی کلاس های پایه فریمورک دات نت خواهیم پرداخت .

 

مبانی دا ت نت ( بخش سوم )
آنچه تاکنون گفته شده است :
بخش اول : معرفی  فریمورک دانت
بخش دوم : بررسی  CLR 
در این بخش به بررسی کلاس های پایه فریمورک دات نت و اینترفیس های کاربر و برنامه  خواهیم پرداخت .

 


در بخش دوم این مقاله با اولین لایه فریمورک دات نت ( CLR )  آشنا شدیم . در ادامه بر روی لایه بعد متمرکز و به بررسی امکانات ارائه شده  خواهیم پرداخت . این لایه ، کلاس های پایه فریمورک دات نت نامیده شده و  مسئولیت ارائه سرویس ها و مدل های اشیاء برای داده ، عملیات ورودی و خروجی ، امنیت و موارد دیگر را بر عهده دارد . نسل بعدی ADO که ADO.NET نامیده می شود در این لایه قرار دارد . در لایه فوق ، امکانات و پتانسیل های لازم بمنظور انجام عملیات مرتبط با  XML نیز ارائه شده است . پارسر و تبدیل کننده XSL ، نمونه هائی از پتانسیل های موجود در این لایه بمنظور کار با اسناد XML  می باشند.
اکثر امکانات و پتانسیل های مورد نیازی که ضرورت فراگیری آنان برای هر برنامه نویس در رابطه با یک زبان برنامه نویسی وجود دارد ، به کلاس های فریمورک منتقل شده است . مثلا" تابع Sqr  که در ویژوال بیسیک از آن بمنظور محاسبه جذر یک عدد استفاده می گردد در دات نت وجود نداشته و این تابع با  متد  System.Math.Sqrt موجود در کلاس های فریمورک جایگزین شده است .
تمامی زبانهای سازگار با  دات نت قادر به استفاده از کلاس های فریمورک می باشند . بدین ترتیب در یک زبان برنامه نویسی نظیر کوبال و یا ویژوال بیسیک دات نت ، برای محاسبه جذر یک عدد از تابع  مشابهی استفاده خواهد شد .رویکرد فوق ، پیوستگی  و ارتباط مناسب بین زبان های متفاوت برنامه نویسی را بدنبال خواهد داشت . تمامی زبان ها به روشی مشابه  از متد System.Math.Sqrt  استفاده و به کد یکسانی  دستیابی خواهند داشت ( اختلاف موجود صرفا" به گرامر استفاده از متد مورد نظر در زبان مربوطه ، برمی گردد) .
اکثر قابلیت ها و پتانسیل موجود در کلاس های پایه فریمورک در یک namespace  عظیم و با نام System ارائه شده است . namespace فوق ، شامل چندین namespace زیرمجموعه دیگر است . مثلا" Microsoft.VisualBasic  شامل Runtime ویژوال بیسیک و  کلاس ها ئی بمنظور ترجمه و تولید کد مورد نظر برای برنامه های نوشته شده به زبان ویژوال بیسیک دات نت است .

اینترفیس های کاربر و برنامه
در بالاترین لایه ، دات نت روش هائی را بمنظور تفسیر و مدیریت رابط های کاربر ( فرم های ویندوز ، فرم های وب ، برنامه های کنسول ) و اینترفیس  مورد نیازعناصر از راه دور ( سرویس های وب ) ، ارائه می نماید .

اینترفیس کاربر : فرم های ویندوز
فرم های ویندوز ( به آنان WinForms هم می گویند ) روشی پیشرفته ویکپارچه بمنظور ایجاد برنامه های Desktop استناندارد سی و دو بیتی را ارائه می نمایند. تمامی زبان ها ی سازگار با دات نت ، قادر به استفاده از پتانسیل  فرم های ویندوز در مقابل روش هائی که در حال حاضر استفاده می نمایند ، خواهند بود ( MFC و یا Win32API در ++C و یا موتور VB Forms در ویژوال بیسیک  ) . فرم های ویندوز ، مجموعه ای قدرتمند و یکپارجه از کنترل ها و توابع عملیاتی را برای تمامی زبانها  ارائه و بعنوان بخشی از کلاس های فریمورک در namespace با نام System.WinForms ،ارائه شده است  . بدین ترتیب امکان استفاده از فرم های ویندوز توسط تمامی زبان های مبتنی بر دات نت وجود خواهد داشت . با استفاده از Drag & Drop Designer   فرم های ویندوز ، می توان اقدام به ایجاد ویژوال فرم های مورد نظر  بمنظور استفاده در هر زبان برنامه نویسی نمود.
در ویندوز DNA ، تعداد زیادی از برنامه های داخلی سازمان ها و موسسات مبتنی بر مرورگر بودند ، چراکه هزینه نصب و نگهداری یک برنامه سرویس گیرنده بر روی صدها و یا هزاران ایستگاه  بسیار قابل تامل بود . فرم های ویندوز و فریمورک دات نت دارای پتانسیل لازم بمنظور بهینه سازی اقتصادی ( مقرون بصرفه ) نصب و نگهداری یک برنامه سرویس گیرنده با توانائی اجراء بر روی هزاران ایستگاه  می باشند .  یک برنامه مبتنی بر فرم های ویندوز ،نسبت به برنامه سرویس گیرنده ای که با ویژوال بیسیک نوشته شده باشد ، بسادگی نصب و بهنگام  خواهد شد . با استفاده از دستوری  نظیر : XCOPY  ، امکان بکارگیری برنامه بسادگی و بسرعت فراهم و در این رابطه نیازی به ریجستر نمودن عناصری وجود نخواهد داشت . نصب و بهنگام سازی اینچنین برنامه هائی بمراتب ساده تر از وضعیتی است که قبلا" شاهد آن بوده ایم.بدین ترتیب  طراحی و پیاده سازی برنامه هائی که نیازمند یک رابط کاربر قدرتمند برای تعداد زیادی از کاربران می باشند ، با استفاده از دات نت  بخوبی محقق و عملی خواهد شد ( نسبت به ویندوز DNA ) .

اینترفیس کاربر : فرم های وب
فرم های وب ،یکی از بخش های مهم ASP.NET محسوب  و رابط کاربر مبتنی بر یک مرورگر وب را ارائه می نمایند. فرم های وب،  نسل جدیدی از پیاده سازی اینترفیس های مبتنی بر وب را ارائه می نمایند ( جداسازی لی اوت از منطق). فرم های وب شامل دو بخش مجزاء می باشند : یک تمپلیت که شامل اطلاعات لی اوت مبتنی بر HTML برای تمامی عناصر رابط کاربر و بخش دوم که شامل تمامی منطق لازم برای ارتباط  با رابط کاربر است . بدین ترتیب ، اطلاعات مربوط به کنترل ها  بهمراه خصایص و لی اوت مربوطه در یک بخش و کدهای مربوطه در بخش دیگر مستقر خواهند شد. کدها ی نوشته شده رفتار کنترل ها را نظارت و در صورت بروز یک رویداد ، روتین های مربوطه 
فعال خواهند شد .

و...

NikoFile


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


دانلود مقاله مبانی دات نت (Net.)

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

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

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


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

تشخیص حروف صدا دار از روی تصاویر لب

 

 

 

 

 

لینک پرداخت و دانلود *پایین مطلب* 

فرمت فایل:PDF

تعداد صفحه:132

فهرست مطالب :

(به هم ریختگی و نامرتبی متن ها به دلیل فرمت آن ها در سایت میباشد در فایل اصلی مرتب و واضح میباشد)

چکیده . ................................................................ 1
مقدمه . ...................................................................... 2
فصل اول .............................................................. 3
مروری بر روشها ............................................................... 3
مقدمه . ................................................................... 4
-1 مروری بر تحقیقات انجام شده .................................................. 5
-1 استخراج مشخصههای دیداری برای لبخوانی .......................................... 7 -1
-1 روش پایین به بالا . .......................................................... 7 -1 -1
-1-1 کانتور فعال ....................................................... 8 -1 -1
-2-1 لبخوانی با کمک اطلاعات شدت نور . ..................................... 8 -1 -1
-3-1 آنالیز فضای رنگ .................................................................. 9 -1 -1
-2 روش بالا به پایین . ............................................................. 10 -1 -1
-1-2 روش مبتنی برالگوهای انعطاف پذیر......................................... 11 -1 -1
-2-2 مدل سازیهای شکل فعال ..................................................... 11 -1 -1
-3-2 آشکارسازی لب مبتنی بر مدل دگردیسپذیر........................................ 11 -1 -1
-4-2 تکنیکهای مبتنی بر زمینه تصادفی مارکوف ................................... 13 -1 -1
-5-2 روشهای مبتنی بر خوشهبندی فازی ............................................. 14 -1 -1
-2 دستهبندی و تشخیص کلمات ........................................... 16 -1
- تشخیص واکه با کمک شبکههای عصبی .............................................. 16
-3 معرفی سیستم ارائه شده ......................................... 18 -1
فصل دوم . ......................................................................... 20
مکانیابی و بازنمایی ناحیه لب . ..................................................... 20
مقدمه . ....................................................................... 21
-1 مکانیابی لب ............................................... 22
-1 تشخیص چهره .......................................................... 24 -1
-2 مکانیابی لب ................................................ 24 -1
-2 مسائل مرتبط با رنگ . ......................................................... 26
-1 توصیف انواع مدل های رنگ ............................................ 27 -2
27 .................................................................. Huncell - مدل
قرمز، سبز، آبی) ............................................................. 28 ) RGB - مدل
29 ........................................................ RGB - مدل نرمالیزه شده
30 ............................................................................ . CMY - مدل
30 ..................................................................................... . XYZ - مدل
31 ........................................................................................ xyz - مدل
-1 فضای رنگ ادراکی .......................................................... 31 -1 -2
32 .................................................................................. YUV - مدل
32 ....................................................................... HSI - مدل
-2 فضای رنگ یکنواخت ادراکی . ........................................... 34 -1 -2
-3 مراحل پیشپردازش تصویر لب ..................................................... 38
فصل سوم . ............................................................ 41
استخراج ناحیه مربوط به لب . ............................................................. 41
مقدمه . ........................................................................... 42
1 –خوشهبندی . ............................................. 43 -3
46 ............................................. K-Means -1 الگوریتم -1 -3
میانگین فازی . ..................................................... 47 -c -2 الگوریتم -1 -3
48 .............................................FCM و K-Means -3 مقایسه الگوریتم -1 -3
میانگین فازی با ارتباط مکانی ...................... 53 -c -4 الگوریتم -1 -3
-5 پس پردازش ............................................................. 58 -1 -3
-1-5 شکلشناسی ......................................................... 58 -1 -3
-2-5 قرینهسازی . ....................................................................... 60 -1 -3
-3-5 روشنایی ............................................................................ 61 -1 -3
-4-5 شکلدهی . ................................................................ 61 -1 -3
-2 تبدیل موجک .......................................................................... 63 -3
- الگوریتم مبتنی بر تبدیل موجک . ............................................... 65
فصل چهارم ................................................................ 69
استخراج ویژگیهای مناسب و طبقهبندی آنها ................................................. 69
مقدمه . ................................................................................... 70
-1 استخراج مشخصههای دیداری ................................................................ 71 -4
-1 جداسازی ناحیه لب .................................................................... 71 -1 -4
-2 مشخصههای دیداری مورد استفاده ......................................................... 72 -1 -4
-1-2 پارامترهای معمول( پارامترهای طولی) .................................................. 73 -1 -4
-2-2 پارامترهای جدید(پارامترهای زاویهای) ............................................ 74 -1 -4
-2 دستهبندی و تشخیص کلمات ................................................................. 75 -4
-1 پرسپترون . .......................................................................... 75 -2 -4
-2 تصدیق تقاطعی . ............................................................ 77 -2 -4
فصل پنجم . ....................................................................... 82
نتایج و مشاهدات تجربی .................................................................. 82
-1 بانکهای داده . ....................................................................... 83 -5
-2 تعیین خطای بخشبندی . .................................................................... 86 -5
-3 استفاده از پارامترهای طولی . ....................................... 87 -5
-4 وزندهی خروجی شبکهها به منظور افزایش دقت . ............................... 89 -5
فصل ششم . ............................................................ 91
نتیجهگیری و پیشنهادات . .................................................. 91
نتیجهگیری . ....................................................................... 92
منابع و ماخذ ............................................................... 95
فهرست منابع فارسی . ................................................................... 95
فهرست منابع لاتین . ........................................................................... 96
چکیده انگلیسی . ............................................................................... 100

چکیده :

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

از دیرباز تشخیص و بازشناسی صحبت به عنوان اولین وسیله ارتباطی بین انسان ها از اهمیت بسیاری
برخوردار بوده است. تاکنون تکنیکهای بازشناسی صحبت با استفاده از پردازش صوت با تنوع بسیار و با موفقیت
نسبی بکار گرفته شدهاند[ 1]. اما وجود نویز در برخی شرایط عامل اصلی بروز اشتباهات اساسی در تشخیص
بوده است که در این گونه موارد استفاده از پردازش تصویر و به ویژه بررسی شکل لبها و حرکت آنها می تواند
برای ارتقاء نتایج مورد استفاده قرار گیرد[ 2]. استخراج اطلاعات دیداری از تصاویر لب کمک شایانی به تشخیص
صوت و تصدیق گوینده بویژه در محیطهای نویزی را فراهم آورده است به همین دلیل توجه زیادی را به خود
جلب نموده است در این فصل یک مرورکلی بر روی روشهای انجام شده تا به حال صورت خواهیم داد و در
مورد دستهبندیهای موجود برای روشها صحبت خواهیم کرد.

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

و...

NikoFile


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


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