عکس پیش‌فرض نوشته

هنگامی که یک نرم افزار کامپیوتری میسازید، تغییراتی رخ میدهد. چون تغییر رخ میدهد، نیاز به کنترل مؤثر آن دارید.

مدیریت پیکربندی نرم افزار (SCM) مجموعه ای از فعالیت هاست که برای کنترل تغییرات طراحی شده اند.

به این ترتیب که محصولات کاری ای را که باید تغییر کنند، شناسایی میکند، روابط میان آنها را مشخص میسازد، ساز و کارهایی برای مدیریت نسخه های متفاوتی از این محصولات کاری تعریف میکند، تغییرات تحمیل شده را کنترل میکند و تغییرات اعمال شده را ممیزی و گزارش میکند.

مدیریت پیکربندی نرم افزار

 

همه کسانی که در فرآیند مهندسی نرم افزار شرکت دارند تا حدی با SCM سر و کار دارند ولی گاه برای مدیریت فرآیند SCM افراد خاصی در نظر گرفته میشوند.

اگر تغییرات را کنترل نکنید، آنها شما را کنترل میکنند.

این مسئله اصلاً خوب نیست.

یک جریان کنترل نشده از تغییرات، به آسانی میتواند یک پروژه خوب را به آشوب بکشاند.

به همین دلیل، مدیریت تغییرات، یک بخش ضروری از مدیریت کیفیت نرم افزار است.

 

چون هنگام ساخت یک نرم افزار، محصولات کاری فراوانی ساخته میشود، هر یک را باید منحصراً مورد شناسایی قرار داد.

هنگامی که این کار انجام شد، میتوان ساز و کارهایی برای کنترل تغییر و نسخه نرم افزار بنا نهاد.

برای حصول اطمینان از حفظ کیفیت نرم افزار به موازات اعمال تغییرات، فرآیند مورد ممیزی قرار میگیرد و برای اطمینان از آگاهی افراد ذی صلاح، گزارش هایی ارائه میشود.

 

برنامه مدیریت پیکربندی نرم افزار، راهبرد پروژه را برای SCM تعیین میکند.

علاوه بر این، وقتی به SCM رسمی روی آورده شود، فرآیند کنترل تغییرات، درخواست های تغییر نرم افزار را تولید کرده و درخواست تغییر مهندسی را گزارش میکند.

 

هنگامی که هر محصول کاری را بتوان توضیح داد، پیگیری کرد و کنترل نمود و یا هنگامی که هر تغییر را بتوان تحلیل کرد و نیز هنگامی که همه افراد ذی صلاح از یک تغییر مطلع شدند، میتوان اطمینان حاصل کرد که شما کار خود را در زمینه مدیریت پیکربندی نرم افزار درست انجام داده اید.

 

در ساخت نرم افزارهای کامپیوتری، تغییر امری اجتناب ناپذیر است.

تغییرات باعث افزایش سردرگمی مهندسان نرم افزاری میشود که روی یک پروژه کار میکنند.

اگر پیش از اعمال تغییرات، همان تغییرات مورد تحلیل قرار نگیرند، پیش از پیاده سازی ثبت نشوند، به افراد ذی صلاح گزارش ارائه نشود یا به شیوه ای کنترل نشوند که در نهایت باعث بهسازی کیفیت و کاهش خطا شوند، کار تولید محصول سخت تر خواهد شد.

 

بابیچ در این مورد میگوید:

هنر هماهنگ سازی توسعه نرم افزار برای به حداقل رساندن سردرگمی را مدیریت پیکربندی میگویند.

مدیریت پیکربندی، هنر شناسایی، سازمان دهی و کنترل اصلاحاتی است که باید در یک نرم افزار در حال ساخت توسط تیم برنامه نویس اعمال شوند. هدف، به حداکثر رساندن بهره وری یا به حداقل رساندن اشتباهات است.

 

مدیریت پیکربندی نرم افزار (SCM) یک فعالیت چتری است که در سرتاسر فرآیند نرم افزار قابل اجراست.

چون امکان تغییر در هر زمانی وجود دارد، فعالیت های SCM به دلایلی که به دنبال خواهد آمد اجرا میشوند:

1- شناسایی تغییر

2- کنترل تغییر

3- حصول اطمینان از پیاده سازی مناسب تغییر

4- گزارش تغییر به دیگران (که ممکن است علاقمند باشند)

 

درک تفاوت بین پشتیبانی نرم افزار و مدیریت پیکربندی نرم افزار حائز اهمیت است.

پشتیبانی عبارت از یک مجموعه فعالیت های مهندسی نرم افزار است که پس از تحویل نرم افزار به مشتری و به کار انداختن آن رخ میدهد.

در حالی که مدیریت پیکربندی نرم افزار مجموعه ای از فعالیت های پیگیری و کنترل است که با شروع شدن پروژه مهندسی نرم افزار آغاز میشود و با به کار انداختن نرم افزار پایان میپذیرد.

 

یک هدف اصلی مهندسی نرم افزار، بهبود بخشیدن به سهولت اسکان تغییرات و کاهش دادن مقدار تلاش صرف شده به هنگام اعمال تغییرات است.

 

 

خروجی فرآیند نرم افزار، اطلاعاتی است که به سه گروه عمده قابل تقسیم است:

1- برنامه های کامپیوتری (چه در سطح منبع و چه اجرایی)

2- مستنداتی که این برنامه های کامپیوتری را توصیف میکنند (چه در بعد فنی و چه در بعد کاربر)

3- داده ها (که در دل برنامه ها قرار گرفته اند یا خارج از آنها)

 

در مجموع، مواردی که کلیه اطلاعات تولید شده را به عنوان بخشی از فرآیند نرم افزار تشکیل میدهند، پیکربندی نرم افزار نام دارند.

 

با پیشرفت فرآیند نرم افزار، تعداد آیتم های پیکربندی نرم افزار (SCI) به سرعت رشد میکند.

مشخصه سیستم شامل یک برنامه پروژه نرم افزاری و مشخصه خواسته های نرم افزار و مستندات مرتبط با سخت افزار است.

اینها نیز به نوبه خود شامل مستندات دیگری میشوند که سلسله مراتبی از اطلاعات را تولید میکند.

اگر هر SCI فقط شامل SCIهای دیگر میشد، مسئله چندان پیچیده و سخت نمیشد!

متاسفانه یک متغیر دیگر نیز در فرآیند دخالت دارد و آن هم چیزی نیست جز تغییر.

تغییرات ممکن است در هر زمان و به هر دلیلی رخ دهند.

در واقع، قانون اول مهندسی سیستم ها میگوید:

“در هر جای چرخه حیات سیستم که باشید، سیستم تغییر میکند و تمایل به تغییر در سرتاسر چرخه حیات باقی است.”

 

 

ولی منشاء این تغییرات چیست ؟

پاسخ این سوال به اندازه خود تغییر با تغییر مواجه است ولی چهار منبع اصلی برای تغییرات میتوان ذکر کرد:

– شرایط بازاری یا تجاری جدید که تغییراتی در خواسته های محصول یا قواعد تجاری دیکته میکنند.

– نیازهای جدید ذینفع که اصلاحاتی را در داده های تولید شده توسط سیستم های اطلاعاتی، عملکرد تحویل شده توسط محصولات یا سرویس های تحویل شده توسط یک سیستم کامپیوتری طلب میکنند.

– سازمان دهی مجدد یا رشد / زوال تجاری که باعث تغییر در اولویت های پروژه یا ساختار تیم مهندسی نرم افزار میشود.

– قید و بندهای بودجه ای یا زمان بندی که باعث تعریف مجدد محصول یا سیستم میشود.

 

مدیریت پیکربندی نرم افزار (SCM)مجموعه ای از فعالیت هاست که برای مدیریت تغییرات در سرتاسر چرخه حیات نرم افزار کامپیوتری توسعه یافته اند.

 

SCM را میتوان به عنوان یک فعالیت تضمین کیفیت نرم افزار در نظر گرفت که در سرتاسر فرآیند نرم افزار به کار میرود.