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


بهمن 1403
شن یک دو سه چهار پنج جم
 << <   > >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      


 

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

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

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

 

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

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

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

لطفا صفحه را ببندید

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

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

لطفا صفحه را ببندید

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

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

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

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



جستجو


 



پر کننده یکی از اجزای ترکیب یک مخلوط در عایق‌های رطوبتی می‌باشد و مقدار و نوع پر کننده بر روی مقاومت و شکل‌پذیری مخلوط قیری تأثیر بسزایی دارد. مقدار ناکافی پر کننده در مخلوط موجب افزایش فضای خالی و کاهش استحکام می‌شود و مقدار اضافی آن ترکیب را سخت و شکننده می‌کند. به طور کلی فیلر به دلیل نرمی و ریز دانه بودن دارای تأثیر مطلوب در عایق رطوبتی می‌باشد که در این تحقیق از تالک به عنوان پر کننده استفاده شده است.
از آنجا که عایق‌های رطوبتی، پیش ساخته پایه قیری می‌باشند لذا قبل از هر چیز باید خواص مختلف قیر را شناخت.
۲-۵٫ قیر: خواص، ساختار
شکل ۲-۴٫ قیر
قیرهای نفتی از جمله فرآورده‌های نفتی می‌باشند که طی مراحل پالایش نقت خام در پالایشگاه‌ها، بطور مستقیم و یا تحت فرایندهای تکمیلی نظیر هوادهی حاصل می‌شوند. در کشور ما عمدتاً قیرها دو دسته تولید می‌شود. (۸)
دسته اول تحت عنوان “قیرهای نفوذی” می‌باشند که بر مبنای مشخصه درجه نفوذ دسته‌بندی و تولید می‌شوند و در بازار به قیر نرم معروفند که قیرهای ۷۰/۶۰ و ۱۰۰/۸۵ از این دسته‌اند. (۴۴)
دسته دوم تحت عنوان “قیرهای دمیده” می‌باشند که بر مبنای دو مشخصه نقطه نرمی و درجه نفوذ دسته‌بندی و تولید می‌شوند و در بازار به قیر سفت معروفند که قیرهای ۲۵/۸۵ و ۱۵/۹۰ از این دسته‌اند.
در بسیاری موارد صنایع مختلف بسته به نوع محصولات تولیدی خود نوع خاصی از قیر را مورد مصرف قرار می‌دهند و این در حالی است که تنوع قیرهای موجود، محدود بوده و یا به دلایل متعدد از جمله نقایص موجود هنگام تولید، ذخیره‌سازی و یا حمل و نقل قیر مشخصات اصلی خود را از دست داده و باید اصلاح گردد. (۲۱)
قیرها از نظر فیزیکی یک ماده همگن در مقیاس میکرو و حتی نانو می‌باشند با این حال این مواد از نظر شیمیایی یک مخلوط ناهمگن (heterogeneous) از ترکیبات شیمیایی مختلف می‌باشند. علیرغم این مسأله، همه قیرها دارای یک سری خصوصیات و خواص مشترک می‌باشند. ساختار عنصری قیرها که به روش تجزیه شعله یا سایر روش‌ها بدست آمده حاکی از آن است که حدود ۹۰% قیر را اتم‌های کربن و هیدورژن تشکیل می‌دهند. همچنین اغلب قیرها دارای نیتروژن، گوگرد و اکسیژن به نسبت‌های مختلف ولی کم میباشند.
مقادیر ناچیز از سایر اتم‌ها نظیر اتم‌های فلزی مختلف نیز معمولاً یافت می‌شوند ولی روشن است که تأثیری بر روی خواص قیر ندارند. قیر، یا به بیان بهتر مواد قیری مخلوط بسیار متنوعی از طیف وسیعی از هیدروکربون‌ها می‌باشند که در انواع اشباع و غیر اشباع، حلقوی و غیر حلقوی، قطبی و غیر قطبی قرار می‌گیرند. ضمناً پاره‌ای از این هیدروکربون‌ها علاوه بر کربن و هیدروژن دارای هتر و اتم (O,S,N,…) نیز در ساختار خود می‌باشند.
بنابراین هر گونه تلاشی برای تجزیه ملکولی قیرها بی‌حاصل خواهد بود. لذا با اضافه کردن مواد افزودنی به قیر می‌توان خواص آن را اصلاح کرده و بهبود داد. (۴۰ و ۲۱)

( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

شکل ۲-۵٫ طرح‌های ساده حالت‌های سل و ژل قیر
۲-۵-۱٫ ساختمان شیمیایی قیر
در برداشت عامیانه قیر ماده‌ای سیاه و بد بو و احیاناً ناخوشایند است که دو خاصیت مشخص دارد چسبندگی و آببندی.
منشأ آن از نفت می‌باشد و در تهیه آسفالت و قیرگونی کردن بام به کار می‌رود. البته این نگاهی از دور به قیر است که تنها مشخصات ظاهری آن را در بردارد.
در واقع قیر ماده سیاه رنگی است از شمار زیادی هیدروکربن که به صورت کلوئیدی در کنار یکدیگر معلق هستند تشکیل شده است این هیدورکربن‌ها سه دسته هستند: آسفالتن‌ها، رزین‌ها و روغن‌‌ها. (۱۲ و ۱۳)
تا کنون نظریه قطعی و معینی درباره چگونگی ساختمان شیمیایی قیر به دست نیامده است و با توجه به نوع نفت خام دارای ساختار متفاوتی می‌باشند.
قیر همچنین محتوی مقدار کمی از فلزات نظیر وانادیم و نیکل و آهن، منیزیم و کلسیم به شکل نمک‌های معدنی و اکسیدها می‌باشد. پس در نهایت می‌توان گفت عناصر تشکیل دهنده قیر عبارت‌اند از: کربن، هیدروژن، گوگرد، اکسیژن و نیتروژن و برخی از عناصر فلزی که به مقدار بسیار کم در آن یافت می‌شود. درصد از عناصر در جدول پایین آمده شده است. (۲۸)
جدول ۲-۲٫ درصد عناصر تشکیل دهنده قیر

عناصر

درصد

کربن

۸۸-۸۲

هیدروژن

۱۱-۸

سولفور

۶-۰

اکسیژن

۵/۱-۰

نیتروژن

۱-۰

موضوعات: بدون موضوع  لینک ثابت
[یکشنبه 1401-04-05] [ 12:13:00 ق.ظ ]




; minimum :

شکل این تابع در شکل های ۴-۳۱ و ۴-۳۲ و ۴-۳۳ نمایش داده شده است. همان طور که از شکل ها هم مشخص است برای دو بعد نقطه (۵و۵) با مقدار تابع هدف ۰ نقطه بهینه این تابع است ودر اطراف نقطه بهینه بدترین نقاط از نظر مقدار تابع هدف وجود دارد. میزان تابع هدف این نقاط است. نتایج بدست آمده از اجرای این تابع بر روی تمام الگوریتم های پیوسته معروف نشان دهنده این است که هیچ الگوریتمی حتی در تعداد تکرار های بسیار زیاد و با جمعیت بسیار زیاد نمی تواند مقدار بهینه این تابع را بدست آورد. اکثر الگوریتم ها در پایان،یکی از ۴ نقطه (۰و۵) و (۵و۰) و (۱۰و۵) و (۵و۱۰) رو به عنوان نقطه بهینه شناسایی می کنند که از نظر میزان تابع هدف فاصله بسیار زیادی با مقدار بهینه دارند. میزان تابع هدف این نقاط است. دلیل این اتفاق این است که این تایع بر خلاف ذات و ساختار الگوریتم های فرا ابتکاری طراحی شده است. توابعی که در آن پیرامون نقطه بهینه نقاطی با برازندگی نامطلوب وجود داشته باشد الگوریتم ها در بدست آوردن نقطه بهینه دچار مشکل می شوند و برای توابعی همانند F2 که دقیقا نقاط پیرامون بهترین نقطه، بدترین نقاط باشند الگوریتم ها در بدست آوردن نقطه بهینه ناتوان هستند. اگر الگوریتمی طراحی شود که بتواند برای این مساله عملکرد خوبی داشته باشد حتما برای سایر مسائل بهینه سازی پیوسته دچار مشکل خواهد شد. چون این دو نوع مسائل ساختارشان بر خلاف هم است. بنابراین الگوریتمی کارا خواهد بود که برای هر دو نوع مسائل بهینه سازی پیوسته معرفی شده دارای عملکرد مطلوب باشد. خوشبختانه تعداد مسائل بهینه سازی پیوسته که ساختاری مشابه F2 دارند بسیار بسیار اندک هستند. از همین رو هم چنان الگوریتم های فرا ابتکاری پیوسته گزینه مناسب برای حل این گونه مسائل هستند.

( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

شکل ۴-۳۱ نمایش سه بعدی حراررتی تابع F2 از نمای بالا
شکل ۴-۳۲ نمایش سه بعدی حراررتی تابع F2
شکل ۴-۳۳ نمایش سه بعدی حراررتی تابع F2 و نقطه بهینه این تابع
۴-۵ جمع بندی
در این فصل ساختار و روند الگوریتم جستجوگر تکاملی کاملا شرح داده شد. سپس برای ارزیابی عملکرد الگوریتم پیشنهادی از یازده مساله تست استفاده شد. روند تکاملی جستجوگر ها به وسیله نمودار ها برای F1 شرح داده شد. سپس برای نمایش بهتر عملکرد این الگوریتم مقایسه ای بین الگوریتم پشنهادی و الگوریتم هایHS , IBA , ABS , CS , BA , LFA , FA , RGA , PSO , GSA , ICA OICA , CICA3 صورت گرفت. تمام نتایج نشان دهنده برتری الگوریتم جستجوگر تکاملی بر الگوریتم های مذکور است. در انتها نیز یک مساله ریاضی معرفی شد که بر خلاف ذات الگوریتم های فرا ابتکاری طراحی شده است و هیچ یک از الگوریتم های فرا ابتکاری قادر به یافتن جواب بهینه این مساله نیستند.
فصل پنجم
نتیجه گیری و پیشنهادها
۵-۱- نتیجه گیری
در این پایان نامه یک الگوریتم بهینه سازی جدید مبتنی بر یک منطق ساده جستجو معرفی شد. در این روش فضای جستجو به چندین قسمت تقسیم می شود و جستجوگرها به هر یک از ناحیه ها تخصیص داده می شود . بعد از انجام عملیات جستجو، تعدادی از بهترین ناحیه ها به عنوان ناحیه های برگزیده انتخاب می شوند. این انتخاب بر اساس عملکرد تیم های جستجو در ناحیه ها می باشد. در مرحله بعد هر ناحیه برگزیده به چند ناحیه کوچکتر تقسیم می شوندو عملیات جستجو انجام می شود. این روند تا برقراری شرط توقف ادامه پیدا خواهد کرد. در ضمن در صورت برقراری شرایط شروع مجدد الگوریتم روندش را از نو شروع میکند. در واقع این الگوریتم بر مبنای یک منطق جستجو هدفمند بنا نهاده شده است. ساختار الگوریتم جستجوگر تکاملی طوری است که در همگرایی جواب ها به سمت جواب بهینه تعادل وجود دارد. نتایج حاصل از مقایسه الگوریتم جستجوگر تکاملی با چندین الگوریتم نشان دهنده عملکرد مطلوب و برتری این الگوریتم بر سایر الگوریتم های مورد مقایسه است. هر چند مثال های گوناگون نشان دهنده توانایی بالای این الگوریتم است ولی نمی توان این ادعا را داشت که این الگوریتم برای تمامی مسائل بهینه سازی پیوسته بهترین عملکرد را دارا است. در واقع این الگوریتم می تواند یکی از گزینه های مناسب برای بدست آوردن جواب بهینه این گونه مسائل باشد.
۵-۲- پیشنهادها
برای ادامه کار در این زمینه موارد زیر پیشنهاد می گردد :
استفاده از یک مکانیزم هوشمند برای تقسیم بندی ناحیه های جستجو و انتخاب بهترین ناحیه
استفاده از این ساختار جستجوی ساده برای ارائه یک الگوریتم گسسته
ارائه الگوریتمی چند هدفه بر مبنای ساختار این الگوریتم
مراجع

[۱]

Melanie, M. An introduction to genetic algorithms. Cambridge, Massachusetts London, England, Fifth printing, ۳,۱۹۹۹٫

[۲]

Sivanandam, S. N., & Deepa, S. N. Introduction to genetic algorithms. Springer Publishing Company, Incorporated, 2007.

[۳]

Herrera, F., Lozano, M., & Verdegay, J. L. Tackling real-coded genetic algorithms: Operators and tools for behavioural analysis. Artificial intelligence review, ۱۲(۴), ۲۶۵-۳۱۹, ۱۹۹۸٫

[۴]

Kirkpatrick, S., Jr., D. G., & Vecchi, M. P. Optimization by simulated annealing. science, ۲۲۰(۴۵۹۸), ۶۷۱-۶۸۰, ۱۹۸۳٫

[۵]

De Castro, L. N., & Timmis, J. I. Artificial immune systems as a novel soft computing paradigm. Soft computing, ۷(۸), ۵۲۶-۵۴۴, ۲۰۰۳٫

[۶]

Glover, F., & Laguna, M. Tabu search (Vol. 22). Boston: Kluwer academic publishers, 1997.

[۷]

Dorigo, M., Caro, G. D., & Gambardella, L. M. Ant algorithms for discrete optimization. Artificial life, ۵(۲), ۱۳۷-۱۷۲, ۱۹۹۹٫

موضوعات: بدون موضوع  لینک ثابت
 [ 12:13:00 ق.ظ ]




نمودار ۲۲: قیاس نتیجه «معیار F» در دسته‌بندی بر روی کل داده‌ها ۶۶
نمودار ۲۳: قیاس نتیجه «منحنی مشخصه عملکرد» در دسته‌بندی بر روی کل داده‌ها ۶۷
نمودار ۲۴: قیاس نتیجه «کاپا» در دسته‌بندی بر روی کل داده‌ها ۶۷
نمودار ۲۵: قیاس نتیجه «انحراف معیار» در دسته‌بندی بر روی کل داده‌ها ۶۸

۱-مقدمه:

یکی چالش بر انگیزترین موضوعات مطرح در تضمین کیفیت[۱]، در شرکت‌های سازنده نرم افزار، موضوع رفع خطاهای نرم افزار است. خطاهای نرم افزاری می‌توانند در زمان پیش و یا پس از انتشار[۲] نرم افزار تشخیص داده شوند. اما منابعی که می‌توان برای تشخیص و تصحیح خطاها در نظر گرفت محدود است (Kamyabi et al.).

(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))

خطاها را می‌توان به دو دسته کلی تقسیم کرد. خطاهای نحوی[۳] و خطاهای مفهومی[۴]. با توجه به‌این که ابزارهای خودکار بسیار قدرتمندی برای تشخیص خطاهای نحوی وجود دارند، احتمال‌این که خطایی ازاین دست تا زمان انتشار تشخیص داده نشود، بسیار کم است. خطاهای مفهومی به آن دسته از خطاها اشاره دارد که در اثر مشکلاتی جدای از اشتباهات نحوی و خطاهای انسانی ملموس اتفاق می‌افتند و معمولاً در اثر عدم هماهنگی در بخش‌های مختلف کد و گاهی به صورت بسیار ناملموس به وجود می‌آیند که در اینجا به سادگی نمی‌توان با بررسی کد، این‌گونه خطاها را تشخیص داد. بنا بر این در مورد خطاهای مفهومی داستان فرق می‌کند چرا که عوامل بسیار زیادی می‌توانند در بروزاین‌گونه از خطاها دخیل باشند. (Zimmermann & Nagappan, 2008) بنا براین همواره سعی شده است که با اندازه گیری معیارهای[۵] مختلف و استفاده از آن‌ها در روش‌های پیش‌بینی خودکار خطا، سرعت و دقت را در امر تست نرم افزار افزایش دهند. طی تحقیقاتی که تا کنون صورت گرفته، متداول‌ترین معیارهای استفاده شده در پیش‌بینی اتوماتیک خطا، معیارهای پیچیدگی[۶] است. (Zimmermann & Nagappan, 2008) اما جدیدترین روشی که مطرح شده است، مسأله مربوط به وابستگی‌های بین کلاس‌ها[۷] و همچنین بین ماژول‌ها می‌باشد. انواع وابستگی‌ها می‌توانند بین دو کلاس و یا دو ماژول[۸] مطرح شوند که تحقیقات نشان داده است که این وابستگی‌ها ارتباط بسیار زیادی با وجود خطاهای مفهومی دارند.
برای اجرای روشمند و علمی روند یافتن روابط و الگوهای مناسب برای پیش بینی خطا بر اساس معیارهای قابل اندازه گیری، از مفهومی به نام داده‌کاوی استفاده خواهیم کرد که در تشریح و بیان مسأله به آن خواهیم پرداخت.
دراین پایان نامه، سعی می‌کنیم که به بررسی چنین وابستگی‌هایی بپردازیم و بر اساس روابط موجود بین وابستگی و وجود خطا در نرم افزار، وجود خطا در کد را پیش بینی نماییم.
در ادامه این رساله در بخش دوم به بررسی تحقیقات قبلی انجام شده در این زمینه می‌پردازیم، در بخش سوم به بیان انگیزش و نحوه به وجود آمدن ایده کار شده در این رساله می‌پردازیم، در بخش چهارم فرضیات مورد بررسی را مطرح می‌کنیم، در بخش پنجم داده‌ها و ابزارهای جمع آوری شده برای انجام عملی آزمایشات را معرفی می‌کنیم، در بخش ششم به بیان شیوه و نوع آزمایشات و بیان نتایج آنالیزها و نتایج می‌پردازیم و در بخش هفتم و پایانی این رساله سعی در نتیجه‌گیری از آزمایشات انجام شده خواهیم داشت.

۲- پیشینه پژوهشی:

تلاش‌های گذشته با هدف پیش‌بینی خطا را در سه گروه مورد بررسی قرار می‌دهیم: معیارهای نرم‌افزار[۹]، معیارهای وابستگی[۱۰] و معیارهای تاریخی[۱۱]. ابتدا به بیان توضیحی در مورد شیوه کار کردن این معیارها می‌پردازیم.

۲-۱ معیارهای نرم‌افزار:

معیارهای نرم‌افزار برای اندازه‌گیری درجه پیشرفته بودن یک محصول و یا یک فرایند نرم‌افزاری به کار می‌روند. معیارهای نرم‌افزاری به چندین گروه تقسیم می‌شوند: معیارهای محصول[۱۲]، معیارهای فرایند[۱۳]، معیارهای پروژه[۱۴] و معیارهای منبع[۱۵]. معیارهای نرم‌افزاری که در پیش‌بینی خطا به کار می‌روند معیارهای محصول می‌باشند که از مشخصات کد سیستم نرم‌افزاری استخراج می‌شوند. این معیارها به سه گروه تقسیم می‌شوند: معیارهای اندازه[۱۶]، معیارهای پیچیدگی[۱۷] و معیارهای کیفیت[۱۸]. (Mills, 1988) معیارهای اندازه بر اساس تعداد خطوط کد برنامه محاسبه می‌شوند مانند تعداد کل خطوط برنامه[۱۹]، تعداد خطوط توضیحات[۲۰] و … معیارهای میزان نگهداشت‌پذیری[۲۱] و قابلیت تست برنامه وابسته است از جمله معروف‌ترین معیارهای پیچیدگی معیارهای پیچیدگی مک کیب[۲۲] و معیارهای هالستد[۲۳] می‌باشند. معیارهای مک‌کیب پیچیدگی کد را بر اساس تعداد مسیرهای کنترلی محاسبه می کند. (McCabe, 1976) هالستد معیارهای خود را بر اساس ارتباطات ریاضی بین اجزای کد، پیچیدگی کد و نوع زبان برنامه نویسی مطرح کرد. (Halstead M. H., 1975) معیارهای اتصال[۲۴] و پیوستگی[۲۵] از معروف‌ترین معیارهای کیفیت می‌باشند که بالا و یا پایین بودن اندازه این دو معیار نشان دهنده کیفیت محصول و یا فرایند نرم‌افزاری است. (Pressman, 1982) معیارهای کیفیت معیارهایی میباشند که درجه آن‌ها می‌تواند تولیدکنندگان نرم‌افزار را در مورد توانایی دست کار کردن سیستم‌شان مطمئن سازد.

معیارهای وابستگی:

معیارهای وابستگی معیارهایی هستند که بر اساس ارتباط اجزای کد نرم‌افزار محاسبه می‌شوند. این ارتباط می‌تواند بین سطوح مختلف کد مطرح شود مانند سطح فایل، کلاس، تابع … نوع ارتباط و یا به عبارت دیگر وابستگی موجود بین اجزای کد نیز می‌تواند متفاوت باشد مانند وابستگی داده[۲۶] که بر اساس تعریف و استفاده از داده می‌باشد و یا وابستگی صدا زدن[۲۷] که بر اساس تعریف و صدا زدن مؤلفه‌ها می‌باشد. (Zimmermann, 2008 & Nagappan )

معیارهای تاریخی:

این دسته از معیارهای بر اساس تغییراتی که در بین چندین انتشار[۲۸] مختلف از یک سیستم نرم‌افزاری رخ می‌دهد تعریف می‌شوند. این تغییرات می‌توانند اضافه شدن، حذف شدن، تغییر یافتن مؤلفه‌های جز مربوطه در بین چندین انتشار باشند. محدودیتی که در به کار بردن این معیارها وجود دارد این است که محاسبه این معیارهای تنها برای محصولات نرم‌افزاری مقدور می‌باشد که دارای چندین انتشار باشند و همچنین اطلاعات کامل در مورد انتشارات قبلی موجود باشد.

بررسی فعالیت‌های گذشته:

در ادامه به بررسی تلاش‌های گذشته در زمینه پیش‌بینی خطا می‌پردازیم.

۲-۳-۱- بررسی فعالیت‌ها در زمینه معیارهای کد :

در اولین مطالعات در زمینه پیش‌بینی خطا، آکیاما در سال ۱۹۷۱ بر روی یک سیستم که در فوجیتسو ژاپن توسعه یافته بود کار کرد و نشان داد معیارهای پیچیدگی نرم‌افزار و معیارهای اندازه نرم‌افزار در پیش‌بینی خطا موفق عمل می‌نمایند. (Akiyama, 1971) فردینند در سال ۱۹۷۴ ارتباط تعداد خطا با تعداد اجزای کد را بررسی نمود و به این نتیجه رسید که تعداد اجزای کد با تعداد خطا در ارتباط است. (Ferdinand A. , 1974) در سال ۱۹۷۵ هالستد معیارهای نرم‌افزاری را ارائه داد که بر اساس پیچیدگی زبان برنامه‌نویسی عمل می‌نمودند. هالستد از این معیارها برای پیش‌بینی خطا استفاده کرد و نشان داد معیارهای پیچیدگی هالستد در پیش‌بینی خطا موفق عمل می‌نمایند. این معیارها با نام معیارهای هالستد شناخته می‌شوند. (Halstead M. H., 1975) چیدمبر و کمرر در سال ۱۹۹۴ بر روی سیستم‌های شی گرا کار کردند و شش معیار طراحی برای این نوع سیستم معرفی کردند. این معیارها با نام معیارهای طراحی چیدمبر و کمرر شناخته می‌شوند. (Chidamber & Kemerer, 1994) باسیلی در سال ۱۹۹۶ از معیارهای چیدمبر و کمرر به منظور پیش‌بینی خطا استفاده نمود و نشان داد معیارهای چیدمبر و کمرر عملکرد موفقی در پیش‌بینی خطا دارند. (Basili et al., 1996) در سال ۱۹۹۶ اوهلسون و آلبرگ معیارهای پیچیدگی را به منظور پیش‌بینی ماژول‌های از کد به کار بردند که در طول اجرا دچار خطا می‌شدند. مدل پیش گویی کننده آن‌ها ۲۰ درصد از ماژول‌هایی از کد را شناسایی می‌کرد که شامل ۴۷ درصد از کل خطاها بودند. (Ohlsson & Alberg, 1996) زائو در سال ۱۹۹۸ به بررسی معیارهای طراحی نرم‌افزار پرداخت و عملکرد آن‌ها در پیش‌بینی خطا را محاسبه نمود. زائو نشان داد که معیارهای طراحی به خوبی در پیش‌بینی خطا عمل می‌نمایند. (Zhao M. et al., 1998) در سال ۲۰۰۶، ناپاگان معیارهایی برای پیش‌بینی خطاهای پس از زمان انتشار شناسایی را کرد و گزارش مبنی بر اینکه چگونه به طور سیستماتیک پیش‌بینی کننده‌های خطاهای پس از زمان انتشار بر اساس تاریخچه[۲۹] ساخته شوند، را ارائه داد. (Nagappan et a., 2006) شروتر، زیمرمن و زلر در سال ۲۰۰۶ با بهره گرفتن از مهندسی معکوس[۳۰] نشان دادند معیارهای طراحی در پیش‌بینی خطاهای پس از اجرا موفق عمل می‌نمایند (Schröter et al., 2006) منزیس در سال ۲۰۰۷ با کار بر روی چند پروژه و با بهره گرفتن از معیارهای نرم‌افزار مدل پیش‌بینی خطایی طراحی نمود که توانست ۷۱ درصد از کل خطاهای برنامه را با نرخ خطای ۲۵ درصد شناسایی نماید (Menzies et al., 2007) در سال ۲۰۰۸ جیانگ کارکرد معیارهای سطح کد[۳۱] و معیارهای سطح طراحی[۳۲] را بر روی ۱۳ محصول نرم‌افزاری با یک دیگر مقایسه نمود. نتایج حاکی از عملکرد بهتر معیارهای سطح طراحی نسبت به معیارهای سطح کد و ترکیب دو گروه معیار در پیش‌بینی خطا بود. (Jiang et al, 2008) در سال ۲۰۱۰ منزیس و گروهی دیگر با تلاش‌های گذشته نشان دادند که معیارهای کد معیارهای موفقی در پیش‌بینی کد هستند و این معیارها را به عنوان معیارهای با استفاده راحت و مفید معرفی نمودند. (Menzies et al., 2010) در مطالعه‌ای که بر روی چندین پروژه عظیم نرم‌افزاری در ترکیه انجام (Menzies et al., 2010)، مدل پیش‌بینی کننده که بر اساس معیارهای کد عمل می‌نمود را از طریق طبقه بندی نایو بیز[۳۳] اصلاح نموده و به بهبود ۸ درصدی نسبت به گذشته دست یافتند. در یکی از تحقیقاتی که در سال ۲۰۱۰ بر روی پروژه‌های متن باز[۳۴] صورت گرفت توانایی معیارهای اندازه‌گیری متن با طبقه بندی نایو بیز و معیارهای پیچیدگی با آنالیز رگرسیون[۳۵] در پیش‌بینی خطاهای نرم‌افزار مورد مقایسه قرار گرفتند. این پژوهش نشان داد معیار اندازه گیری متن از فراخوانی[۳۶] بالاتر و معیار پیچیدگی از دقت[۳۷] بالاتری برخوردار هستند. (Hideaki & Osamu, 2010) معیارهای طراحی معیارهای موفقی در پیش‌بینی خطا هستند اما در بسیاری از پروژه‌های نرم‌افزاری معیارهای سطح کد موجود نیستند از اینرو سامی و فخراحمد در سال ۲۰۱۰ معیارهای طراحی را بر اساس معیارهای کد تخمین زدند که این معیارها با معیارهای واقعی سطح طراحی تفاوت اندکی دارند. (Sami & Fakhrahmad, 2010)

۲-۳-۲- بررسی فعالیت‌ها در زمینه معیارهای تاریخی:

خوش گفتار در سال ۱۹۹۶ بر روی دو سیستم بزرگ ارتباطی کار کرد و در مدل پیش بینی خود ماژول‌هایی را به عنوان ماژول معیوب پیش‌بینی نمود که تعداد خطوط کد آن در انتشارهای مختلف تغییر می‌کند. (McMullan et al., 1996) هودپل (Hudepohl et al., 1996) توانست با بهره گرفتن از ترکیب معیارهای پیچیدگی و داده‌های تاریخی پیش‌بینی نماید آیا یک ماژول دارای خطا می‌باشد یا خیر. در این تحقیق همان‌گونه که از اطلاعات با استفاده مجدد[۳۸]، استفاده شد معیارهای طراحی نرم‌افزار نیز در پیش‌بینی خطا مورد استفاده قرار گرفت با این فرض که ماژول‌های جدید و یا تغییر یافته چگالی خطای بالاتری دارند. گریوز با بهره گرفتن از یک سیستم بسیار بزرگ و با طول عمر طولانی، نشان داد که معیارها بر اساس اطلاعات تاریخی بهتر از معیارهای پیچیدگی کد عمل می‌نمایند. (Graves T. L et al., 2000) در سال ۲۰۰۴ اوستراند در ادامه مطالعات خود از اطلاعات وضعیتی فایل‌های برنامه که در طول انتشارهای مختلف تغییر می‌کند مانند تعداد خطوط اضافه شده، حذف شده و تغییر یافته در فایل‌ها برای پیش‌بینی تعداد خطاهای برنامه استفاده نمود. (Ostrand et al., 2004) این مدل پیش‌گویی کننده برای یافتن خطا چه در مرحله توسعه و چه در مراحل پایانی پروژه از دقت بالایی برخوردار بود. اوستراند در سال ۲۰۰۵ مطالعات خود را بر اساس اطلاعات تاریخی بر روی ۲ سیستم نرم‌افزاری بزرگ تا ۱۷ انتشار برای پیش‌بینی فایل‌هایی با بالاترین چگالی خطا انجام داد. (Ostrand et al., 2005) مدل پیش‌بینی کننده خطاها ۲۰ درصد از کل فایل‌های ۲ سیستم نرم‌افزاری را به عنوان فایل‌های حاوی خطا پیش‌بینی کرد و موفق به شناسایی ۷۱ درصد و ۹۲ درصد از کل خطاها شد. زیمرمن در سال ۲۰۰۵ یکی از بزرگ‌ترین تحقیقات را بر روی اطلاعات تاریخی سیستم‌های نرم‌افزاری انجام داد. (Zimmermann et al., 2005). او بر روی اطلاعات تاریخی ۸ سیستم بزرگ کار کرد تا بتواند محلی که تغییرات بعدی در انتشار بعدی رخ می‌دهد را پیش‌بینی کند. در این تحقیق او توانست محل تغییرات در آینده را با احتمال ۷۰% به درستی تشخیص دهد. در سال ۲۰۰۵ نگاپان و بال با کار بر روی ویندوز سرور ۲۰۰۳، از تغییرات کد برای پیش‌بینی زود هنگام چگالی خطا در سیستم‌های نرم‌افزاری استفاده نمودند. (Ball & naggapan, 2005) آن‌ها نشان دادند که معیارهای مطلق تغییرات کد در پیش‌بینی چگالی خطا ضعیف عمل می‌کند در صورتی که معیارهای نسبی تغییرات کد که توسط آن‌ها مطرح شد توانست با دقت ۸۹% بالاترین چگالی خطا را شناسایی نماید. آن‌ها نشان دادند افزایش معیار نسبی تغییرات با افزایش چگالی خطا توأم است و همچنین معیار نسبی تغییرات علاوه بر چگالی در شناسایی اجزای معیوب نیز موفق است. آن‌ها همچنین بیان کردند که تغییرات در کد و وابستگی به کدهای تغییر داده شده می‌تواند باعث بروز خطاهای پس از زمان انتشار شود. این پیش‌بینی به کمک معیارهای پیچیدگی نظیر سایز اجزای کد و اندازه موقتی[۳۹] کد تغییر یافته صورت گرفت. در سال ۲۰۰۶ تحقیقی بر روی ویندوز ایکس پی- سرویس پک ۱[۴۰] و ویندوز سرور ۲۰۰۳ صورت گرفت. در این تحقیق نشان داده شد که معیارهایی که بر اساس اطلاعات تاریخی در سطح پروژه و محصول عمل می‌نمایند معیارهای مناسبی برای پیش‌بینی خطاهای پس از زمان اجرا هستند و همچنین کارایی این متریک‌ها در سطح پروژه‌های بسیار بزرگ نیز نشان داده شد. (Nagappan et al., 2006).

۲-۳-۳- بررسی فعالیت‌ها در زمینه معیارهای وابستگی:

در سال ۱۹۸۱ هنری و کافورا معیارهایی تحت عنوان معیار ورودی[۴۱] و معیار خروجی مطرح کردند. معیارهای ورودی تعداد ماژول‌هایی است که یک ماژول خاص را صدا می‌زنند و معیار خروجی تعداد ماژول‌هایی است که توسط یک ماژول خاص صدا زده می‌شوند. هنری و کافورا از این دو معیار برای محاسبه پیچیدگی کد استفاده نمودند و نشان دادند اجزایی از کد که دارای معیار ورودی و معیار خروجی بزرگی باشند دارای طراحی ضعیفی هستند. (Kafura & Henry, 1981) در سال ۱۹۸۹ سلبی و پورتر با بهره گرفتن از یک الگوریتم بازگشتی درخت‌های دسته‌بندی[۴۲] استخراج کردند که گره‌های آن‌ها تابع­های چند ارزشی بر اساس معیارهای کد هستند. هدف از تشکیل این درخت‌ها شناسایی اجزای معیوب کد بود. سلبی و پورتر بر روی ۱۶ پروژه‌ی ناسا کار کردند و موفق به شناسایی ۷۹٫۳% از کل اجزای معیوب شدند. (Porter & Selby, 1989) پدولسکی و کلارک در سال ۱۹۹۰ یک مدل رسمی بر اساس وابستگی‌های برنامه ارائه کردند. این وابستگی‌ها بر اساس ارتباط دو قسمت متن کد برنامه استخراج می‌شود. (Clarke & Pogdurski, 1990) در سال ۱۹۹۸ بینکلی و اسکاچ بر روی خطاهای زمان اجرا کار کردند و همچنین معیارهای وابستگی متصل[۴۳] را مطرح کردند. .آن‌ها کار خود را بر روی ۴ پروژه به زبان‌های جاوا[۴۴]، کوبول[۴۵]، سی[۴۶] و سی پلاس پلاس[۴۷] بررسی نمودند. تحقیقات آن‌ها حاکی بر موفقیت آمیز بودن این معیارها در کیفیت طراحی نرم‌افزار بود. آن‌ها نشان دادند معیار وابستگی متصل در مقایسه با معیارهای متقابل[۴۸] عملکرد بسیار بهتری در پیش‌بینی خطاهای زمان اجرا[۴۹] دارند. (Binkley & Schach, 1998) بیون و وایتهد در سال ۲۰۰۳ گراف وابستگی و داده‌های تاریخی را برای شناسایی ناپایداری‌های برنامه ترکیب نمودند. (Bevan & Whitehead, 2003) پینگر در بر اساس اطلاعاتی که از سیر تکاملی و اطلاعات تاریخی پروژه‌های نرم‌افزاری بدست آورد پیوستگی‌های تصادفی بین اجزای کد مشاهده کرد که ممکن بود در آینده منجر به بروز خطا شوند. (Pinzger et al., 2005) شروتر در سال ۲۰۰۶ نشان داد که وابستگی‌های ورودی واقعی می‌تواند خطاهای را شناسایی کند و وابستگی‌های ورودی کامپایلر از وابستگی‌های ورودی واسط کاربر احتمال خطای بالاتری را ایجاد می‌کند (Schröter & Zeller, 2006) در یکی از تلاش‌های تیم مایکروسافت نشان داده شد تغییرات کد و وابستگی‌ها می‌تواند معیار موثری در شناسایی خطاهای پس از انتشار باشد. (Nagappan & Ball, 2007) ایده‌ی آن‌ها این بود که اگر جز A در کد برنامه وابستگی زیادی به جز دیگری مانند B داشته باشد و جز B در طول انتشارات مختلف تغییر بکند جز A برای هماهنگ بودن با جز B نیازمند تغییراتی می‌باشد این تغییرات معمولاً در طول وابستگی‌ها منتشر می‌شود. نگاپان و بال در این پژوهش بر روی ویندوز سرور ۲۰۰۳ نشان دادند درجه بالای وابستگی در کنار تغییرات کد می‌تواند باعث انتشار خطا در سراسر یک سیستم شود. زیمرمن و نگاپان در سال ۲۰۰۷ با کار بروی گراف وابستگی زیر سیستم‌های کد نشان دادند بین پیچیدگی گراف وابستگی و خطاهای پس از انتشار ارتباط بالایی وجود دارد و هنگامی مدل‌هایی پیش‌گویی بر اساس زیر سیستم‌هایی که در معماری بالاتر هستند ساخته می‌شوند بهتر عمل می‌کنند. (Zimmermann & Nagappan, 2007) در سال ۲۰۰۸ زیمرمن و نگاپان معیارهایی بر اساس وابستگی موجود در کد استخراج نمودند. (Zimmermann & Nagappan, 2008) این معیارها بر اساس مشاهدات آن‌ها از گراف وابستگی ویندوز سرور ۲۰۰۳ تعریف شده است. آن‌ها در بررسی گراف وابستگی ویندوز سرور ۲۰۰۳ مشاهده کردند گره‌های که حالت مرکزیت دارند و یا در مش[۵۰] ‏هایی با تعداد گره‌های زیاد قرار دارند از احتمال معیوب بودن بالایی برخوردارند بر اساس این مشاهدات این تیم تحقیقاتی معیارهایی تحت عنوان معیارهای شبکه استخراج نمود و کارایی آن‌ها را برای پیش‌بینی خطا در مقایسه با معیارهای پیچیدگی کد بررسی کرد که در این مقایسه معیارهای شبکه توانستند ۶۰% از کل اجزای معیوب برنامه را شناسایی نمایند در صورتی که معیارهای پیچیدگی تنها موفق به شناسایی ۳۰% از کل خطاها شدند. در سال ۲۰۰۹ تورهان با بررسی و آزمایشاتی نشان داد که معیارهای شبکه روی برنامه‌های بزرگ کارایی بهتری از معیارهای پیچیدگی دارند اما در نرم‌افزارهایی با حجم کوچک تفاوتی میان قدرت پیش‌بینی خطای معیارهای شبکه و معیارهای پیچیدگی وجود ندارد. (Torhun et al. 2009).
تلاشی که در این رساله صورت گرفته است در دسته معیارهای پیوستگی جای می‌گیرد.

۳-درخت وابستگی:

همان‌طور که گفته شد جدیدترین روشی که در پیش‌بینی خطای نرم‌افزار مطرح شده است، مسأله مربوط به وابستگی‌های بین کلاس‌ها و همچنین بین ماژول‌ها[۵۱] می‌باشد. انواع وابستگی‌ها می‌توانند بین دو کلاس و یا دو ماژول مطرح شوند که تحقیقات نشان داده است که این وابستگی‌ها ارتباط بسیار زیادی با وجود خطاهای مفهومی دارند. مسأله‌ای که در این رساله تحقیق مطرح شده است، استفاده از یک تکنیک جدید بر پایه وابستگی‌های بخش‌های مختلف نرم افزار در سطح کد است. در گذشته استفاده از گراف‌های کنترل جریان[۵۲] متداول بوده که این گراف جریان داده‌ها را در هنگام اجرای برنامه مورد نظر قرار داده است و از این امر در مباحث مهندسی نرم افزار[۵۳] استفاده شده است اما، من در این طرح پیشنهادی از وابستگی کدها استفاده کرده‌ام که بر خلاف گراف کنترل جریان، وابستگی‌ها را در زمانی بررسی می‌کند که برنامه اجرا نشده است. این وابستگی‌ها می‌توانند شامل مواردی مانند وراثت، صدا زدن زیر رویه‌ها و ماژول‌ها و هرگونه وابستگی دیگری در کد باشند که این مسأله تنها محدود به برنامه نویسی شیء گرا نشده و می‌تواند برنامه‌های ساخت یافته را نیز پوشش بدهد چرا که در آنجا نیز ما شاهد وابستگی بین ماژول‌های برنامه، توابع و رویه‌ها هستیم.
برای بررسی این وابستگی‌ها و روابط آن با خطاها از مفهومی به نام داده کاوی استفاده می‌کنیم. حال سوال‌ این است که داده کاوی چیست؟
با پیشرفت سریع تکنولوژی و ورود فناوری اطلاعات بسیاری از حوزه‌ها، نیاز به داده‌ها، افزایش روز افزونی داشت. بعد از مدت کوتاهی پایگاه‌های داده بسیار عظیم با حجم بسیار گسترده‌ای از داده‌ها در سازمان‌ها، ادارات و مراکز مختلف به وجود آمدند.
حال جامعه علمی می‌توانند از چنین حجم گسترده‌ای از داده‌ها استفاده کرده و با پردازش، تحلیل و بررسی این داده‌های ذخیره شده، به روابط و اطلاعاتی دست پیدا بکنند که به هر نحوی برای سازمان و بخش مربوطه مفید واقع شود (Hand et al., 2001). ممکن است در میان حجم زیادی از داده‌ها، با روش‌های مختلف بتوان روابط خاصی پیدا کرد که از جنبه‌های مختلف برای بخش مربوطه دارای اهمیت باشد. ممکن است این اهمیت دارای جنبه اقتصادی و یا افزایش کارایی سیستم باشد.
داده کاوی، علمی است که روش‌ها و الگوریتم‌های متنوعی را در اختیار ما قرار می‌دهد تا بتوانیم از این حجم داده‌ها، با کشف الگوها[۵۴] و روابط، به اطلاعات ارزشمندی دست پیدا بکنیم.
به عبارتی «علم استخراج اطلاعات ارزشمند، از مجموعه داده‌ها و پایگاه‌های داده بزرگ» به عنوان داده کاوی شناخته می‌شود. (Hand et al., 2001).
لری کنستانتین در سال ۱۹۷۴ مفهوم وابستگی را معرفی کرد و این مفهوم به صورت گسترده‌ای در تحقیقات و کتاب‌ها و منابع مختلف، به صورت یک اصل در مهندسی نرم‌افزار مورد استفاده قرار گرفت. اما مفهوم وابستگی معرفی شده توسط کنستانتین از واژه Coupling یعنی جفتگری گرفته شده است. جفتگری همیشه به همراه مفهوم دیگری به کار برده شده است. این مفهوم، پیوستگی می‌باشد. قالبا جفتگری کم نشانه طراحی خوب نرم‌افزار است در حالی که پیوستگی کم نشان دهنده یک طراحی ضعیف می‌باشد. تأثیر این دو مفهوم بر یکدیگر به صورت عکس است و به گونه‌ای که در نمودار زیر مشاهده می‌نمایید، با افزایش جفتگری، پیوستگی کاهش پیدا می‌کند. (Constantine, 1996)
نمودار ۱: ارتباط بین جفتگری و انسجام.
در واقع جفتگری معنای معمول‌تر خود یعنی وابستگی را به طور کامل دارا است. هرچه وابستگی در نرم‌افزار افزایش پیدا کند، کیفیت طراحی، به دلیل کاهش انسجام آن کاهش پیدا می‌کند.
حال ممکن است این سوال مطرح شود که کدام دلیل منطقی وجود دارد که باعث وجود چنین رابطه‌ای بین وابستگی و انسجام می‌شود؟ شاید منطقی ترین پاسخی که بتوان برای این سوال پیدا کرد موضوع چرخش کد باشد. چرخش کد مفهومیست که با تغییر بخش‌هایی از کد نرم‌افزار به یکی از دلایل زیر اشاره دارد:
تغییر در اثر تغییر در نسخه‌های مختلف.
تغییر به قصد رفع خطا.
بدون نیاز به تمرکز بر دلیل تغییر، می‌توان این امر منطقی را قبول کرد که اگر بخش‌هایی از برنامه، به هر دلیلی دچار تغییر بشوند، ممکن است هماهنگی این بخش‌ها با بخش‌های دیگر برنامه از بین برود.
شکل ۱: نمونه‌ای از وابستگی‌های میان کلاس‌ها.
برای مثال اگر در تصویر بالا کلاس A را در نظر بگیریم، ممکن است کلاس‌های دیگری مانند B و یا C به آن وابسته باشند. اگر تغییری در کلاس A اتفاق بیفتد، ممکن است روند تغییرات صورت گرفته به گونه‌ای باشد که یکی از کلاس‌های وابسته آن نتوانند مثل قبل با کلاس A ارتباط برقرار کنند و در نتیجه دچار بروز خطاهایی در بخش‌هایی از برنامه بشویم. از آنجایی که چنین خطاهایی اصولاً خطاهای نحوی را شامل نمی‌شوند، ممکن است یافتن آن‌ها قدری مشکل‌تر باشد.
حال سوالی که مطرح می‌شود این است که آیا روند پخش شوندگی خطا می‌تواند به همین طریق تا وابستگی‌های گذرا نیز ادامه پیدا کند یا خیر؟ برای توضیح بیشتر این امر، ابتدا وابستگی گذرا را توضیح خواهیم داد. فرض کنیم که تصویر قبل بخشی از یک گراف وابستگی بزرگ‌تر مانند گراف زیر باشد.
شکل ۲: نمونه‌ای از وابستگی‌های پیچیده در میان کلاس‌ها.
در این صورت کلاس‌های E، F و D از طریق B دارای وابستگی‌های گذرا یا در اصطلاح Transitive نسبت به کلاس A هستند. به همین ترتیب وابستگی‌های گذرای دیگری را نیز می‌توان یافت برای مثال می‌توان به وابستگی گذرای G از طریق C به A اشاره نمود. در وابستگی‌های گذرا بیش از یک گره میانجی نیز می‌توانند مشارکت داشته باشند به گونه‌ای که برای مثال کلاس H از طریق مسیر F-B نسبت به کلاس A دارای وابستگی گذرا می‌باشد. بنا به مثال‌های نشان داده شده، یک وابستگی گذرا، نوعی از وابستگی است که در آن گره مبدأ از طریق یک یا چند گره میانی به گره مقصد وابسته باشد.
حال که مقصود از وابستگی گذرا روشن شد، می‌توانیم به صورت روشن‌تری سوال مطرح شده را بیان کنیم. آیا خطای موجود در یک گره، می‌تواند در نتیجه مسائلی مانند چرخش کد به وابسته‌های گذرای یک کلاس سرایت کند یا خیر؟
اگر دیدمان را از دیاگرام وابستگی نرم‌افزار به سمت یک گراف جهت دار سوق دهیم، می‌توانیم مسائلی را در مورد گراف جهت دار پیدا کنیم که پرورش دهنده ایده‌های مربوط به وابستگی هستند. اولین مسأله‌ای که بعد از طرح موضوع مربوط به وابستگی‌های گذرا به ذهن خطور می‌کند، الگوریتم‌های پیدا کننده کوتاه ترین مسیر بین دو گره مشخص در گراف هستند. معروف‌ترین این الگوریتم‌ها، الگوریتم وارشال است. الگوریتم وارشال همه مسیرهای ممکن در یک گراف، بین هر جفت از رأس‌ها را مقایسه می‌کند. این الگوریتم قادر است این کار را تنها با V2 مقایسه انجام دهد. این ملاحظه قابل توجهی می‌باشد که در یک گراف V2 یال وجود داشته باشد و هر ترکیبی از یال‌ها چک شده باشد. یک گراف G با راس‌های Vi که i از ۱ تا N می‌باشد را در نظر بگیرید. علاوه بر این یک تابع به نام ShortestPath(i,j,k) را در نظر بگیرید که کوتاه‌ترین مسیر ممکن از i تا j را با بهره گرفتن از راس‌های ۱ تا k که به عنوان راس‌های میانی در امتداد مسیر می‌باشند را بر می‌گرداند.

موضوعات: بدون موضوع  لینک ثابت
 [ 12:13:00 ق.ظ ]




  • طرح ارتقاء

شکل ۲-۳- عناصر کیفیت زندگی (پرداختچی، ۱۳۸۸)
منبعی دیگر شش مورد از موارد دهگانه فوق الذکر را تحت عنوان وجوه مختلف کیفیت زندگی کاری مطرح کرده و وجه هفتم را آزادی کارکنان درپرسه زدن درمحل کار و صحبت کردن با همکاران می‌داند منتهی به شرط آن که به کار آن‌ها و دیگران لطمه نزند. (اعتباریان، ۱۳۸۷)
۲-۱-۱۲- اهداف برنامه‌های بهبود کیفیت زندگی کاری:
اگر چه در مباحث مطرح شده درباره کیفیت زندگی کاری و برنامه‌ها وفعالیت های مرتبط با آن به‌طور مشخص مطلبی تحت عنوان هدف کمتر ذکر شده است، ولی از بررسی محتوای تعاریف، عنوان وشرح برنامه‌ها می‌توان گفت که هدف برنامه‌های مرتبط با بهبود کیفیت زندگی کاری، بهبود کیفیت خدمات ویا محصولات از طریق بهبود کیفیت زندگی کاری کارکنان و درگیر ساختن ومشارکت آنان در ارتباط با کار، شرایط کارو محیط کارشان است.
-یکی از صاحب نظران، هدف برنامه‌های کیفیت زندگی کاری را تغییرجوکاری می‌داند، بطوری که کارکنان بتوانند سهم بیشتری درموفقیت وعملکرد سازمان داشته باشند و متقابلاً منافع بیشتری از سازمان عایدآنها شود (زیلاجی،۱۹۹۰).
-درمنبعی دیگر گفته شده است که کیفیت زندگی کاری به‌عنوان یک هدف عبارت است از: بهبود عملکرد سازمان از طریق ایجاد مشاغل ومحیط کاری چالش انگیزتر، رضایت بخش ترواثربخش تر برای کارکنان درکلیه سطوح سازمانی (مولان،۱۹۹۶).

( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

به اعتقاد دولان وشولر هدف برنامه‌های بهبود کیفیت زندگی کاری ایجاد احساس مسئولیت درکارکنان، افزایش احساس رضایت مندی وخشنودی شغلی درآنان، ایجاد زمینه دخالت و مشارکتشان در امور وتصمیمات سازمانی، بخصوص تصمیمات مؤثر درشغل و محیط کار آن‌ها، ایجاد احترام واعتماد متقابل بین کارکنان ومدیریت درجهت بهبود عملکرد سازمانی است.
ایوان سویچ وماته سون (۲۰۰۲) هدف برنامه بهبود کیفیت زندگی کاری را افزایش اعتماد، تعهد ورضایت کارکنان و حل مشکلات کار ومحیط کار وسازمان به کمک آن‌ها ودرنتیجه افزایش اثر بخشی سازمان می‌داند.
طرح بهبود کیفیت زندگی کاری، که برای کارکنان وزارت بهداشت و خدمات انسانی آمریکا درسال ۱۹۹۶ درجهت بالا بردن روحیه وتعهد کارکنان آغاز شده است وتاکنون ادامه دارد وسال به سال گسترده تر می‌شود، سه هدف عمده زیر را شامل می‌شود:

  • افزایش رضایت کارکنان
  • تقویت وافزایش یادگیری آنان درمحل کار
  • مدیریت بهتر تغییرات وتحولات جاری

اهداف برنامه‌های کیفیت زندگی کاری از دیدگاه‌های مختلف به شرح زیر نیز مطرح شده است:
۲-۱-۱۲-۱- اهداف ازدیدگاه حرفه گرایی: هدف برنامه‌های بهبود کیفیت زندگی کاری عبارت است از برقراری دموکراسی صنعتی ومشارکت فزاینده کارکنان در تصمیم گیری‌های سازمان با رعایت روابط وملاحظات انسانی است.
۲-۱-۱۲-۲- اهداف ازدیدگاه مدیریت: هدف برنامه‌های بهبود کیفیت زندگی کاری ارتقاء بهره وری از طریق ورودی‌های انسانی سازمان همراه با بهبودی ورودی‌های سرمایه ای وفنی است.
۲-۱-۱۲-۳- اهداف ازنگاه کارکنان: هدف برنامه‌های بهبود کیفیت زندگی کاری فراهم آوردن موجباتی است که کارکنان هرچه بیشتر نیاز مهم شخصی خود را آ ز طریق تجربیاتشان درسازمان برآورده سازند.
۲-۱-۱۲-۴- اهداف ازدیدگاه اتحادیه کارگری: هدف از برنامه‌های بهبود کیفیت زندگی کاری تحصیل سهم عادلانه ومناسب از درآمدها و منابع سازمان برای کارکنان وهمچنین تأمین شرایط کاری انسانی تر وسالم تراست.
هدف از بهبود کیفیت زندگی کاری به‌عنوان یک فلسفه، ایجاد روابط مناسب ومعقول و انسانی بین کارکنان، مشاغل ووظایف آن‌ها و شرایط ومحیط کاری آن‌هاست (دویودی،۱۹۹۷)
فلسفه ای که مشروعیت اتحادیه‌های کارگری را می‌پذیرد، به گسترش روابط همکارانه با آن باور دارد وآن را ارزشمند ومفید می‌داند. باور دارد که در ارتباط با تصمیماتی که درسطوح مختلف سازمان اتخاذ می‌شود، هریک از کارمندان حق وتوانایی آن را دارد که مشارکتی هوشمندانه ومفید داشته باشد ودروندادی ارزشمند ارائه دهد (وایدیاناتم،۱۹۹۳)
فلسفه ای که کارکنان را نعمت وموهبتی می‌داند که بایستی استعدادهای نهفته آنهاآزاد شود وپرورش یابد. آن‌ها را برخوردار از دانش ومهارت وتعهد لازم جهت حل مسائل سازمانی ومایل به تلاش و مشارکت دراین زمینه بداند، نه این که آن‌ها راصرفا بخشی از هزینه تولید تلقی کندکه بایستی مورد کنترل وصرفه جویی قرارگیرند. (مولان،۱۹۹۶)
کیفیت زندگی کاری درحقیقت یعنی کیفیت روابط بین کارکنان وتمامی عوامل متشکله کار و محیط کار است وهدف ازآن ایجاد شرایطی درسازما ن است که:

  • یادگیری وبالندگی افراد را ارتقاء بخشد وتوسعه دهد.
  • موجباتی را فراهم آورد که افراد برآنچه که انجام می‌دهند وچگونگی انجام آن کنترل وتاثیر داشته باشند.
  • مشاغل سازمانی را آن چنان طراحی کند که برای افراد با معنا وموجب رضایت شخصی و وسیله کسب پاداش‌هایی باشدکه ازنظرآنها ارزشمند ومناسب تلقی شود. (سلمانی، ۱۳۸۴)

۲-۱-۱۳- رویکردها واستراتژی های بهبود کیفیت زندگی کاری:
اگر چه رویکردها واستراتژی های مختلفی برای بهبود کیفیت زندگی کاری مطرح شده است، ولی همگی آن‌ها در یک هدف مشترک‌اند و آن انسانی کردن محیط کار از طریق بسط دموکراسی و مشارکت کارکنان درتصمیم گیری‌های مربوط به کار و محیط کار خویش از یک طرف، و تجدید ساختار کار یا بازطراحی کار و تغییر روش، از طرفی دیگر به نحوی که برای متصدی کار جالب وارضاء کننده باشد. نمونه ای از رویکردها واستراتژی های مطرح شده در ارتباط با کیفیت زندگی کاری به شرح زیر است:
رویکردهای متداول دربهبود کیفیت زندگی کاری عبارتنداز:

  • دوایر کیفیت که طی آن کارکنان در گروه‌های کوچک متشکل می‌شوند وبه‌طور مرتب با یکدیگر ملاقات می‌کنند ومسایل کار و کیفیت محصول را درواحد خود شناسایی می‌کنند و برای آن راه حل ارائه می‌دهند.
  • سیستم‌های اجتماعی فنی که عبارت است از مداخله درشرایط کار از طریق تجدد ساختار کار، تشکیل گروه‌های کاری و تنظیم رابطه بین کارکنان و فنّاوری مورد استفاده آن‌ها.
  • دموکراسی صنعتی یعنی توجه به رأی وخواست کارکنان تحت عنوان تصمیم گیری مشترک که طبق آن درنشست های رسمی نمایندگان کارکنان با مدیریت بحث و گفتگو می‌کنند ورای خودرا درمورد تصمیمات مرتبط به کار شرایط کار خویش اعلام می‌دارند.
  • گروه‌های کاری مستقل یا خودگردان که رویکردی متداول در درگیر ساختن کارکنان و مشارکت آن‌ها در کارها و تصمیمات سازمانی است. گرو ه های کاری مستقل متشکل از تیمی از کارکنان است؛ بدون آنکه رئیسی از طرف سازمان به‌طور رسمی برآنها گمارده شده باشد. این گروه تصمیماتی را که به‌طور سنتی مدیران سرپرستی اتخاذ می‌کردند، عهده دارد است (دیویس، ۱۹۸۹).

۲-۱-۱۳-۱- تدوین کارراهه و مسیر کارراهه (مسیر شغلی):
کارراهه یعنی پست‌ها، موقعیت‌ها ومشاغل متوالی که یک فرد در دوران زندگی کاری‌اش عهده دار می‌شود.
درکارراهه یا مسیر شغل هر فرد چهار مرحله وجود دارد:
۱-کشف، ۲- برقراری یا استقرار، ۳ – شغل‌های میان راه و ۴- شغل‌های آخرین
ازدیدگاه مدیریت، فرایند تدوین کارراهه برای افراد (یا تعیین مسیر شغلی آنان) وسیله ای است برای بهبود یا حداقل حفظ بهره وری کارکنان و آماده سازی آن‌ها برای تغییر شرایط کار آن‌ها در موقعیت سازمانی.
تدوین مسیر شغلی یا کارراهه متضمن چند موضوع است: مشاوره شغلی، ترسیم مسیر شغلی، سیستم اطلاعات شغلی، برنامه ریزی نیروی انسانی، سنجش دوره ای مهارت‌های شغلی فرد، آموزش افراد و کمک به افرادی که توانایی‌های شغلی‌شان کم یا ضعیف است.

موضوعات: بدون موضوع  لینک ثابت
 [ 12:13:00 ق.ظ ]




فرض کنید کارت آنالوگ ورودی۱۲ بیتی فوق سیگنال الکتریکی ولتاژی ۰ الی ۱۰ ولت را دریافت کند، حد تفکیک به روش زیر محاسبه می‏شود:
پس داریم
یعنی حداقل تغییر قابل تشخیص توسط کارت فوق ۲٫۴۴mV است و کارت تغییرات کمتر از آن را تشخیص نمی‏دهد. ماژول معرفی شده فوق قابلیت تنظیم شدن روی سیگنال­های ولتاژ، جریان دو سیمه، جریان چهار سیمه و ترموکوپل به صورت سخت­افزاری را دارد و هر دو کانال آن با هم روی یک سیگنال تنظیم می­شوند که نمی­ توان آن­ها را جداگانه تنظیم کرد. بنابراین باید در تنظیمات سخت افزاری علاوه بر مشخص کردن نوع کارت مورد استفاده نوع سیگنال را نیز تعیین کرد. در این فرایند آنچه که از ترانسمیترهای دما و سطح به کارت آنالوگ ارسال می­ شود، یک سیگنال جریانی است و پس از تبدیل به داده ۱۲ بیتی که اصطلاحا به آن آنالوگ خام گویند، به CPU ارسال می‏شود. این مقدار آنالوگ خام بر اساس تعداد بیت­های کارت آنالوگ (در اینجا ۱۲ بیت) بین ۰ تا ۲۷۶۴۸ تغییر می‏کند که فاقد مفهوم است. بنابرین پس از مقیاس‏بندی در برنامه استفاده می‏شود. این مقیاس‏بندی می‏تواند توسط توابع آماده در Step7 صورت گیرد یا از طریق توابعی که خودمان بر حسب نیاز تعریف می­کنیم، که در فصول آینده به آن اشاره خواهیم کرد.

( اینجا فقط تکه ای از متن پایان نامه درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

۶-۶-۱-۳- ماژول آنالوگ خروجی
سیگنال­های آنالوگ خروجی از سیگنال­های پرکاربرد به ویژه در کنترل فرایند هستند. این سیگنال­ها به صورت جریانی یا ولتاژی هستند که همانند سیگنال­های آنالوگ ورودی علاوه افزودن کارت روی Rack، نوع سیگنال نیز (ولتاژ یا جریان) باید به هنگلم تنظیمات سخت­افزاری مشخص شود.
کارت آنالوگ خروجی استفاده شده در آزمایشگاه از نوع-۱۲ بیتی با شماره مشخصه ۶ES7 332-5HB01-0AB0 می­باشد. پس از آن که پردازش اطلاعات در CPU به پایان رسید، داده­ی دیجیتال به سیگنال آنالوگ تبدیل می­ شود و به کارت خروجی فرستاده می­ شود، البته مقادیر ماژول آنالوگ خروجی باید برای PLC قابل فهم باشد، در واقع داده ­های scale شده باید به مقادیر آنالوگ خام در بازه ۰ تا ۲۷۶۴۸ تبدیل شوند.
۶-۶-۱-۴- کارت شبکه
کارت CP استفاده شده در این فرایند از نوع CP 343-1 می­باشد. از این کارت می­توان برای ارتباطات تحت شبکه استفاده کرد.

        1. سایر اجزای سخت‏افزاری فرایند مورد مطالعه

۶-۷-۱- شیر برقی
شیرهای برقی که در مسیر پمپ های رفت و برگشت آب قرار گرفته اند، از نوع Airtac 2PV250E می‏باشند.
شکل ۶-۱۱٫ شیر یرقی Valve 2pv250E.
۶-۷-۲- سنسور دما از نوع RTD
RTD یا Resistance Temperature Detector یکی از سنسورهای پرکاربرد در اندازه‏گیری دما هستند. اصول اندازه ­گیری در آن­ها بر اساس تغییرات مقاومت ناشی از تغییر دماست. در رابطه زیر میزان تغییر مقاومت با مقدار دما نشان داده شده است که دارای یک رابطه نسبتا مستقیم است.
شکل ۶-۱۲٫ سنسور PT100.
در این رابطه مقدار مقاومت در صفر درجه سانتیگراد و a ضریبی است که به جنس مقاومت بستگی دارد. جنس مقاومت می ­تواند مس، پلاتین، تنگستن یا نیکل باشد که هر کدام در بازه خاصی کاربرد دارند.
اتصال RTD به کارت آنالوگ می ­تواند دو سیمه یا سه­سیمه یا چهار سیمه باشد. دو سیمه فقط برای مسافت­های خیلی کم به کار می‏رود زیرا مقارمت سیم در اندازه ­گیری نیز دیده می­ شود. در نوع سه سیمه خطا وجود دارد ولی از دو سیمه کمتر است زیرا اهم یک مسیر در اندازه ­گیری دیده می­ شود. اگر این خطا از نظر کاربر قابل قبول باشد می­توان آن را اجرا نمود. نوع چهار سیمه برای اندازه ­گیری­های دقیق به کار می­رود. یک منبع جریان ثابت بین دو سر مقاومت RTD قرار می­گیرد و اندازه ­گیری ولتاژ در دو سر دیگر صورت می­گیرد. به علت اینکه از مسیر اندازه ­گیری ولتاژ جریان نمی­گذرد، ولتاژ اندازه ­گیری شده در دو سر مقاومت RTD است. پس در اندازه گیری مقاومت سیم­ها دیده نمی­شوند.
PT100 یکی از اعضای خانواده RTD است که بسیار پرکاربرد و معروف می­باشد. در آزمایشگاه از این نوع استفاده شده است که در دمای صفر درجه مقاومتی برابر با ۱۰۰ اهم دارد و تغییرات آن نسبتا خطی است.
برای اتصال این سنسور به کارت آنالوگ از نوع دو سیمه استفاده شده است. همانطور که در شکل ۶-۱۳ مشخص است، ابتدا توسط کارت جریان مشخصی به PT100 اعمال شده و سپس افت ولتاژ به وجود آمده در PT100 اندازه ­گیری می­ شود. با تقسیم ولتاژ اندازه ­گیری شده بر جریان اعمالی، میزان مقاومت آن به دست می ­آید.
شکل ۶-۱۳٫ نحوه اتصال PT100 به کارت آنالوگ [۶۴].
۶-۷-۳- سنسور فشار
از سنسور فشار برای تعیین سطح مایع درون مخزن اول استفاده می‏شود. این سنسور از نوع BCT110 می­باشد و بازه کاری آن ۰ تا ۱۰۰ میلی بار می­باشد. شکل ۷-۹ این سنسور و نحوه اتصال آن به کارت آنالوگ را نشان می­دهد.
شکل ۶-۱۴٫ سنسور BCT110 و نحوه اتصال آن به کارت آنالوگ [۶۵].

        1. نرم‏افزار سیستم و زبان برنامه‏نویسی

همان­طور که در فصل دوم اشاره شد زبان برنامه نویسی ST که از دیگر زبان­های برنامه نویسی PLC ها جدید تر است، یک زبان سطح بالا شبیه C و پاسکال است و کاربردی عالی به ویژه در الگوریتم­های پیچیده ریاضی دارد. یادگیری این زبان برنامه­نویسی با توجه به شبیه بودن آن به زبان پاسکال برای اشخاص ناآشنا زمان­گیر و پرخطا است [۶۶]. یک روش جدید در سال ۲۰۱۱ ارائه شده است که می­توان با برنامه نویسی خاص و ساده با بهره گرفتن از بلاک­های ساده Simulink در نرم افزار MATLAB یک سری زیر سیستم ساخت و با تبدیلات خاصی آن را به کد نوشتاری برای بسیاری از PLC ها تبدیل نمود. این شیوه برای پیاده­سازی الگوریتم­های پیچیده کنترلی و ریاضی تا حدی برای صنایع بسیار مفید خواهد بود. از طریق این روش برنامه­نویسی، که نوشتن کد آن در PLC زمان­بر است و ممکن است به چندین ماه برنامه­نویسی نیاز داشته باشد را در مدت بسیار کوتاه­تری با دقت بیشتر در Simulink می­توان طراحی نمود. از طریق این روش خطاهای ناشی از برنامه نویسی های پیچیده کاهش می­یابد. همچنین کسانی که آشنایی کافی با نرم­افزار MATLAB و Simulink را دارند بدون آشنایی با زبان پاسکال یا ST می­توانند برای PLC ها برنامه نویسی خاص و بهینه داشته باشند. البته محدودیت­هایی در این روش وجود دارد، از جمله این که تنها از بلاک­های بسیار ساده و حالت گسسته زمانی در Simulnik می­توان استفاده کرد. در نتیجه الگوریتم­های طراحی شده باید تا حد معقولی ساده و قابلیت تبدیل شدن به ST را داشته باشند. در این پایان نامه نیز برای پیاده­سازی روش­های کنترلی پیشرفته، بسیاری از توابع و زیر تابع­ها از همین روش ساخته شده ­اند که نه تنها در کاهش زمان پیاده­سازی بلکه در کاهش خطای کدنویسی نیز بسیار تاثیرگذار بوده است. شکل زیر روند طراحی توابع مورد نیاز برای پیاده­سازی روی PLC را نشان می­دهد.
شکل ۶-۱۵٫ روند طراحی توابع مورد نیاز برای پیاده‏سازی روی PLC.

        1. طراحی موج PWM برای اعمال به هیتر

موضوعات: بدون موضوع  لینک ثابت
 [ 12:13:00 ق.ظ ]
 
مداحی های محرم