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

تعداد صفحات: 125 فرمت فایل: word کد فایل: 10001944
سال: 1386 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۱۹,۱۰۰ تومان
قیمت: ۱۷,۰۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه پایان نامه کاربرد هستان شناسی در پشتیبانی از تحلیل و ارزیابی معماری نرم افزار

    پایان نامه کارشناسی ارشد مهندسی کامپیوتر 

    گرایش نرم افزار

    چکیده 

    معماری نرم افزار نقش مهمی در چرخه حیات نرم افزار دارد بنابراین باید بتوان به شیوه ای کارا و مؤثر به ارزیابی آنپرداخت. ویژگی های کیفی، ریسک ها و غیرریسک ها، تصمیمات معماری یا    تاکتیکها از جمله عناصری هستند که در زمان تحلیل و ارزیابی معماری نرم افزار باید به آنها توجه داشت. ارزیابی معماری  نرمافزار شامل ارزیابی گزینه های  مختلفتصمیمات معماری، و نیز امکان ترکیب آنها در جهت دستیابی به ویژگی های کیفی مورد نظر است. درمعماریهای پیچیده  معمولاً تلاش می شود که با استفاده از سبکهای متفاوت معماری، که حاصل بهترین تجربیات هستند، به این ویژگی ها دست یافت. در اغلب روشهای ارزیابی معماری مبتنی بر سناریو مانند روش تحلیل معماری مبتنی بر مصالحه، به چگونگی انجام تحلیل تصمیمات معماری و امکان ترکیب آنها جهت دستیابی به ویژگیهای کیفی توجه نشده است و تنها ب ر شرحمراحل و توالی انجام گامها و ورودی ها و خروجیها، تأکید شده است.  

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

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

     VII

                                                   1     تعریف صورت مسأله

    1- 1 مقدمه 

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

    باید بتوان به شیوه ای مؤثر در مرحله تولید معماری، تضاد میان  نیازمندیها را تعیین نموده و توصیفات[1] ناکامل درطراحی از دید ذینفعان مختلف پروژه را به صورتی دقیق مشخص نمود. روش های مختلفی برای تحلیل و ارزیابی معمارینرم افزار وجود دارند که از لحاظ اهداف صریح و ویژگی      های کیفی مورد نظر، تکنیک ها و فعالیت ها، و درجه درگیریهدف از ارزیابی معماری نرم افزار یک سیستم پیش بینی کیفیت سیستم پیش از ساخت آن و شناسایی ریسک هایبالقوه و بازبینی برآورده شدن نیازمندی های کیفی در طراحی های صورت گرفته می باشد. همانگونه که در [٣] گفته شدهاست، معماری نرم افزار مجموعه ای است از نه دسته مفهوم متفاوت که همگی در راستای برقراری اهداف سیستم  نرم افزاری  ایجاد می شوند. این مجموعه و زیرمجموعه های تشکیل دهنده آن را می توانید در شکل 1-1، ملاحظه نمایید. بنابراینویژگی های کیفی ریسک ها و غیرریسک ها، تصمیمات معماری یا تاکتیک ها و غیره از جمله عناصری هستند که در زمانتحلیل و ارزیابی معماری نرم افزار باید به آنها توجه داشت. میزان دقت نتایج بدست آمده از روش های ارزیابی معماریمبتنی بر سناریو تا اندازه زیادی به کیفیت سناریوهای به کاربرده شده در ارزیابی معماری نرم افزاری وابسته است چرا که این روشها همگی مبتنی بر سناریو هستند.  

    Abstract

    Software architecture evaluation has a crucial role in the life cycle of software intensive systems. So, it is important to evaluate it, effectively. It is important to consider quality attributes, risks, non-risks, architectural decisions or tactics, etc, at the time of the evaluation. Software architecture evaluation consists of evaluating architectural decisions alternatives as well as the possibility of their combinations in order to reach to the desired quality attributes. In complex architectures, the desired quality attributes are often achieved by exploiting architectural styles.  In the most scenario based architecture evaluation methods like Architecture Tradeoff Analysis Method (ATAM), the analysis technique of architectural decisions recognizing the possibility of their combinations is not determined. These methods concentrate on the descriptions of the steps and the inputs and outputs.

    In this thesis, we propose a new approach to support the process of architecture evaluation. We believe that our approach clarifies the analysis technique used at the evaluation time. This clarification is done by taking invaluable practices knowledge sharing and reusability in to consideration. For this reason, we propose two ontologies based on Attribute-Based Architectural Styles (ABAS) and architectural decisions. We show the effectiveness of the proposed approach in different situations through three case studies.

    Keywords: Software Architecture, Architecture Evaluation, Ontology, Quality Attributes, Architectural Decisions, Architectural Styles. 

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

    فهرست:

    تعریف صورت مسأله........................................................................................................................................................................  8 

    مقدمه  ..............................................................................................................................................................................  2 

    طرح مسأله  .....................................................................................................................................................................  3 

    اهداف تحقیق  ................................................................................................................................................................  4 

    محدوده تحقیق  .............................................................................................................................................................  5 

    مراحل انجام تحقیق  .....................................................................................................................................................  6 

    ساختار پایاننامه  ...........................................................................................................................................................  7 

    مفاهیم پایه  .......................................................................................................................................................................................  8 

    معماری نرمافزار  ............................................................................................................................................................  9 

    ارزیابی معماری نرمافزار ...........................................................................................................................................  14 

    اهمیت تصمیمات معماری در ارزیابی معماری  ....................................................................................................  16 

    سبکهای معماری مبتنی بر ویژگی  ......................................................................................................................  18 

    وب معنایی و هستانشناسی  ...................................................................................................................................  20 

    زبانهای وب معنایی  .................................................................................................................................................  23 

      24  ............................................................................................................................RDFS و RDF زبان      1-6-2

                2-6-2  زبان OWL  ..............................................................................................................................................  26 

                2-6-3     مقایسه زبان OWL با زبانهای شئگرا  .............................................................................................  28 

          2-7  کاربرد هستانشناسی و وبمعنایی در مهندسی نرمافزار ..................................................................................  31 

          2-8  جمعبندی مطالب فصل  ............................................................................................................................................  33 

    بررسی و مقایسه روشهای ارزیابی معماری نرمافزار  .............................................................................................................  35 

    مقدمه  ...........................................................................................................................................................................  36 

    روش تحلیل معماری مبتنی بر سناریو .................................................................................................................  38 

    روش تحلیل معماری مبتنی بر مصالحه ...............................................................................................................  41 

    روش ارزیابی بازبینیهای فعال برای طراحی میانی  ............................................................................................  44 

    روش ارزیابی تحلیل تغییرپذیری در سطح معماری  ...........................................................................................  46 

    روش تحلیل معماری مبتنی بر سناریو برای سناریوهای پیچیده  ....................................................................  49 

    مقایسه روشهای گوناگون ارزیابی معماری  .........................................................................................................  50 

    جمعبندی مطالب فصل  ............................................................................................................................................  57 

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

    مقدمه  ...........................................................................................................................................................................  60 

    هستانشناسیهای پیشنهادی ................................................................................................................................  62 

    جمعبندی مطالب فصل  ............................................................................................................................................  69 

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

    مقدمه  ...........................................................................................................................................................................  71 

    مطالعه موردی اول  ....................................................................................................................................................  71 

                5-2-1  فاز نخست  ..................................................................................................................................................  72 

    مطالعه موردی دوم  ....................................................................................................................................................  76 

    مطالعه موردی سوم  ...................................................................................................................................................  79 

    جمعبندی مطالب فصل  ............................................................................................................................................  79 

    خلاصه و نتیجهگیری  ...................................................................................................................................................................  81 

    خلاصه تحقیق  ............................................................................................................................................................  82 

    مرور دستاورد تحقیق  ................................................................................................................................................  84 

    مقایسه با سایر روشها  .............................................................................................................................................  85 

    نقایص کار  ...................................................................................................................................................................  86 

    زمینههای آتی تحقیق ..............................................................................................................................................  86 

    پیوست یک: شناخت ابزار پروتژ  ........................................................................................................................................................  88  مقدمه  ..............................................................................................................................................................................................  89  معرفی پروتژ  ...................................................................................................................................................................................  92  معماری ملحق OWL  ................................................................................................................................................................  95  ایجاد کلاسها ...............................................................................................................................................................................  97  ایجاد ویژگیها  ...............................................................................................................................................................................  98  ویرایش عبارات زبان OWL .....................................................................................................................................................  99  استدلال براساس منطق توصیفی ..............................................................................................................................................  99  آزمون هستانشناسی  ................................................................................................................................................................  101  مشاهده هستانشناسی به صورت گرافیکی  ..........................................................................................................................  104  ایجاد نمونهها  ..............................................................................................................................................................................  105 

    پرسوجو در هستانشناسی  .....................................................................................................................................................  106  مراجع  ..................................................................................................................................................................................................  108  

    منبع:

    .1 Clements P., et al., Documenting Software Architectures, Addison-Wesley, 2001.

    .2 Bass Len, Clements Paul, Kazman Rick, Software Architecture in Practice,

    Addison-Wesley, 2003.

    .3 Babu, T., L., Seetha Ramaiah, M., Prabhakar, T. V., and Rambabu, D., "ArchVoc-Towards an Ontology for Software Architecture", In Proceedings of the Second Workshop on Sharing and Reusing Architectural Knowledge Architecture, Rationale, and Design intent, International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 5, 2007. 

    .4 Babar, M. A., Zhu, L., and Jeffery, R., "A Framework for Classifying and Comparing Software Architecture Evaluation Methods", In Proceedings of the 2004 Australian Software Engineering Conference (Aswec'04), IEEE Computer Society, Washington, DC, 309, 2004.

    .5 Aurum, A., Jeffery, R., Wohlin, C., and Hanzic, M., Managing Software Engineering Knowledge, Springer-Verlag New York, Inc., 2003.

    .6 Wasserman, A., I., "Toward a Decisipline of Software Engineering", IEEE Software, Vol. 13, No. 6, pp. 23-31, Nov 1996.

    .7 Dobrica, L., and Niemelä, E.,"A survey on software architecture analysis methods", IEEE Transactions on Software Engineering 28, 7, 638-653, Jul. 2002.

    .8 Zhu L., Babar M.A., Jeffery R., "Mining Patterns to Support Software Architecture Evaluation", Proceedings of the Forth Working IEEE/IFIP Conference on Software Architecture (WICSA'04), IEEE, 25, 2004.

    .9 Garlan, D., Perry, D., E., Guest editorial to the IEEE Transactions on Software

    Engineering, April 1995.

    .01 Shaw, M., and Garlan, D., Software Architecture: Perspectives on an Emerging

    Discipline, Upper Saddle River, NJ: Prentice Hall, 1996.

    .11 Clements P., Kazman R., Klein M., Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley, 2002.

    .21 Mattsson, M., Grahn, H., Martensson, F., "Software Architecture Evaluation Methods for Performance, Maintainability, Testability, and Portability", Proceedings of Second International Conference on the Quality of Software Architectures (QoSA 2006), Vasteras, Sweden, 36, 2006.

    .31 Tyree, J. and Akerman, A., "Architecture Decisions: Demystifying Architecture", IEEE Software, 19-27, Mar. 2005.

    .41 Krutchen, P., "An Ontology of Architectural Design Decisions in Software Intensive systems," In 2nd Croningen Workshop on Software Variability, Rijksuniversiteit Groningen, pp. 54–61, 2004.

    .51 Jansen, A., and Bosch, J., "Software Architecture as a Set of Architectural Design Decisions", In Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture (Wicsa'05) - Volume 00, IEEE Computer Society, Washington, DC, 109-120, 2005.

    .61 Akerman, A., and Tyree, J., "Using ontology to support development of software architectures", IBM System Journal, 45, 4, 813-825, 2006.

    .71 Maedche, A., Ontology Learning for the Semantic Web, Springer, 2002.

    .81 Daconta, M., C., Smith, K., T., and Obrst, L., J., The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management, John Wiley & Sons,

    Inc., New York NY, USA, 2003.

    .91 Guarino, N., Formal Ontology in Information Systems, proceedings of the First International Conference (FOIS '98), Trent, Italy, IOS Press, 1998.

    .02 Gomez-Prez, A., Fernandez-Lopez, M., amd Corcho, O., Ontological Engineering: with examples from the areas of Knowledge management, e-Commerce and Semantic Web, Springer, 2003.

    .12 Coral, C., Francisco, R., and Mario, P. Ontologies for Software Engineering and Software Technology. Springer-Verlag, 2006.

    .22 Gasevic, D., Djuric, D., Devedzic, V., and Selic, B. Model Driven Architecture and Ontology Development. Springer-Verlag New York, Inc., 2006.

    .32 Tetlow, P., Pan, J., Z., Oberle, D., Wallace, E., Uschold, M., Kendall, E., Ontology Driven Architectures and Potential Uses of the Semantic Web in Systems and Software Engineering, W3C(MIT, ERCIM, Keio), 2006.

    .42 Dean, M., Schreiber, G., OWL Web Ontology Language Reference, W3C Working

    Draft, 2003, Available: http://www.w3.org/TR/owl-ref/

    .52 Berners-Lee, T., Hendler, J., and Lassila, O., The Semantic Web, Scientific American, May 7, 2001, Available: http://www.ryerson.ca/~dgrimsha/courses/cps720_02/resources/Scientific%20Amer ican%20The%20Semantic%20Web.htm

    .62 Knublauch, H., Oberle, D., Tetlow, P., and Wallace, E., A Semantic Web Primer for Object-Oriented Software Developers, W3C, 2006. Available: http://www.w3.org/TR/sw-oosd-primer/

    .72 Happel, H., J., Korthaus, A., and Seedor, S., "An Ontology-enabled Approach to Software Reuse", Proceeding of the 18'th International Conference on Software Engineering and Knowledge Engineering (SEKE), San Francisco, pp. 349-354, 2006.

    .82 Lassila, O., Swick, R., Resource Description Framework (RDF) Model and Syntax Specification. W3C Recommendation. Available: http://www.w3.org/TR/REC-rdfsyntax/

    .92 Parnas D., "On the Criteria to be Used in Decomposing Systems into Modules", Comm.ACM, vol. 15, no. 12, pp. 1053-1058, 1972.

    .03 Stevense W.P., Meyers G.J., Constantine L.L., Structured design, IBM Systems

    Journal., vol. 13, no. 2, pp. 115-139, 1974.

    .13 Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns-Elements of Reusable Object-Oriented Software. Reading, Mass: Addison-Wesley, 1995.

    .23 Buschmann F., Meunier R., Dommerland P., Stal M., Pattern-oriented Software Architectures, a System of Patterns, Chichester: Wiley & Sons, 1996.

    .33 Bosch J., Molin P., "Software Architecture Design: Evaluation and Transformation", Proc. IEEE Eng. of Computer Based Systems Symp. (ECBS'99), Dec. 1999.

    .43 Briand L.C., Morasca S., Basili V.R., "Measuring and Assessing Maintainability at the End of High Level Design", Proc. IEEE Conf. Software Maintenance, pp. 88 – 97, 1993.

    .53 Kazman R., Abowd G., Bass L., Webb M., Analyzing the Properties of User Interface Software Architectures, Technical Report, CMU-CS-93-201, Carnegie

    Mellon University, School of Computer Science, 1993.

    .63 Reusner, R., Schmidt, H.W., and Poernomo, I., H., "Reliability prediction for component-based software architectures," Journal of Systems and Software, 66(3):241-252, 2003.

    .73 Barber, K., S., Graser, T., and Holt, J., "Enabling interative software architecture derivation using early non-functional property evaluation," Proc. 17th IEEE International Conference on Automated Software Engineering, pp. 23-27, 2002.

    .83 Petriu, D., Shousha, C., and Jalnapukar, A., "Architecture-Based Performance Analysis Applied to a Telecommunication System," IEEE Transactions on Software Engineering, 26(11):1049-1065, November 2000.

    .93 Smith, C., and Williams, L., Performance Solutions, Addison-Wesley, 2002.

    .04 Wang, J., He, X., and Deng, Y., "Introducing Software Architecture Specification and Analysis in SAM Through an Example," Information and Software Technology, 41(7):451-467, May 1999.

    .14 Williams, L., G., and Smith, C., U., "Performance Evaluation of software Architectures," Proc. 1st International Workshop on Software and Performance, pp.

    164-177, 1998.

    .24 Pressman, R., S., Software Engineering: a practitioner's approach (Fifth Edition),

    Part five, Advanced Topics in Software Engineering, McGraw Hill, 2001.

    .34 Kazman R., Bass L., Abowd G., Webb M., "SAAM: A Method for Analyzing the Properties of Software Architectures", Proceedings of the 16th International Conference on Software Engineering, pp. 81-90, 1994.

    .44 Kazman R., Klein M., Barbacci M., Lipson H., Longstaff T., Carrier S.J., "The Architecture Tradeoff Analysis Method", Proc Fourth Int'l Conf. Eng. of Complex Computer Systems (ICECCS'98), pp. 68-78, Aug. 1998.

    .54 Clements P.C., Active Reviews for Intermediate Designs, SEI, Carnegie Mellon

    University CMU/SEI-2000-TN-009, 2000.

    .64 Bengtsson P., Lassing N., Bosch J., "Architectural-Level Modifiability Analysis", Journal of Systems and Software, vol. 69, 129–147, 2004.

    .74 Bengtsson P., Bosch J., "Architectural Level Prediction of Software Maintenance", Proceedings of 3rd European Conference on Software Engineering Maintenance and Reengineering, 139, 1999.

    .84 Lassing N., Rijesenbrij D., Vliet H.V., "On Software Architecture Analysis of Flexibility, Complexity of Changes: Size isn't Everything", Proceedings of 2nd Nordic Software Architecture Workshop, 1999. 

    .94 Kazman R., Abwod G., Bass L., Clements P., "Scenario-Based Analysis of Software Architecture", IEEE Software, pp. 47-55, Nov. 1996.

    .05 Kazman R., Klein M., Barbacci M., Longstaff T., Lipson H., Carriere J., The Architecture Tradeoff Analysis Method, Proceedings of IEEE, ICECCS, 1998.

    .15 Zhu L., Babar M.A., Jeffery R., "Distilling Scenarios from Patterns for Software Architecture Evaluation", First European Workshop on Software Architecture,

    Springer, vol 3047/2004, 225-229, 2004.

    .25 Zhu, H., Software Design Methodology - From Principles to Architectural Styles, Elsevier Science and Technology, Elsevier Science, 2005.

    .35 Klein, M., H., Kazman, R., Bass, L., Carriere, J., Barbacci, M., Lipson, H., "Attribute-Based Architecture Styles", Software Architecture, Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), 225-244, 1999.

    .45 Schmidt, Douglas, M. Stal, H. Rohnert and F. Buschmann, Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. Wiley, 2000.

    .55 Bass L., Bachmann F., and Klein M., Deriving Architectural Tactics-A Step Toward methodical Architectural Design, Software Engineering Institute, Carnegie

    Mellon University CMU/SEI-2003-TR-004, 2003.

    .65 Protégé swrljesstab, September 2007. Available: http://protege.cim3.net/cgibin/wiki.pl?SWRLJessTab.

    .75 Babar, M., A., Kitchenham, B., Zhu, L., Gorton, I., and Jeffery, R., "An empirical study of of groupware support for distributed software architecture evaluation process". J. Syst. Softw. 79, 7, 912-925, Jul. 2006.

    .85 Protégé, 2008, Available: http://protege.stanford.edu/.

    .95 IEEE Recomended Practice for Architectural Description of Software-Intensive

    Systems, IEEE STD 1471, 2000.

    .06 RacerPro, 2008, Available: http://www.racer-systems.com/.

      

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