كتابهاي متعدد و متنوعي در مورد معماري نرمافزار، چگونگي انجام آن و يا ارزيابي آن ارائه شدهاند كه هر يك از منظري به معماري نرمافزار نگاه ميكنند. برخي تلاش ميكنند تا معماري نرمافزار را بيشتر طراحي سطح بالا بنامند و متمركز بر توزيع وظيفهمندي و ارتباط بين مولفهها شوند، برخي بر دستيابي بر خصوصيات كيفي در معماري تاكيد دارند، عدهاي ديگر معماري نرمافزار را بهعنوان يك معماري راهحل (Solution Architecture) قبول دارند و سعي ميكنند معماري را در آن قالب تعريف كنند. اغلب اين ديدگاهها در واقع كاركردهاي معماري نرمافزار هستند و بههمين دليل تنوع دارند.
يكي از پرطرفدارترين كتابهايي كه در زمينه معماري نرمافزار منتشر شده است و در حال حاضر ويرايش سوم آن چاپ شده است، كتاب «Software Architecture in Practice» ميباشد كه قبلا اسلايدهاي آن را كه مربوط به ويرايش دوم آن ميباشد، در سايت قرار دادم (اينجا). شايد يكي از مهمترين علتهاي محبوبيت اين كتاب وجود مثالهاي عملي توسط نويسندگان معمار آن است. Len Bass ،Paul Clements و Rick Kazman سه نويسنده كتاب قبلاً هم نشان داده بودند كه اعتقاد بسياري بر اجرايي بودن حرفهايشان در معماري دارند و در فصلهاي مختلف ويرايش دوم مثالهاي عملي و هرچند اغلب پيچيده را ارائه دادند، در ويرايش سوم بيشتر فصلهاي اجرايي را حذف نمودند و بر محتواي آن بهصورت قابل قبولي افزودند. عمق مطالب خصوصاً براي خصوصيات كيفي و تشريح آنها عميقتر شده و موضوعات جديدي همچون معماري در پروژههاي چابك و معماري ابري نيز در اين ويرايش افزوده شده است. خواندن اين كتاب را به همه علاقهمندان به يادگيري معماري نرمافزار توصيه ميكنم، هر چند اين كتاب پرمحتوا از نظر مفهومي ساده نيست و نيازمند دانش اوليه خصوصاًٌ در زمينه مهندسي نرمافزار ميباشد. نسخه زبان انگليسي اين كتاب را ميتوانيد از اينجا دانلود كنيد. اميدوارم اين كتاب سبب همافزايي بر دانش شما شود.





خیلی عالیه
ممنون
از اینکه چنین وبلاگی را راه اندازی کردید ممنونم
من مدت ها بود دنبال مطالبی که مورد کلاسها و پژوهشهای دانشگاه شهید بهشتی تدریس و مطالعه میگشتم
واقعا از اینکه که این مطالب را اینجا قرار دادید تشکر میکنم
با تشکر از مطالب خوبتون
مدتها دنبال ویرایش سوم کتاب فوق بودم که پیداش نمی کردم اما از سایت شما برداشتم
اگه امکان داره کتابها و مقالات مطرح دنیا در حوزه معماری نرم افزار، معماری سازمانی و SOA و سایر مطالب مرتبط گذاشته یا معرفی بشه.
طبيعتاً اين امكان براي من خصوصاً در مورد ساير موارد 🙂 وجود نداره
و در حد توانم سعي ميكنم مطلب بزارم
بسیار ممنونم.
با سلام
بنده هم خیلی دنبال این کتاب بودم
آیا ترجمه ای از این کتاب موجود می باشد؟
اگر بلی راهنمایی بفرمایید
سلام، ترجمه چاپ شدهاي من تابحال نديدم
سلام
ضمن تشکر از وبسیت با محتوای شما؛
میخواستم بدونم رویکرد فنی برای تحلیل کیفیت معماری نرمافزارهایی که اصلا هیچ منبعی از آنها در دسترس نیست، مثل یک نرم افزار تجاری یا وبسایت آنلاین چگونه میباشد.
آیا کتاب یا مرجع یا راه حلی در این مورد موجود است ؟ امکانش هست یک پست در این راستا برای روشن کردن فرایند کار ایجاد نمایید ؟
آیا لازم هست تا ابتدا با راه حلهای مهندسی معکوس کدهای پروژه را استخراج کنیم یا راه حلهای دیگری هم موجود است ؟
ممنون
هيچ منبعي در اختيار نيست، به معني اينه كه مستندات تحليل و طراحي، كدها، تستها و بالاخره از معماري چيزي وجود نداره.
بنابراين سوال اول اينه كه چرا بايد معماري اون تحليل بشه؟ به چه نتيجهاي ميخوايم از تحليل اون برسيم؟
به نظرم در واقع ما بيشتر ميخوايم بدونيم خصوصيات كيفي اون چطوري هستند تا تحليل معماري.
ميشه از استانداردهايي مثل سري 25010 براي يافتن پارامترهايي براي تحليل نرمافزار استفاده كرد اما لزوماً تحليل معماري نيستند.
اگر واقعاً ما به تحليل معماري نياز داريم، بهعنوان مثال ميخوايم معماري رو بدونيم تا بتونيم ارتقاء بديم، اولين راهش هموني كه گفتي بعلاوه استفاده از تجربيات براي Refactoring.
راههاي ديگهاي هم وجود داره، بهعنوان مثال شروع از ابتداي توسعه معماري با توجه به نرمافزار پيادهسازي شده. در اين روش شما بيشتر سعي ميكني، اون معماري را شبيهسازي كني و بري جلو و نتيجه رو با نرمافزار فعلي مقايسه كني.
بيشتر من اين كار رو تحليل نرمافزار ميبينيم و نه تحليل معماري
با سلام استاد
من نیاز به معماری نرم افزار گوگل و بازی پو دارم . میشه راهنمائی بفرمائید
مرسی
سلام.
اطلاع دارید جواب تمرین های ویرایش سوم این کتاب موجود هست یا نه؟
نه متاسفانه