موضوع : تحقیق پیچیدگی در نرم افزار
بدليل تفاوت ذاتي بين نرم افزار و سخت افزار پيچيدگي خاصي در ابعاد مختلف از جمله تعريف نرم افزار طراحي و پيادهسازي تست و نگهداري آن وجود دارد كه با پيچيدگي سيستمهاي طبيعي و محصولات فيزيكي ساخت است بشر متفاوت است
يك خاصيت ذاتي سيستمهاي نرم افزاري بزرگ بنابراين نميتوان اين پيچيدگي را از بين برد بلكه بايد آنرا كنترل نمود
intelleictually intractivility تمردپذيري و اجازه پذيرفتن براي آشفتگي پيچيدگي بطور ذاتي در ساخت سيستم وجود دارد پيچيدگي ممكن است از بزرگي سيستم يا از واسينگيها بدعتها و پيادهسازي تكنولوژي و بوجود آيد
Management intractivility تمرد پذيري مديريتي
پيچيدگي در سازمان و فرآيند بكار گرفته شده در ساخت سيستم ممكن است از اندازة پروژه (تعداد افردي كه در تمام جهات ساخت سيستم درگير هستند) وابستگيهاي پروژه فاصله جغرافيايي سيستمها و بعبارتي عوامل توليد كننده نرم افزار غير قابل كنترل هستند چون سازمان افراد و فرآيند هستند و ماشين نيستند كه كنترل شوند و سرمايههاي اوليه براي توليد نرم افزار الزاماً ماشين سرمايه و پول نيست بلكه يكسري عوامل انساني متغيري هستند كه تحت مديريت قرار ميگيرند
حق مشكل معماري نرم افزري ميبايست سيستم را قابل هضم و بطور هوشمند قابل مديريت بوسيله مهيا كردن تجريدي كه بدون نياز به جزئيات مهيا كننده مفاهيم ساده و يكسان باشند تجزيه سيستم و حل مشكل IF معماري نرم افزاري نميبايست توسعه سيستم را آسانتر براي مديريت بوسيله ارتقاي ارتباطات مهيا كرن بهتر با جدا كردن كار با كاهش زياد وابستگيهاي قابل مديريت و غيره اما مسائل جديد پيدا شده مرتبط با تجزيه سيستم براي حل پيچيدگي بايست توسط معماري بررسي شوند چگونه سيستم را به قطعات بشكنيم يك تجزيه خوب اصل از بين رفتن كوپلاژ بين مؤلفهها (يا قطعات) را بوسيله واسطهاي واضح و توانمند ساده كردن بوسيله تقسيم به قطعات منتقل قابل استدلال كه دوباره ميتوانند جدا شوند ارضا ميكند آيا تمام قطعات مورد نياز را داريم ساختار ميبايست وظيفه مندي و يا سرويسهاي مورد نياز سيستم را پشتيباني كند بنابراين رفتار ديناميكي سيستم زمان طراحي معماري ميبايست بحساب آيد همينطور ميبايست زيربناي ضروري براي پشتيباني اين سرويسها را داشته باشيم آيا اين قطعات با هم بدرسيت كار ميكنند اين موضوع واسط و رابطههاي بين قطعات ميباشد اما تطابق خوبي كه جامعيت سيستم را مديريت مي كند و همچنين با شرايط سيستم كار كند زمانيكه اين قطعات تركيب ميشود خصوصيات خوب داشته باشند مورد لزوم است وسعت تصميم و تأثيرات مستقيم را معين ميكند بخشيي از تصميمات در حوزه محدود به توسعههاي محلي (Local) است و اثري روي معماري ندارد و در سطح تك تك مؤلفهها است و از نوع غير معماري ميباشد بخش ديگر Local نيست ولي تأثير زيادي ندارد از خود تقسيمبندي سيستماتيك و Local ميباشد خود سيستماتيك شامل Highimpaet ميباشد كه ما بدنبال Highimpnet ميباشيم اولويت بالا براي ما مهم است يك مجموعه اي از ديدهاي استاندارد ارائه ميشود ديدهايي كه ما داريم در راهنمايي معماراني كه تصميمات معماري را ميسازند كه مفيد باشد آمي ابزارهاي فكري مفيدي براي در نظر گرفتن تصميمات و انتخاب بين آستريا ستوهاي ميباشد آنها همينطور از طريق اينكه ما مجموعه كاملي از تصميمات معماري در سطوح انتخاب از تجريد تعين و اساسي براي تعين معماري ميباشند مثلاً ديد منطقي ديد ادراكي ديد اجرا در معماري نرم افزار بسته به خروجهاي سطح بالا توجه داريم و اينكه چگونه قبل از Derelope كرده نرم افزار ميتوان آنرا ارزيابي كرد اين ارزيابي يك معماري قابل اجرا است مثلاً prototype مهندس نرم افزار يك نوع معماري قابل اجرا است معماري قابل اجراي سيستم هاي توزيع شده و همروند ايجاد ميشوند نگاشت مؤلفههاي به فرآيندهايي سيستم فيزيكي با توجه به تمرين بر روي مفاهيمي از قبيل گذردهي و scalability deplogmentriew كد نوع معماري قابل اجرا ميباشد
براي يك روش طراحي معماري براي برآورده كردن هردو نيازمنديهاي كيفي و نيازمنديهاي وظيفه مندي طراحي مبتني بر معماري (ADD) مي باشد ADD يك مجموعه اي از سناريوهاي صفات كيفي را بعنوان ورودي گرفته و دانش مربوط به روابط صفات كيفي قابل دستيابي و معماري را بخاطر طراحي معماري بكار مي گيرد روش ADD مي تواند بعنوان يك توسعه اي از ديگر روشهاي استقرار از قبيل RUP ديده شود RUP چندين مرحله دارد كه نتيجه در سطح بالاي طراحي يك معماري است اما با طراحي همراه با جزئيات و پياده سازي پردازش مي كند ولي ADD تغيير دهد مراحل RUP را با طراحي سطح بالاي معماري تغيير داده و فرآيند Rational را دنبال مي كند
Architecture Description Langnague ADL
ADL نتيجه يك روش زباني براي ارائه رسمي يك معماريها مي باشد و همچنيبني نقايص ارائه هاي رسمي را برطرف مي كنند ADL هاي پيچيده آناليز سريع و آزمايش توانائيهاي تصميمات طراحي معماري را اجازه مي دهند
مثال C22 Wright Darcvin Rapiol
مثلاًRapid بر روي رخدادهاي سيستم رفتار ديناميكي سيستم بكار براي الگوهاي رخدادي تمركز دارد يا Wright بر روي كانكتورها رفت زير سيستمهاي ديناميكي تمركز دارد
پيچيدگي در نرم افزار
مدل لايهبندي و تصميمات معماري
توصيف اشكال برجسب درجه گويايي