پایان نامه ارائه یک مدل قابل اجرا از معماری نرم افزار با هدف ارزیابی کارآیی

تعداد صفحات: 152 فرمت فایل: word کد فایل: 10001963
سال: 1384 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۲۱,۸۰۰ تومان
قیمت: ۱۹,۷۰۰ تومان
دانلود فایل
  • خلاصه
  • فهرست و منابع
  • خلاصه پایان نامه ارائه یک مدل قابل اجرا از معماری نرم افزار با هدف ارزیابی کارآیی

    برای دریافت درجه کارشناسی ارشد 

    در رشته مهندسی کامپیوتر- گرایش نرم افزار  

    چکیده 

    در فرآیند تولید نرم افزار، کیفیت معماری نرم افزار تاثیر بسزایی در دستیابی به نیازهای غیروظیفه مندی سیستم

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

    سیستمی با کیفیت پایین تولید می شود که منجر به هدر رفتن مقدار زیادی از منابع پروژه همچون هزینه و

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

    کرد و معماری آن را مورد ارزیابی قرار داد؟ یک راه حل برای این مسئله استفاده از مدل قابل اجراست. مدل

    قابل اجرا، یک توصیف شفاف و رسمی از معماری سیستم است که می توان از طریق آن و با استفاده از

    ابزارهای شبیه سازی، معماری را ارزیابی کرده و خصوصیات سیستم نهایی را پیش بینی کرد. 

    در این تحقیق با استفاده از توصیف نیمه رسمی مدل نمای ۱+۴ و تبدیل آن به شبکه های پتری رنگی یک مدل

    قابل اجرا از معماری ارائه می شود. هدف از ارائه مدل مذکور، ارزیابی صفت کیفی کارآیی معماری است. به

    منظور ارزیابی صفت کیفی کارآیی، شبکه پتری رنگی مذکور را در ابزار Design/CPN با استفاده از تکنیک

    شبیه سازی اجرا کرده و نتایج اجرا را برای پیش بینی متریکهای کارآیی مورد استفاده قرار می دهیم.

     

    کلمات کلیدی: مدل قابل اجرا از معماری، شبکه  های پتری رنگی، مدل نمای ۱+۴، صفات کیفی، تکنیک

    شبیه سازی 

    ۱

    فصل اول: مقدمه 

    در فرآیند تولید نرم افزار، بعد از انجام تحلیل نیازمندیها و ایجاد مستند مشخصات نیازمندی، انتخابهای ممکن

    برای معماری سیستم نرم افزاری ارائه می شود. فعالیتهای طراحی معماری، نقش مهمی در ایجاد ارتباط بین

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

    غیروظیفه مندی سیستم همچون کارآیی، مقاومت در برابر خطا و امنیت دارد. اگر معماری نهایی انتخاب شده،

    مناسب نیازمندیها نباشد، سیستمی با کیفیت پایین تولید می شود که منجر به هدر رفتن مقدار زیادی از منابع

    پروژه همچون هزینه و زمان خواهد شد. به منظور جلوگیری از هدررفتن هزینه و زمان که در نتیجه انتخاب

    نادرست معماری حاصل می شود، ارائه یک توصیف رسمی از معماری و ارزیابی آن در مراحل قبل از شروع

    پیاده سازی سیستم می تواند بسیار مفید واقع شود. 

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

    با توجه به نیازهای سیستم نرم افزاری مورد نظر، معماری مناسب را ازمیان معماریهای پیشنهادی انتخاب کرد؟

    چگونه می توان قبل از پیاده سازی یک معماری، بررسی کرد که معماری مورد نظر نیازهای غیروظیفه مندی

    سیستم را برآورده می کند؟ چگونه می توان رفتار یک سیستم نرم افزاری را قبل از پیاده سازی آن مورد بررسی

    قرار داد؟ آیا روشهای استانداردی به عنوان راه حل برای این سئوالات ارائه شده است؟ 

    یکی از اهداف مهمی که در بررسی کیفیت معماری دنبال می شود، بررسی میزان دستیابی معماری به صفات

    کیفی همچون کارآیی، امنیت و قابلیت اطمینان است. در اغلب سیستمهای نرم افزاری از روشهای موردی برای

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

     

     

    ۲

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

    مشخص شود که معماری انتخاب شده برای سیستم پاسخگوی نیازهای غیروظیفه مندی نیست و برای تغییر

    معماری سیستم نیاز به صرف هزینه وزمان زیادی خواهیم داشت. با توجه به این مسئله نیاز به روشهای

    جایگزینی برای ارزیابی صفات کیفی داریم که قابل اعمال در گامهای اولیه فرآیند تولید باشند. 

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

    باشند.

    ۱-۱. مدل قابل اجرا از معماری 

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

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

    معماری پیشنهادی تا چه اندازه نیازهای مورد انتظار از سیستم به ویژه نیازهای غیروظیفه مندی را برآورده

    می کند. یکی از کاربردهای مدل قابل اجرا در ادامه نشان داده شده است. 

    یک معمار ممکن است برای یک سیستم نرم افزاری، چندین معماری را پیشنهاد دهد. برای آنکه بتوان از میان

    این معماریها مناسب ترین معماری را برای سیستم نهایی انتخاب کرد باید به دنبال ابزار و روشی بود که نشان

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

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

    رسمی از معماری سیستم داشت. سپس می توان با استفاده از ابزار مناسب، رفتار سیستم نرم افزاری را مورد

    بررسی قرار داد. این موضوع در شکل ١-١ نشان داده شده است.  (تصاویر در فایل اصلی موجود است)

     در اجرای سیستم می توان هر یک از صفات کیفی نرم افزار که در انتخاب معماری مناسب، نقش ایفا می کنند

    را بررسی کرده و از میان معماریهای پیشنهادی، مناسب ترین را انتخاب نمود. شکل ۱-۲، نشان دهنده کاربرد

    مذکور است.  

     

    برای مشخص تر شدن کاربرد مدل قابل اجرا از معماری به یک مثال توجه کنید: 

    یک معمار در حال طراحی معماری یک سیستم مبتنی بر وب است. فرض کنید یکی از نیازهای

    غیروظیفه مندی این سیستم آن است که سیستم در کمتر از ۱۰ ثانیه بتواند به درخواست کاربر پاسخ دهد. با

    توجه به فرض مذکور معمار باید در معماری پیشنهادی خود صفت کیفی کارآیی را لحاظ کند. اما معمار

    چگونه می تواند اطمینان حاصل کند که معماری ارائه شده نیاز مذکور را برآورده می کند؟ یکی از راه حلها آن

    است که معمار با استفاده از یک مدل قابل اجرا و با استفاده از ابزارهای شبیه سازی، رفتار سیستم را

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

    مذکور را برآورده می کند یا خیر.  

    ١-٢. تحلیل کارآیی 

    معمولا در سیستمهای نرم افزاری تنها این موضوع کافی نیست که بدانیم سیستم از لحاظ وظیفه مندی به

    درستی عمل می کند؛ بلکه سیستم باید بتواند با توان عملیاتی بالا و در زمان کوتاه سرویس دهد. چنین

    مقوله هایی در محدوده  کارآیی سیستم قرار دارند. مطالعات مربوط به تحلیل کارآیی معمولا مربوط به ارزیابی

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

    سیستم است. سه تکنیک در تحلیل کارآیی یک سیستم استفاده می شود:  

    تکنیک اندازه گیری١

                                                     

     mesurement 1

    ۵

    مدلهای تحلیلی

    مدلهای شبیه سازی 

    ١-٣. محدوده تحقیق 

    در این تحقیق از مدل نمای ۱+۴ [4] به عنوان یک توصیف رسمی از معماری و برای ارزیابی این توصیف از

    شبکه های پتری رنگی٢ [51] به عنوان یک مدل قابل اجرا از معماری استفاده شده است. مدل نمای ۱+۴ یک

    توصیف رسمی از معماریهای نرم افزاری است که توسط Krutchen  ارائه شده است. شبکه های پتری رنگی

    نیز ابزاری برای مدل کردن رفتار سیستمهای گسسته هستند.  

    تمرکز روش ارائه شده در این تحقیق بر روی صفت کیفی کارآیی است. برای ارزیابی کارآیی سیستمهای

    نرم افزاری روشهای مختلفی ارائه شده اند. یکی از بارزترین نکاتی که در روش ارائه شده در این تحقیق وجود

    دارد، مبتنی بودن روش بر معماری سیستم نرم افزاری و قابل اعمال بودن روش در مراحل آغازین فرآیند تولید

    نرم افزار است. اغلب روشهای ارائه شده در زمینه ارزیابی کارآیی مبتنی بر معماری نیستند. همچنین به دلیل

    استفاده از مدلهای تحلیلی پیچیده در سایر روشها، روشهای مذکور قابل استفاده در سیستمهای با مقیاس بزرگ

    نمی باشند. در حالیکه در فرآیند ارائه شده در این تحقیق با استفاده از تکنیک شبیه سازی، روش قابل اعمال بر

    روی سیستمهای با مقیاس بزرگ است. 

                                                    

     2 Coloured Petri Net

    ۶

    ١-٤. ساختار پایان نامه 

    ساختار ادامه پایان نامه به شرح زیر است: 

    فصل دوم: در این فصل به بررسی مفاهیم مرتبط با ارزیابی معماری نرم افزار می پردازیم. از آنجائیکه

    یکی از اهداف مهم ارزیابی معماریهای نرم افزار، ارزیابی صفات کیفی است در فصل دوم مروری بر

    صفات کیفی نرم افزار خواهیم داشت. در ادامه این فصل روشهای متداول ارزیابی صفت کیفی کارآیی

    ارائه شده است. در ادامه مروری بر مدل نمای معماری ١+٤ به عنوان یک توصیف رسمی از معماری

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

    فصل سوم: در این فصل به بررسی ارزیابی صفات کیفی با استفاده از شبکه های پتری رنگی و معرفی

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

    فصل چهارم: در این فصل یک فرآیند ساخت یافته برای ارزیابی صفات کیفی ارائه شده است. در

    فرآیند مذکور از مدل نمای ١+٤ به عنوان یک توصیف رسمی از معماری و از شبکه های پتری رنگی

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

    برای ارزیابی صفت کیفی کارآیی نشان داده شده است.

    فصل پنجم: در این فصل متریکهای کارآیی یک سیستم موردی با استفاده از فرآیند مطرح شده در

    فصل چهارم مورد ارزیابی قرار گرفته است.

    فصل ششم: در این فصل به بررسی نتایج حاصل از تحقیق و مقایسه روش ارائه شده با سایر روشها

    پرداخته شده است. 

    فصل دوم: مفاهیم مرتبط با ارزیابی معماری نرم افزار 

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

    گرفته اند خواهیم داشت. 

    از آنجائیکه یکی از اهداف مهم ارزیابی معماری نرم افزار، ارزیابی صفات کیفی است، قبل از هر چیز در این

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

    صفت کیفی کارآیی در میان سایر صفات کیفی مشخص شد؛ به بررسی روشهای متداول در ارزیابی صفت

    کیفی کارآیی در سیستمهای نرم افزاری می پردازیم. از آنجائیکه در تحقیق از مدل نمای ۱+۴ به عنوان یک

    توصیف رسمی و از شبکه های پتری رنگی به عنوان یک مدل قابل اجرا از معماری استفاده شده است؛ در

    ادامه مروری  بر مفاهیم مدل نمای ۱+۴ و شبکه های پتری رنگی خواهیم داشت. 

      Abstract

    In a software development process, the quality of an architectural design of a software system has a great influence on achieving non-functional requirements to the system such as performance, fault tolerant, and security. If presented architecture was not appropriate for the requirements, the system of low quality would be produced and it would lead to wasting huge amount of project resources such as cost and time. But how can predict behavior of final system, before system architecture implementation and evaluate its architecture. Executable model is a clear and formal description for system that we can evaluate software architecture through it and simulation tools and predicate final system properties. 

    In this research, using 4+1 view model description and converting it to CPN, an executable model of software architecture is presented. The goal of presentation of above model is software architecture performance evaluation. For evaluating this, we run CPN using simulation technique in Design/CPN tool and will apply the result for predicting performance metrics. 

     

    Keywords: Executable model of software architecture, Coloured Petri Net, 4+1 view model, Simulation technique

  • فهرست و منابع پایان نامه ارائه یک مدل قابل اجرا از معماری نرم افزار با هدف ارزیابی کارآیی

    فهرست:

    ندارد.
     

    منبع:

    L. Bass, P. Clements, and R. Kazman, “Software Architecture In Practice”, second edition, Addison Wesely, April 2003

     

    L. Wells, “Performance Analysis using Coloured Petri Nets”, PhD Dissertation,

    Department of Computer Science, University of Aarhus, 2002

     

    K. Fukuzawa, and M. Saeki, “Evaluating Software Architecture by Coloured Petri Nets”, Proceedings of the 14th international conference on Software engineering and knowledge engineering, 2002

     

    P. Kruchten, “Architectural Blueprints—The “4+1” View Model of Software Architecture”, Rational Software Corp.

     

    S. Kounev, and A. Buchmann, “Performance Modelling of Distributed E-Business Applications using Queueing  Petri Nets”, Proc. of the 2003 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS'03), March 2003

     

    S. Kounev, and A. Buchmann, “Performance Modeling and Evaluation of LargeScale J2EE Applications”, Proc. of the 29th International Conference of the Computer Measurement Group (CMG) on Resource Management and Performance Evaluation of Enterprise Computing Systems - CMG2003, December 2003

     

    LG. Williams, “Performance Evaluation of Software Architectures”, Software

    Engineering Research

     

    L. Bass, P. Clements and Rick Kazman, “Software Architecture In Practice”, Addison Wesely, 1998

     

    E. Eskenazi, A. Fioukov, and DK. Hammer, “Performance Prediction for Software

    Architectures”, Proceedings of the 3rd PROGRESS workshop on embedded systems

     

    L. Wells, S. Christensen, LM. Kristensen, and KH. Mortensen, “Simulation Based Performance Analysis of Web Servers”, Proceedings of the 9th International Workshop on Petri Nets and Performance Models, 2001  

     

    Marsan et all, “Petri Nets in Performance Analysis”, 1999

     

    Z. Hu, and SM. Shatz, “Mapping UML Diagrams to a Petri Net Notation for System Simulation” 

     

    “Design/CPN Reference Manual for X-Windows”, Meta Software Corporation, 1993 

     

    B. Lindstrøm, and L Wells, “Design/CPN Performance Tool Manual”, 1999 

     

    LM. Kristensen, S. Christensen, and Kurt Jensen, “The practitioner's guide to colouredPetri nets”

     

    AV. Ratzer, L. Wells, HM. Lassen, M. Laursen, JF. Qvortrup, MS. Stissing, M. Westergaard, S. Christensen, and K. Jensen, “CPN Tools for Editing, Simulating, and Analysing Coloured Petri Nets”

     

    N. Medvidovic, and RN. Taylor, “A Classification and Comparison Framework for Software Architecture Description Languages”, IEEE Transactions on Software Engineering, 2000  

     

    V. Firus, and S. Becker, “Towards Performance Evaluation of Component Based Software Architectures”, Proceedings of Formal Foundation of Embedded Software, 2004 

     

    K. Richter, and R. Ernst, “A Formal Approach to Performance Verification of

    Heterogeneous Architectures”, In Proc. Embedded World Conference, February 2004

     

    M. Larsson, “Predicting Quality Attributes in Component-based Software Systems”, PhD Thesis, March 2004 

     

    AA. Bhat, “Stochastic Petri Net Models of Service Availability in a PBNM System for Mobile Ad Hoc Networks”, Master Thesis, 2004 

     

    S. Bernardi, “Building Stochastic Petri Net models for the verification of complex software systems”, PhD thesis, April 2003 

     

    S. Christensen, LM. Kristensen, KH. Mortensen, and JS. Thomasen, “Capacity Planning of Web Servers using Timed Hierarchical Coloured Petri Nets”, HP-CPN Centre, Department of Computer Science, University of Aarhus, 

     

    S. Balsamo, and M. Marzolla, “A Simulation Based Approach to Software Performance Modeling”, Proceedings of the 9th European software engineering conference 

ثبت سفارش
عنوان محصول
قیمت