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

word 784 KB 31086 69
1392 کارشناسی ارشد مهندسی کامپیوتر
قیمت: ۸,۹۷۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • پایان نامه کارشناسی ارشد در رشته مهندسی کامپیوتر(نرم افزار)

    چکیده

     

     

    گسترش ابزار­ های خودکار شناسایی الگو های طراحی با عملیات پالایش و تصحیح برچسب

     

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

    فصل اول

    مقدمه

    اگرچه طراحی یک نرم­افزار شی­گرا دشواری ­های خاص خود را دارد، دشوار­تر از آن، طراحی یک نرم­افزار شی­گرا با قابلیت استفاده مجدد است. الگوهای طراحی، استفاده از طراحی­ها و معماری­های موفق را آسان می­کنند [1]. الگوهای طراحی راه­حل­های اثبات شده و قابل اطمینان هستند که به منظور حل مسائلی که به طور مکرر در طراحی یک نرم افزار شی­گرا رخ می­دهد، مورد استفاده قرار می­گیرند. یک الگوی طراحی هدف و ساختار واحد خودش را دارد. الگوها نقش­ها، مسئولیت­ها، نحوه­ همکاری کلاس­ها و نمونه­های شرکت کننده در این همکاری را توصیف می­کنند. بنابراین با استخراج الگو­های طراحی از کد منبع، قادر به آشکار کردن هدف و طرح یک سیستم نرم­افزاری هستیم [5].

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

      محققان بسیاری در زمینه شناسایی الگوهای طراحی، کار کرده­اند (خودکار یا نیمه خودکار).  اما هیچ کدام نتوانسته­اند یک خروجی مطمئن و بدون مثبت کاذب را در اختیار توسعه­دهندگان قرار دهند. به طورکلی شیوه­های شناسایی الگو­های طراحی به دودسته تقسیم می­شوند. آنهایی که بر اساس جنبه­های ساختاری الگوها، کار شناسایی را انجام می­دهند و آنهایی که از جنبه­های رفتاری موجود در الگو­ها نیز جهت شناسایی بهره می­گیرند [5].

    هدف قرار دادن جنبه ­های ساختاری

    برخی از شیوه­ ها، برای شناسایی الگوها، تنها جنبه­ ساختاری آنها را در نظر می­گیرند. ابتدا خصوصیات ساختاری هرکلاس موجود در کد منبع با هر نقش تشکیل­ دهنده­ یک الگو مقایسه و کاندیدهای هر نقش شناسایی می­شود. سپس کاندیدهای نقش­هایی که می­توانند به هم مرتبط شوند، ترکیب می­شوند. در نهایت روابط میان کلاسی را بدون توجه به خصوصیات رفتاری، تجزیه و تحلیل و با الگوها مقایسه می­کنند. روابط­ میان کلاسی شامل ارث بری، انواع برگشتی، تعریف[1]، تعمیم[2]، پیوند[3]، و ... می­شوند. به ­عنوان­ مثال­ SPOOL [19]،DP++  [18]، Osprey [20]، و [21] به شیوه ساختاری فوق، الگوها را شناسایی می­کنند.

    بالانیا و همکارانش [3] با استفاده ازیک چارچوب به نام کولامبوس، گراف ­های معنایی منتزع[4] را استخراج، و برای شناسایی الگو­ها بر اساس مقایسه گراف­ها[5] عمل کردند [5]. همچنین [2] از معناشناسی صریح[6] برای پیدا کردن الگوها روی گراف معنایی منتزع بهره می­گیرد. در هر حال برای شناسایی الگوها، علاوه بر خصوصیات ساختاری، تجزیه و تحلیل خصوصیات رفتاری نیز ضروری است.

    هدف قرار دادن جنبه های رفتاری

    شیوه­ های بحث شده در بخش قبل قادر به تشخیص الگوهایی که از نظر ساختاری یکسان اما رفتار متفاوتی دارند نظیر الگوی" استراتژی" در مقابل الگوی"وضعیت " نیستند. شیوه­هایی که جنبه­های رفتاری را هدف قرار می­دهند، سعی می­کنند این مساله را با استفاده از یاد­گیری ماشین، تحلیل پویا[7] [24] یا تحلیل ایستا[8] حل کنند [5].

    تجزیه و تحلیل پویا

    این شیوه­ ها از داده­های زمان اجرا[9] برای تشخیص جنبه­های رفتاری الگو­ها استفاده می­کنند. کی تی [22]، تنها از تجزیه و تحلیل پویا برای تشخیص الگوی "زنجیره مسئولیت­ها[10]" استفاده کرد اما نتیجه­اش موفقیت­آمیز نبود (به دلیل نامناسب بودن مکانیزم رخداد نگارى کردن پیام[11] و ناکافی بودن داده آزمایش).  تجزیه و تحلیل پویا به پوشش خوبی از داده­ آزمایش به منظور اعمال هر مسیر اجرایی ممکن نیازمند است. چنین داده آزمایش اغلب موجود نیست. حتی اگر داده­ آزمایش هم موجود باشد، نتایج زمان اجرا ممکن است گمراه کننده باشند. چون چنین داده­هایی اصولا برای تشخیص دادن رفتار الگو­های خاص، طراحی نشده­اند [5].

    تجزیه وتحلیل ایستا

    ‌‌‌این روش­ها اصولا شیوه­ های تجزیه و تحلیل ایستا را به درخت معنایی منتزع[12] در بدنه متدها اعمال می­کنند. مرجع [25] بیانیه­های "ایجاد شی غیرحساس به مسیر"[13] را برای تشخیص الگوهای "[14]کارخانه­ انتزاعی" و"متد کارخانه"[15] استفاده کرد. برای شناسایی الگوها با ساختار و عملکرد مشابه، بیرون کشیدن هدف الگو در پیاده­­سازی، به منظور متمایزسازی آنها بسیار مهم است. اما اکثر چنین شیوه­هایی قادر نیستند هدف برنامه را بیرون بکشند [5].

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

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

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

    آزمایش­ها، با استفاده از سه الگوریتم یادگیری ماشینC5.0 ،  Boostingو  SVMانجام شده است. روش پیشنهادی روی سه نرم افزارمتن باز jhotdraw6[6]، jrefactory[7]  و   javaio [8] انجام شده است. الگوهای پیاده شده در این پروژه­ها از ساختار پایه­ای که برای آنها در کتاب­ها معرفی شده است بسیار فاصله گرفته­اند (الگو ها بسیار انعطاف پذیر هستند و توسط هر برنامه­نویس می­توانند به روش­های متفاوتی پیاده­سازی شوند و هم چنین ترکیب شوند) بنابراین شناسایی چنین الگوهایی دشواری­های خاص خودش را دارد [2].

      در این کار،  معیارهای جدید به عنوان پیش­گویی کننده­های عملیات تصحیح برچسب و پالایش، روی نمونه­های خروجی الگوی طراحی "استراتژی" یافت شده توسط ابزار­های [9] SSA و [5] PINOT استفاده شده­اند. ابتدا مثبت کاذب­های استراتژی تشخیص داده می­شوند و سپس الگوی طراحی صحیح موجود در نمونه مثبت کاذب شناسایی می­شود. نمونه­های مثبت کاذب به سمت نمونه­ها­ی مثبت صحیح  با تشخیص آنها از الگوهای "وضعیت[16]"، "استراتژی[17]"، "تطبیق­دهنده[18]"، "فرمان[19]"، "ملاقات­کننده[20]"، "میانجی[21]"، "آذیین کننده[22]"، "ترکیب[23]" و"کارخانه انتزاعی[24]"حرکت می­کنند. همچنین این معیارها می­توانند الگوهایی که ساختار کاملا مشابهی به یکدیگر دارند نظیر"وضعیت از استراتژی "، "تطبیق دهنده از فرمان"، "آذیین کننده از ترکیب" و استراتژی را از هشت الگوی دیگر مورد مطالعه در این تحقیق متمایز کنند. این الگوها در نظر گرفته شدند، چون بیشترین مثبت کاذب موجود در نتایج الگوی استراتژی با اشتباه گرفتن با این الگو­ها بر حسب ساختار و عملکرد مشابه تولید شده است.

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

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

    فرضیات و محدودیت های مساله

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

     

    ضرورت انجام تحقیق

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

    Extending Automatic Design Pattern Detection Tools by Filtering and Label Correcting Operations

     

    Abstract

     

     

    Design patterns are reliable and stable solutions to frequently occurring problems in object oriented software design. Trace the design pattern contributes to recovery hidden design and purpose in code. Also contributes easy maintainability. Whereas easy maintainability is very important and inevitable, so automatic design pattern detection is very considerable. Majority automatic design pattern detection tools have high recall, but in recognizing design patterns, especially structurally and behaviorally similar patterns high false positive is produced yet. Hence filtering operation is purposed. The filtering identifies and removes false positives. In this paper an operation entitled "label correcting" is presented, label correcting firstly recognizes false positives and then corrects tools output. Automatic label correcting is performed by data mining techniques. This approach corrects outputs with learning accuracy about 97.8% in "multi classifications", 99.3% average in "one versus rest" classification and 99.6% average in "pairwise" classification.

     

    Keyword: Design patterns, Similar­ structure, Similar behavior, Label correcting, metrics, Data mining.

  • فهرست:

    مقدمه............................................................................................................8          

    فرضیات و محدودیت های مساله.......................................................................12

    ضرورت انجام تحقیق............................................................................................13

    هدف از انجام تحقیق............................................................................................13

    سرفصل مطالب......................................................................................................14

    تعاریف و مفاهیم اولیه....................................................................................17       

    مقدمه.....................................................................................................................17

    تکنیک های طبقه بندی....................................................................................18

    معیارهای ارزیابی کارایی....................................................................................19

    جمع بندی............................................................................................................21

    مروری بر تحقیقات پیشین..........................................................................23

    مقدمه.............................................................................................23

    مطالعات قبلی در شناسایی خودکار و نیمه خودکار الگوهای طراحی و محدودیت هایشان............................................................................................24

    جمع بندی.........................................................................................................28

    تولید مجموعه داده ......................................................................................30

    مقدمه.................................................................................................................30

    معیارهای استخراج شده................................................................................31

    چارچوب آنالیز جهت شناسایی اولیه و تصحیح برچسب الگوهای طراحی........................................................................................................48

    جمع بندی.......................................................................................50

    آزمایشات و نتایج عددی...............................................................................51

    مقدمه.........................................................................................................52

    کارایی یادگیری.......................................................................................52

    جمع بندی.................................................................................................56

    نتیجه گیری و کارهای آتی.............................................................................58

    فهرست منابع و مآخذ.....................................................................................59

    چکیده به زبان انگلیسی ................................................................................62

     

     

    منبع:

    فهرست منابع و مآخذ

     [1] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns : Elements of Reusable Object-Oriented Software. Addison-Wesley Pub Co, 1995.

    [2] J.M. Smith and D. Stotts, “SPQR: Flexible Automated Design Pattern Extraction from Source Code,” Proc. 18th IEEE Int’l Conf. Automated Software Eng. (ASE ’03), Oct. 2003.

     

    [3] Z. Balanyi and R. Ferenc. Mining Design Patterns from C++ Source Code. In Proceedings of the 19th International Conference on Software Maintenance (ICSM 2003), pages 305–314. IEEE Computer Society, Sept. 2003.

     

    [4] R. Ferenc, ´A. Besz´edes, L. Fulop, and J. Lele. Design pattern mining enhanced by machine learning. In ICSM, pages 295–304, 2005.

     

    [5] N. Shi and R. A. Olsson, “Reverse engineering of design patterns from java source code,” in ASE’06. Washington, USA: IEEE Computer Society, 2006, pp. 123–134.

     

    [6]­http://www.javaworld.com/javaworld/jw-02-2001/jw-0216-jhotdraw.html, Accessed April 2013.

     

    [7] Jrefactory, http://jrefactory.sourceforge.net/,2006, Accessed April 2013.

    [8] http://sewiki.iai.uni-bonn.de/research/dpd/benchmarks/start, Accessed April 2013.

    [9] N. Tsantalis, A. Chatzigeorgiou, G. Stephanides, and S. T. Halkidis, “Design pattern detection using similarity scoring,” IEEE TSE, vol. 32, no. 11, pp. 896–909, 2006.

     

    [10] G. Antoniol, R. Fiutem, and L. Cristoforetti. Using Metrics to Identify Design Patterns in Object-Oriented Software. In Proceedings of the Fifth International Symposium on Software Metrics (METRICS98), pages 23–34. IEEE Computer Society, Nov. 1998.

     

    [11] M. Zanoni. MARPLE: discovering structured groups of classes for design pattern detection. Master’s thesis, Università degli studi di Milano-Bicocca, Milano, Italy, July 2008.

     

    [12] M. Zanoni. Data mining techniques for design pattern detection. PhD’s thesis, Università degli Studi di Milano Bicocca,  2012.

     

    [13] S. Uchiyama, H. Washizaki, Y.  Fukazawa and A.  Kubo,  Design Pattern Detection using Software Metrics and Machine Learning.

     

    [14] J. Cooper, design patterns java companion, Addison- Wesley, 1998.

     

     [15]A. Binun and G. Kniesel. Joining Forces for Higher Precision and Recall of Design Pattern Detection, in proceeding of the 16th conference on software maintenance and reengineering (CSMR2012), March 27-30, Washington, DC, USA, 2012. IEEE Computer society.

     

    [16] Clementine 12, copyright(c) integral solutions ltd, help-modeling nodes, (1994-2007)

    [17] J. Han, M. Kamber and J. Pei, Data Mining third edition: concepts and techniques, M. Kaufmann pub, 2011.

    [18] J. Bansiya. Automating design-pattern identification –DP++ is a tool for C++ programs. Dr. Dobbs Journal, 1998.

     

    [19] R. Keller, R. Shauer, S. Robitaille, and P. Pag´e. Patternbased reverse-engineering of design components. In Proc. Of the 21st International Conference on Software Engineering, pages 226–235. IEEE Computer Society Press, May 1999.

     

    [20] A. Asencio, S. Cardman, D. Harris, and E. Laderman. Relating expectations to automatically recovered design patterns.In WCRE, pages 87–96, 2002.

     

    [21] M. Vok´aˇc. An efficient tool for recovering design patterns from C++ code. Journal of Object Technology, 5(2), March-April 2006.

     

    [22] K. Brown. Design Reverse Engineering and Automated DesignPattern Detection inSmallTalk. Master’s thesis, North Carolina State University, 1998.

     

     

     [23] http://courses.cs.vt.edu/cs2604/spring04/Notes/C04.AlgorithmAnalysis.pdf

     [24] M. Birkner, object oriented design pattern detection using static and dynamic analysis in java software, master thesis, university of applied sciences bonn-rhein-sieg sankt augustin, Germany august 2007.

     

    [25] FUJABA. http://www.fujaba.de, Accessed May 2013

     [26] S. Alhusain, S. Coupland, R. John AND M. Kavanagh. Towards Machine Learning Based Design Pattern Recognition. Computational intellingent, (UKCI) 2013. 

     [27] Y. Freund AND R.E. Schapire. A Short Introduction to Boosting, Proc. Journal of Japanese Society for Artificial Intelligence, 14(5):771-780, September, 1999.

    [28] P. W˛egrzynowicz and K. Stencel. "Relaxing Queries to Detect Variants of Design Patterns". Computer Science and Information Systems (FedCSIS), 2013 Federated Conference.

     

    [29] R.S. Rao and M. Gupta. "Design Pattern Detection by Sub Graph Isomorphism Technique". International Journal of Engineering and Computer Science, 2013.

     


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

پایان­نامه برای دریافت درجه کارشناسی ارشد "M.A." (مدیریت بازرگانی – گرایش بین الملل) چکیده کسب و کار الکترونیکی پدیده‏ای است که تحول همه جانبه در تمام ابعاد فعالیت‏های تجاری شرکت‏ها برای دستیابی به تسهیل تجاری را می‏طلبد. این امر علاوه بر تحولات خرد که در سطح بنگاه اتفاق می‏افتد به شدت مستلزم تحولاتی در محیط حاکم بر شرکتهای تجاری و کشورهاست که به نحو مؤثر می‏تواند بستر لازم را ...

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

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

پایان نامه برای دریافت کارشناسی ارشد «M.A.» گرایش صنعتی چکیده در شرایطی که شرکت‌های تولیدی تحت رقابت شدید مشغول فعالیت هستند، به تولید محصولات متنوع می‌پردازند و گاهی اوقات به عوارض زیست‌ محیطی استفاده از مواد مختلف توجهی ندارند. این در حالیست که اجرای شیوه‌های مدیریت زیست‌محیطی مانند مدیریت زنجیره تامین سبز (GSCM)[1] می‌تواند علاوه بر حفظ مزیت رقابتی شرکت‌ها، به جلوگیری از ...

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

پایان نامه برای دریافت درجه کارشناسی ارشد در رشته مدیریت فناوری اطلاعات گرایش سیستمهای اطلاعاتی پیشرفته چکیده حمل و نقل هوایی، یکی از مهم­ترین انواع حمل و نقل در زندگی امروز است. با توجه به اهمیت قابل توجه مشتری به عنوان منبع درآمد فرودگاه‏ها و در نتیجه اهمیت روز افزون مدیریت مؤثر ارتباط با مشتری، شناسایی و اولویت­بندی عوامل کلیدی در اجرای موفق مدیریت ارتباط با مشتری (CRM) در ...

پايان نامه (يا رساله) براي دريافت درجه کارشناسي ارشد. در رشته معماري گرايش معماري بهمن 93 چکيده :      از آنجايي که ايجاد فضاهاي چند منظوره و چند عملکردي در 

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

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

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

ثبت سفارش