عنوان پایاننامه
بررسی انطباق معماری با کد نرم افزار
- رشته تحصیلی
- مهندسی کامپیوتر -نرم افزار
- مقطع تحصیلی
- کارشناسی ارشد
- محل دفاع
- کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 45345;کتابخانه مرکزی پردیس 2 فنی شماره ثبت: E 1741
- تاریخ دفاع
- ۲۴ اسفند ۱۳۸۸
- دانشجو
- راضیه رحیمی
- استاد راهنما
- رامتین خسروی
- چکیده
- معماری نرم¬افزار برای غلبه بر پیچیدگی¬های توسعه¬ی نرم¬افزار و رسیدن به ویژگی¬های کیفی نرم¬افزار طراحی می¬شود. عوامل متعددی می¬تواند سبب انحراف معماری پیاده¬سازی شده در کد نرم¬افزار از معماری طراحی شده شوند. این انحراف پیامد¬های ناگواری چون پیچیده شدن فرایند نگهداری و تغییر نرم¬افزار را در پی خواهد داشت. به منظور تشخیص این انحراف، روش¬های بررسی انطباق معماری، برای اطمینان از انطباق کد با معماری استفاده می¬شوند. امروزه در توسعه¬ی سیستم¬های نرم¬افزاری سازمانی از چندین زبان خاص-دامنه در کنار زبان برنامه¬نویسی اصلی (همه-منظوره) استفاده می¬شود. استفاده از زبان¬های خاص-دامنه سبب می¬شود که مدل دامنه توسط زبان-های متفاوتی توصیف شود، به همین دلیل ارزیابی برخی قواعد معماری نیازمند پردازش فراورده¬های چند زبان و بررسی ارتباط میان آن¬ها می¬باشند. در این پژوهش، یک روش مبتنی بر مدل برای ارزیابی انطباق معماری برای سیستم¬های شامل چند زبان متفاوت ارائه شده است. روش ما فراورده¬های نوشته شده به زبان¬های مختلف را به صورت متحدالشکل مدل می¬کند، بنابراین مستقل از زبان¬های استفاده شده برای توسعه می¬باشد و قابلیت گسترش به منظور پشتیبانی از زبان¬های خاص-دامنه جدید و ارزیابی قواعدی که فرآوده¬های آن¬ها را نیز در بر می¬گیرد، از ویژگی¬های دیگر این روش است. روش ارائه شده، قدرت توصیف قواعد معماری را افزایش داده است و آن را برای کاربردهای واقعی مؤثرتر کرده است. با استفاده از این روش به طور پیوسته در روند توسعه و نگهداری سیستم، انطباق کد با معماری به میزان قابل توجهی افزایش می¬یابد. واژه¬های کلیدی: بررسی انطباق، کد چند-زبانه، قواعد در عرض زبانها
- Abstract
- Software architecture is a way to deal with the complexities involved in software development processes and to achieve desired quality attributes. However, several factors cause the architecture implemented in the code to diverge from the intended designed architecture. Such erosion results in serious consequences such as complication in maintenance, change and evolution of software systems. To prevent divergence from the architecture, architecture conformance methods are adopted to check the compliance of code with the architecture. In development of today’s enterprise applications, a number of domain-specific languages are used along with the main (general-purpose) programming language. Using domain-specific languages together with general-purpose languages results in description or implementation of the domain or application logic in different languages. Therefore, checking certain architectural rules needs inspecting artifacts of several languages and discovering relationships among them. As a result, there is a need for a conformance checking method to support multi-language source code checking. In this research, a model-based approach is proposed to evaluate cross-language rules. Our proposed approach models the artifacts of different languages uniformly which is, in turn, independent of the languages used in the development and can be extended to support newly designed domain-specific languages and cross-language rules that cover the artifacts produced. The proposed approach extends the expressiveness of rule description languages and makes it more effective in application to real-world software projects. Using this method continuously throughout the development and maintenance phases of software systems development significantly increases the conformance degree of code to the designed architecture. Keywords: Conformance checking, multi-language code, cross-language rules