Abstract
Software architectural decisions have a significant impact on the software development process as well as on the quality of developed software systems. In this paper, the technique that allows selecting the optimal software architecture among several alternatives is proposed. This selection technique is reduced to the criteria importance theory for decision-making problems with a hierarchical criterion structure. For applying it, we need to pick up a set of metrics that assess the characteristics of the software architecture. Next, we need to determine metrics scale and create the hierarchical criterion structure with all the relations between software metric groups. The results allow us making conclusions about usefulness of the proposed technique during architecture design phase for software systems
چکیده
تصمیمات ساختاری نرم افزاری دارای تاثیر قابل توجهی بر روی فرآیند توسعه نرم افزار و همچنین بر روی کیفیت سیستم های نرم افزاری توسعه یافته هستند. در این مقاله، روشی که امکان انتخاب معماری نرم افزار بهینه را در میان چندین گزینه فراهم می کند ارائه شده است. روش انتخاب، به نظریه معیار اهمیت برای مسائل تصمیم گیری با یک ساختار معیار سلسله مراتبی کاهش می یابد. برای اعمال این روش، ما باید مجموعه ای از معیارهایی را انتخاب کنیم که ویژگی های معماری نرم افزاری را ارزیابی کند. در مرحله بعد، باید مقیاس متریک را تعیین نماییم و ساختار معیار سلسله مراتبی را با تمام روابط میان گروه های متریک نرم افزاری را ایجاد کنیم. نتایج به ما اجازه می دهد تا در مورد سودمندی روش پیشنهادی در طول فاز طراحی معماری برای سیستم های نرم افزاری نتیجه گیری کنیم.
1-مقدمه
تشکیل معماری، گام اول و اساسی در فرایند طراحی نرم افزار است و چارچوبی از یک سیستم نرم افزاری فراهم می کند که می تواند طیف گسترده ای از جزئیات مورد نیاز را انجام دهد.
بسیاری از تکنیک های موجود برای ساخت یک معماری نرم افزاری، به خوبی فرمالیزه نشده اند و معمولا بر اساس هیچگونه تئوری ریاضی نیستند. بنابراین، مسأله انتخاب و تحلیل معماری نرم افزار بر اساس ارزیابی کمّی، بسیار مهم است. به عبارت دیگر، داشتن یک روش فرمالیزه که بر اساس تئوری ریاضی است، و اجازه می دهد تا کاربر در هنگام انتخاب یک معماری نرم افزار و یا اجزای آن، تحلیل و تصمیم گیری کند می تواند مطلوب باشد.
برای کمک به معماران نرم افزار در تصمیم گیری در مورد معماری، چندین تکنیک ارائه شده است. چندین گروه از چنین تکنیک هایی وجود دارد که برخی از آنها بر روی تحلیل موازنه معماری، تحلیل مدل ارزیابی کیفیت، بهینه سازی عملکرد و برخی دیگر از تکنیک های معروف تمرکز دارند...