فهرست و منابع پایان نامه یک روش برای طراحی معماری نرم افزار مبتنی بر سبک
فهرست:
چکیده ......................................................................................................................................................................۱ فصل اول – مقدمه
۱-۱- مقدمه .......................................................................................................................................................۴
۱-۲- تعریف مساله ...........................................................................................................................................۵
۱-۳- سابقه تحقیق ...........................................................................................................................................۷
۱-۴- دامنه مساله .............................................................................................................................................۸
۱-۵- معماری نرم افزار و طراحی معماری نرم افزار مبتنی بر سبک....................................................۹
۱-۶- ساختار پایان نامه ...................................................................................................................................۱۱ فصل دوم – آشنایی با ادبیات موضوع
۲-۱- علل نیاز به معماری نرم افزار................................................................................................................۱۳
۲-۲- نیازهای سیستم نرم افزاری ..................................................................................................................۱۴
۲-۳- سبک های معماری نرم افزار................................................................................................................۱۶
۲-۴- معماری , طراحی معماری و سبک معماری ......................................................................................۱۶
۲-۵- معماری نرم افزار.....................................................................................................................................۱۷
۲-۵-۱- تعاریف معماری نرم افزار ..............................................................................................................۱۸
۲-۶- اهمیت معماری نرم افزار.......................................................................................................................۱۹
۲-۷- اجزا معماری نرم افزار............................................................................................................................۱۹
۲-۷-۱- مولفه ها...........................................................................................................................................۲۰
۲-۷-۲- رابطها...............................................................................................................................................۲۰
۲-۷-۳- واسطها ............................................................................................................................................۲۰
۲-۷-۴- پیکربندی ها..................................................................................................................................۲۱
۲-۸- تصمیم های معماری .............................................................................................................................۲۱
۲-۹- وظیفه مندی و ویژگی های کیفی و ارتباط آنها با معماری ..........................................................۲۲
۲-۹-۱- معماری و وظیفه مندی ..............................................................................................................۲۲
۲-۹-۲- معماری و ویژگی های کیفی .....................................................................................................۲۳
۲-۹-۳- سناریوهای ویژگی کیفی .............................................................................................................۲۵
الف
۲-۱۰- تاکتیک....................................................................................................................................................۲۷
۲-۱۱- پیشرانهای معماری ................................................................................................................................۲۹
۲-۱۲- سبکهای معماری ...................................................................................................................................۳۰
۲-۱۲-۱- ساختار سبک..........................................................................................................................۳۰
۲-۱۲-۲- طبقه بندی سبکهای معماری ..............................................................................................۳۱
۲-۱۲-۳- ابعاد تشکیل دهنده سبک....................................................................................................۳۲
۲-۱۳- طراحی معماری نرم افزار......................................................................................................................۳۳
۲-۱۴- ارتباط بین مفاهیم در روش طراحی معماری نرم افزار مبتنی بر سبک................................۳۴
۲-۱۵- خلاصه .......................................................................................................................................................۳۵
فصل سوم –بررسی روشهای طراحی معماری نرم افزار
۳-۱- مقدمه ........................................................................................................................................................۳۷
۳-۲- روش طراحی ویژگی گرا........................................................................................................................۳۸
۳-۲-۱- ورودی های روش طراحی ویژگی گرا................................................................................۳۹
۳-۲-۲- خروجی های روش طراحی ویژگی گرا..............................................................................۴۰
۳-۲-۳- اطمینان از اینکه اطلاعات نیازها کافی است ....................................................................۴۱
۳-۲-۴- انتخاب یک عنصر از سیستم برای تجزیه ..........................................................................۴۱
۳-۲-۵- تعیین پیشرانهای معماری کاندید.......................................................................................۴۱
۳-۲-۶- انتخاب یک مفهوم طراحی برای تضمین پیشرانهای معماری .....................................۴۲
۳-۲-۷- نمونه سازی عناصر معماری و تخصیص مسئولیت ..........................................................۴۲
۳-۲-۸- تعریف واسطهایی برای عناصر نمونه سازی شده .............................................................۴۳
۳-۲-۹- بازبینی نیازها و اعمال آنها به عنوان محدودیتهایی برای عناصر معماری نمونه سازی
شده ...........................................................................................................................................۴۳
۳-۲-۱۰- تکرار مراحل ۲ تا ۷ برای عنصر بعدی سیستم ................................................................۴۳
۳-۳- طراحی مبتنی بر وظیفه مندی ...........................................................................................................۴۴
۳-۳-۱- مرحله ۱ : طراحی معماری مبتنی بر وظیفه مندی ........................................................۴۵
۳-۳-۲- مرحله ۲ : ارزیابی معماری ..................................................................................................۴۶
۳-۳-۳- مرحله ۳ : تغییر معماری .....................................................................................................۴۷
ب
۳-۴- معیارهای موردانتظار از یک راه حل ...................................................................................................۴۸
۳-۵- بررسی روشهای طراحی معماری نرم افزار........................................................................................۵۰
۳-۵-۱- قابلیت یکپارچگی ...................................................................................................................۵۰
۳-۵-۲- رعایت تجرید مناسب در طراحی معماری .........................................................................۵۱
۳-۵-۳- هزینه پایین اعمال تغییرات .................................................................................................۵۱
۳-۵-۴- قابلیت فهم و درک آسان معماری ......................................................................................۵۲
۳-۶- علل نیاز به به یک روش طراحی جدید ..........................................................................................۵۳
۳-۷- خلاصه .....................................................................................................................................................۵۴
فصل چهارم – طراحی معماری نرم افزار مبتنی بر سبک
۴-۱- مقدمه ........................................................................................................................................................۵۶
۴-۲- دامنه روش طراحی معماری نرم افزار مبتنی بر سبک.................................................................۵۷
۴-۲-۱- چارچوب تصمیم های معماری در SBSAD ..............................................................۵۸
۴-۲-۱-۱- تصمیم های فرامعماری SBSAD ..........................................................۵۹
۴-۲-۱-۲- تصمیم های معماری SBSAD ...............................................................۶۰
۴-۲-۱-۳- سیاست ها و راهنماییها...............................................................................۶۱
۴-۲-۲- ساختار سلسله مراتبی .........................................................................................................۶۱
۴-۳- اصطلاحات و مفاهیم ..............................................................................................................................۶۲
۴-۳-۱ سبک معماری ........................................................................................................................۶۲
۴-۳-۲ نیازهای تجریدی و عینی ....................................................................................................۶۳
۴-۳-۳ پیشرانهای معماری .............................................................................................................۶۴
۴-۳-۴ نوع مولفه ها در SBSAD ................................................................................................۶۶
۴-۳-۵ نوع رابطها در SBSAD ....................................................................................................۶۷
۴-۳-۶ رفتار بازگشتی در تجزیه سیستم با روش SBSAD ..................................................۶۹
ج
۴-۴ فرآیند طراحی معماری نرم افزار مبتنی بر سبک.........................................................................۷۰
۴-۴-۱- ورودی های روش SBSAD ............................................................................................۷۲
۴-۴-۱-۱- نیازهای وظیفه مندی تجریدی و عینی ...................................................۷۲
۴-۴-۱-۲- نیازهای ویژگی های کیفی تجرید و عینی ..............................................۷۴
۴-۴-۱-۳- نیازهای حرفه .................................................................................................۷۵
۴-۴-۱-۴- محدودیتهای معماری ...................................................................................۷۵
۴-۴-۱-۵- محدودیتهای طراحی ....................................................................................۷۵
۴-۴-۱-۶- انتخاب های معماری ....................................................................................۷۶
۴-۴-۲- خروجی های روش SBSAD ..........................................................................................۷۷
۴-۴-۳- مراحل فرآیند SBSAD ................................................................................................۷۸
۴-۴-۳-۱- انتخاب یک عنصر از سیستم برای تجزیه ...............................................۷۹
روش پیمایش درخت تجزیه .....................................................۷۹
نیازها و مسئولیتها ....................................................................۸۱
۴-۴-۳-۲- انتخاب پیشرانهای معماری .........................................................................۸۳
۴-۴-۳-۳- اجرای تجزیه براساس پیشرانهای معماری ...............................................۸۲
تجزیه مبتنی بر سبک.................................................................۸۹
بازبینی محدودیت ها..................................................................۹۶
تغییر سبکهای انتخاب شده ......................................................۹۶
۴-۴-۳-۴- تجزیه وظیفه مندی ......................................................................................۹۸
۴-۴-۳-۵- تخصیص وظیفه مندی به سبک معماری .............................................۱۰۰
ارزیابی وظیفه مندی .................................................................................۱۰۰
مستندسازی طراحی معماری .................................................................۱۰۱
تکرارهای بعدی ........................................................................................۱۰۱
۴-۵ خلاصه ....................................................................................................................................................۱۰۲ فصل پنجم – مطالعه موردی
۵-۱ مقدمه .....................................................................................................................................................۱۰۴
۵-۲ مطالعه موردی ۱: سیستم آلبوم عکس در اینترنت ........................................................................۱۰۴
۵-۲-۱-وظیفه مندی کلیدی سیستم .......................................................................................................۱۰۴
د
۵-۲-۲- ویژگی های کیفی کلیدی سیستم ..........................................................................................۱۰۵
۵-۲-۳-نیازهای وظیفه مندی تجرید........................................................................................................۱۰۶
۵-۲-۴-نیازهای ویژگی کیفی تجرید........................................................................................................۱۰۷
۵-۲-۵-محدودیت های معماری ................................................................................................................۱۰۸
۵-۲-۶- محدودیت های طراحی .................................................................................................................۱۰۸
۵-۲-۷-انتخاب های معماری .....................................................................................................................۱۰۹
۵-۲-۸-پیشران های معماری ...................................................................................................................۱۱۰
۵-۲-۹-تبدیل نیازها به مسئولیت ها......................................................................................................۱۱۲
۵-۲-۱۰- اولویت بندی نیازهای ویژگی کیفی .................................................................................۱۱۳
۵-۲-۱۱- تجزیه سیستم .......................................................................................................................۱۱۴
۵-۲-۱۲- ارزیابی شاخص ها.................................................................................................................۱۲۵
۵-۲-۱۲-۱- هزینه اعمال تغییرات ..........................................................................................۱۲۵
۵-۲-۱۲-۲- طراحی معماری به اندازه کافی دقیق ............................................................۱۲۷
۵-۲-۱۲-۳- یکپارچگی عناصر معماری ................................................................................۱۲۸
۵-۲-۱۲-۴- پیچیدگی ...............................................................................................................۱۲۹
۵-۳- مطالعه موردی ۲: خانه الکترونیکی ....................................................................................................۱۳۰
۵-۳-۱- اعمال روش SBSAD................................................................................................................۱۳۰
۵-۳-۲- ارزیابی شاخص ها......................................................................................................................۱۴۲
۵-۳-۲-۱- هزینه اعمال تغییرات .....................................................................................۱۴۲
۵-۳-۲-۲- طراحی معماری به اندازه کافی دقیق .........................................................۱۴۳
۵-۳-۲-۳- یکپارچگی عناصر معماری ............................................................................۱۴۳
۵-۳-۲-۴- پیچیدگی ...........................................................................................................۱۴۳
۵-۴- خلاصه ...................................................................................................................................................۱۴۴
فصل ششم – نتیجه گیری
۶-۱- مقدمه ......................................................................................................................................................۱۴۶
۶-۲- مروری بر پایان نامه .............................................................................................................................۱۴۶
۶-۳- دستاورد تحقیق ....................................................................................................................................۱۴۷
۶-۴- ارزیابی راه حل ......................................................................................................................................۱۴۷
۶-۵- رتبه روش پیشنهادی در بین سایر روشها......................................................................................۱۴۹
۶-۶- فرصتهای آتی ........................................................................................................................................۱۵۱
۶-۷- خلاصه ...................................................... .............................................................................................۱۵۲
مراجع و منابع .......................................................................................................................................................۱۵۳
منبع:
[1] Albin, Stephen T., The Art of Software Architecture: Design Methods and
Techniques, John Wiley & Sons, 2003.
١٤٥
[2] Bachmann, Felix, Bass, Len, Chastek, Gary, Donohoe, Patrick, Peruzzi, Fabio,
The Architecture Based Design Method, Technical Report, CMU.SEI-2000-
TR-001ESC-TR-2000-001, 2000.
[3] Bachmann, Felix, Bass, Len, Klein, Mark, Preliminary Design of ArchE: A
Software Architecture Design Assistant, Technical Report, CMU.SEI-2003-TR-
021ESC-TR-2003-021, 2003.
[4] Bass, Len, Bergey, John, Clements, Paul, Merson, Paulo, Ozkaya, Ipek, Sangwan,
Taghvinder, A Comparison of Requirements Specification Methods from a
Software Architecture Perspective, Technical Report,CMU.SEI-2006-TR-013
ESC-TR-2006-013, 2006.
nd
[5] Bass, Len, Clements, Paul, Kazman, Rick, Software Architecture in Practice, 2
Edition, SEI Series in Software Architecture, Addison-Wesley Professional, 2004.
[6] Booch, Grady, Maksimchuk, Robert A., Engle, Michael W., Young, Bobbi J.,
Conallen, Jim, Houston, Kelli A.,Object Oriented Analysis and Design with
Applications, 3nd Edition, The Benjamin.Cummings Publishing Company, 2007.
[7] Bosch, Jan, Design and Use of Industrial Software Architectures,
University of Karlskrona.Ronneby, 1999.
[8] Bosch, Jan, Molin, Peter, Software Architecture Design: Evaluation and
Transformation, Research Report, Department of Computer Science and Business
Administration University of Karlskrona.Ronneby, Sweden, 1997.
[9] Chastek, Gary, Ferguson, Robert, Toward Measures for Software Architectures,
Technical Note, CMU.SEI-2006-TN-013, 2006.
[10] Clements, Paul, et al., Documenting Software Architectures: Views and
Beyond, SEI Series in Software Architecture, Addison-Wesley Professional,
2003.
[11] Crnkovic, Ivica, Larsson , Magnus, BuildingReliableComponent-
BasedSoftwareSystems, Artech House, 2002.
[12] Fielding, Roy Thomas, Architectural Styles and the Design of Network-based
Software Architectures, 2000.
[13] Garlan, David, Shaw, Mary, An Introduction to Software Architecture, Advances in
Software Engineering and Knowledge Engineering, Series on Software Engineering
and Knowledge Engineering, Vol. 2, World Scientific Publishing Company.
[14] Garlan, David, Shaw, Mary, Software Architecture: Perspectives on an
Emerging Discipline, Prentice Hall, 1996.
١٤٦
[15] Garlan, David, Kim, Jung Soo, Analyzing Architectural Styles, Carnegie
Mellon University, USA, 2006.
[16] Hawthorne, Matthew J., Perry, Dewayne E., Architectural Styles for
Adaptable Self-Healing Dependable Systems, 2005.
[17] IEEE Standard Classification for Software Anomalies. Technical Report IEEE
P1044-1993 R2002, IEEE Standards Department, Software Engineering
Standards Committee, September 2002.
[18] Institute of Electrical and Electronics Engineers Standards board, Recommended
Practice for Architectural Description of Software-Intensive Systems, IEEE- Std-1471-
2000, September 2000.
[19] Kaisler ,Stephen H., Software Paradigms, John Wiley & Sons, 2005.
[20] Kruchten, Philippe, The 4+1 View Model of Architecture, IEEE Software
12,6 , 42-50, 1995.
[21] Malan, Ruth, Bredemeyer, Dana, Software Architecture:Central Concerns,Key
Decisions , http:..www.bredemeyer.com.
[22] McGovern, James, Ambler, Scott W., Stevens, Michael E., Linn, James,
Sharan, Vikas, Jo, Elias K., A Practical Guide to Enterprise Architecture,
Prentice Hall PTR , October 28, 2003.
[23] Mehta, Nikunj R., Composing Style-based Software Architectures from
Architectural Primitives, 2004.
[24] Mehta Nikunj R., Medvidovic, Nenad, Phadke, Sandeep, Towards a Taxonomy
of Software Connectors, http:..www.usc.edu .
[25] Monroe, Robert T., Kompanek, Drew, Melton, Ralph, Garlan, David, Stylized
Architecture, Design Patterns, andObjects, 1996.
[26] Morisawa, Yoshitomai, Inoue, Katsoru, Torii, Koji, Architectural Styles for
Distributed Processing Systems and Practical Selection Method, 2002.
[27] Mustapic, Goran, Architecting software for complex Embedded Systems,
2004.
[28] Nord, Robert L., Wood, William G., Clements, Paul, Integrating the Quality
Attribute Workshop (QAW) and the Attribute-Driven Design (ADD)
١٤٧
Method, Technical Note CMU.SEI-2004-TN-017, Carnegie Mellon University,
2004.
[29] Perry Dewayne E., Wolf, Alexander L.,Foundations for the study of software
architecture, ACM SIGSOFT Software Engineering Notes, 1992.
[30] Pressman, Roger S., Software Engineering A Practitioners Approach, Fifth Edition,
Mc Graw Hill, 2001.
[31] Recommended Practice for Architectural Description of Software Intensive
Systems. Technical Report IEEE P1471-2000, IEEE Standards Department, The
Architecture Working Group of the Software Engineering Committee,
2000.
[32] Shaw, Mary, Clements, Paul, Toward Boxology: Preliminary Classification of
Architectural Styles, Carnegie Mellon University, Pittsburgh, PA 15213, 1996.
[33] Schmidt, Douglas, Stal, Michael, Rohnert, Hans, Buschmann, Frank, Pattern-
Oriented Software Architecture: Patterns for Concurrent and Network
objects, Volume 2, John Wiley & Sons, 2000.
[34] Software Engineering Institute (SEI), Carnegie Mellon University, How Do You
Define Software Architecture, from
www.sei.cmu.edu.architecture.definitions.html
[35] Wojcik, Rob, Bachmann, Felix, Bass, Len, Clements, Paul, Merson, Paulo, Nord, Robert,
Wood, Bill, Attribute-Driven Design(ADD) ,Version 2.0 ,Technical Report ,
CMU.SEI-2006-TR-023 ,ESC-TR-2006- 023 , SEI , November, 2006.
[36] Wood, William G., A Practical Example of Applying Attribute-Driven
Design (ADD), Version 2.0, Technical Report, CMU.SEI-2007-TR-005ESC-
TR-2007-005, February 2007.