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

سیستمهای پیچیده
در بررسی موضوع استقرار سامانههای پیچیده، باید گفت سیستمهای پیچیده در اطراف ما هستند. آنها به شکلی دیده میشوند که پرندگان مهاجر خود را بهصورت دستهجمعی سازماندهی و مورچهها برای جمعآوری مواد غذایی ارتباط برقرار میکنند. این سیستمها در شیوههای شکلگیری شبکههای اجتماعی توسط انسانها و در الگوهای ارتباطی، سرمایه اجتماعی و شهرتی که از این شبکهها پدید میآیند، دیده میشوند.
آنها در ساختارهای نوظهور قانون قدرت یا فراکتال گیاهان، دانههای برف و همچنین در الگوهای ساختاری مشابه توزیع ثروت و درآمد، نوسانات بازار سهام، توزیع جمعیت بین شهرها، و الگوهای توسعه شهری دیده میشوند. سیستمهای پیچیده اغلب بهعنوان «کلهایی که بیش از مجموع اجزای آنها هستند» نامیده میشوند، کلهایی که رفتار آنها را نمیتوان بدون نگاهکردن به اجزای منفرد و نحوه تعامل آنها درک کرد.
جنبههای رسمی سیستمهای پیچیده
مؤسسه پیچیدگی و نوآوری واترلو (WICI) جنبههای رسمی سیستمهای پیچیده را مطالعه میکند و از رویکردهای کمی و کیفی استفاده میکند. سؤالاتی که بررسی میشوند: چه فرایندها و ساختارهایی استقرار سامانههای پیچیده را تعریف میکنند و نتایج آنها را مشخص میکنند؟ چگونه میتوان اینها را مدل کرد و مفاهیم آنها را درک کرد؟ چه مشکلات دنیای واقعی را سیستمهای پیچیده به بهترین شکل نشان میدهند، و چه بینش جدیدی از لنز سیستمهای پیچیده به دست میآید؟ مهمتر از همه، درک ما از پیچیدگی چگونه میتواند به ما کمک کند تا برای حلناپذیرترین مشکلات جهان نوآوری بهتری داشته باشیم؟

الزامات استقرار سیستمهای پیچیده
ایجاد و مدیریت الزامات استقرار سیستمهای پیچیده شامل مراحل زیر است:
- هریک از نیازهای سطح بالای کاربران را برای امکانسنجی اجرا، سازگاری در محدودیتهای برنامه و توانایی آن برای تأیید ارزیابی کنید. اگر اجرای الزامات استقرار سامانههای پیچیده در چارچوب محدودیتهای هزینه و زمانبندی غیرممکن باشد، باید آن را بهعنوان یک مسئله شناسایی کرد و با تنظیم بودجه، برنامهریزی راحت و تغییر یا حذف نیاز حل کرد.
- از تحلیل تابعی یا شیءگرا برای تعریف یک معماری عملکردی سیستم پیچیده استفاده کنید که میتواند بهعنوان مبنایی برای تخصیص نیازمندیها استفاده شود.
- تمام نیازهای سیستم، زیرسیستم و رابط را به موارد پیکربندی سختافزاری و نرمافزاری مناسب استقرار سامانههای پیچیده اختصاص دهید. باید از موارد زیر اطمینان حاصل کنید. از هر نیاز:
- باید بهصورت یک عبارت قطعی نوشته شده باشد.
- باید دارای یک شماره شناسایی منحصربهفرد برای اهداف ردیابی باشد.
- میتوان آن را در نیاز منبع سطح بالاتر یا تجزیهوتحلیل ردیابی کرد.
- به یک آیتم پیکربندی نرمافزار کامپیوتری خاص (CSCI) اختصاصدادهشده باشد.
- اطمینان حاصل کنید که هر یک از الزامات عملکردی استقرار سامانههای پیچیده دارای یک یا چند الزامات تأیید مربوطه است. کسانی که فعالیتهای آزمایشی سیستم را انجام میدهند را درگیر کنید تا مطمئن شوید که الزامات قابلیت آزمون شدن را دارا هستند. الزامات راستیآزمایی مشخصات سیستم پیچیده باید وسیلهای برای اندازهگیری هدف را تعریف کند.
- با درنظرگرفتن موارد زیر، تجزیهوتحلیلها، مطالعات تجاری، نمونهسازی و تلاشهای مربوطه برای کاهش ریسکهای استقرار سیستمهای پیچیده را شناسایی کنید:
- کامل بودن: آیا همه الزامات سطح بالاتر تخصیصدادهشده است؟
- سازگاری: آیا محتوا، قالب، و نماد از نیازی به نیاز دیگر کاربران، و مشخصهای به مشخصات دیگر مشابه است؟
- امکانسنجی: آیا میتوان نیاز را برآورده کرد؟
- تعادل: تبادل بین الزامات چیست؟
- تأییدپذیری/ آزمونپذیری: آیا میتوان الزامات استقرار سامانههای پیچیده را به طور عینی تأیید کرد؟
- عوامل انسانی: آیا طراحی با اصول صحیح عوامل انسانی سازگار است؟
- تعریف الزامات سامانههای یکپارچه شده را کامل کنید و آنها را از نظر سازگاری با الزامات نرمافزاری و سازمانی، امکانسنجی و اثرات استراتژیهای مختلف پیادهسازی بررسی کنید. نوسانات اندازه نیازمندیهای یکپارچه شده را پایش کنید، زیرا نیازمندیهای سازگار شده اغلب منبع مهمی برای رشد اندازه سامانههای پیچیده هستند.
- برای تأیید اینکه نرمافزاری که برای استفاده مجدد در نظر گرفته شده با معیارهای زیر مطابقت دارد، فعالیتهای تهاجمی اولیه را اعمال کنید:
- عملکرد استقرار سامانههای پیچیده، الزامات عملکردی را برآورده میکند.
- سیستم پیچیده مورداستفاده مجدد وجود دارد و در دسترس است.
- عملکرد واقعی سیستم پیچیده مورداستفاده مجدد الزامات عملکرد را برآورده میکند و کمبودهای ذاتی ندارد که منجر به رشد بیشتر شود.
- برنامهای برای رسیدگی به ارتقاء/پشتیبانی از نرمافزار استفاده مجدد در آینده وجود دارد.
- اطمینان حاصل کنید که توسعه دهندگان و مدیران استقرار سامانههای پیچیده، الزامات سطح بالا را به مشخصات سطح پایینتر و تأمینکنندگان سطح پایینتر، از جمله مشخصات آیتمهای پیکربندی نرمافزار، کاهش میدهند.
- شناسایی و تعریف الزامات واسط CSCI-to-CSCI و CSCI-to-Hardware Critical Item (HWCI) را تأیید کنید.
- بررسی کنید که مجموعهای از ابزارهای مناسب و سازگار برای دریافت الزامات چند سطحی (سیستمها از طریق نرمافزار) و تکامل طراحی وجود دارد.
- از سناریوهای عملیاتی استقرار سامانههای پیچیده تاحدامکان استفاده کنید تا آنچه را که نیازمندیها میخواهند به تصویر بکشند، نشان داده یا زنده کنید. (سناریوهای عملیاتی محصول، کاربر نهایی و سایر موجودات را در محیط موردنظر به تصویر میکشند و ابزار مفیدی برای کشف و پالایش نیازمندیها هستند.)

نتیجهگیری
استقرار سامانههای پیچیده از مسائل مهم حوزه نرمافزار و همچنین سازمانهای بزرگی است که از مجموعه سامانههای بزرگ استفاده میکنند. استقرار این نوع سیستمها باید با فرایند توسعه نرمافزار تطابق داشته باشد و تمامی نیازمندیها و الزامات عملکردی را برآورده سازد.