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