سافٹ ویئر انجینئرنگ میں سافٹ ویئر کنفیگریشن مینجمنٹ۔

سافٹ ویئر کنفیگریشن مینجمنٹ کیا ہے؟

سافٹ ویئر انجینئرنگ میں ، سافٹ ویئر کنفیگریشن مینجمنٹ (ایس سی ایم) سافٹ ویئر ڈویلپمنٹ لائف سائیکل کے دوران دستاویزات ، کوڈز اور دیگر اداروں میں تبدیلیوں کو منظم طریقے سے منظم ، منظم اور کنٹرول کرنے کا عمل ہے۔ بنیادی مقصد کم سے کم غلطیوں کے ساتھ پیداوری میں اضافہ کرنا ہے۔ ایس سی ایم کنفیگریشن مینجمنٹ کے کراس ڈسپلنری فیلڈ کا حصہ ہے اور یہ درست اندازہ لگا سکتا ہے کہ کس نے نظر ثانی کی۔

اس سافٹ ویئر انجینئرنگ ٹیوٹوریل میں ، آپ سیکھیں گے-

ہمیں کنفیگریشن مینجمنٹ کی ضرورت کیوں ہے؟

تکنیکی سافٹ ویئر کنفیگریشن مینجمنٹ سسٹم کو نافذ کرنے کی بنیادی وجوہات یہ ہیں:

  • سافٹ ویئر پر کام کرنے والے متعدد لوگ ہیں جو مسلسل اپ ڈیٹ ہو رہے ہیں۔
  • یہ ایک ایسا معاملہ ہو سکتا ہے جہاں ایک سے زیادہ ورژن ، شاخیں ، مصنفین ایک سافٹ وئیر کنفیگ پروجیکٹ میں شامل ہوں ، اور ٹیم جغرافیائی طور پر تقسیم ہو اور بیک وقت کام کرے
  • صارف کی ضروریات ، پالیسی ، بجٹ ، شیڈول میں تبدیلی کی ضرورت ہے۔
  • سافٹ ویئر مختلف مشینوں اور آپریٹنگ سسٹمز پر چلنے کے قابل ہونا چاہیے۔
  • اسٹیک ہولڈرز کے درمیان ہم آہنگی پیدا کرنے میں مدد کرتا ہے۔
  • ایس سی ایم کا عمل نظام میں تبدیلی لانے کے اخراجات کو کنٹرول کرنے کے لیے بھی فائدہ مند ہے۔

سافٹ ویئر کنفیگریشن آئٹمز میں کوئی تبدیلی حتمی پروڈکٹ کو متاثر کرے گی۔ لہذا ، کنفیگریشن آئٹمز میں تبدیلیوں کو کنٹرول اور انتظام کرنے کی ضرورت ہے۔

SCM عمل میں کام

  • ترتیب کی شناخت
  • بیس لائنز۔
  • کنٹرول تبدیل کریں۔
  • کنفیگریشن اسٹیٹس اکاؤنٹنگ۔
  • کنفیگریشن آڈٹ اور جائزے۔

تشکیل کی شناخت:

کنفیگریشن کی شناخت سافٹ ویئر سسٹم کے دائرہ کار کا تعین کرنے کا ایک طریقہ ہے۔ اس مرحلے کی مدد سے ، آپ کسی چیز کا انتظام یا کنٹرول کر سکتے ہیں یہاں تک کہ اگر آپ نہیں جانتے کہ یہ کیا ہے۔ یہ ایک تفصیل ہے جس میں CSCI قسم (کمپیوٹر سافٹ ویئر کنفیگریشن آئٹم) ، ایک پروجیکٹ شناخت کنندہ اور ورژن کی معلومات شامل ہے۔

اس عمل کے دوران سرگرمیاں:

  • کنفگریشن آئٹمز جیسے سورس کوڈ ماڈیولز ، ٹیسٹ کیس ، اور ضروریات کی تفصیلات کی شناخت۔
  • آبجیکٹ پر مبنی نقطہ نظر کا استعمال کرتے ہوئے ، ایس سی ایم ذخیرے میں ہر سی ایس سی آئی کی شناخت۔
  • یہ عمل بنیادی اشیاء سے شروع ہوتا ہے جنہیں مجموعی اشیاء میں تقسیم کیا جاتا ہے۔ ٹیسٹ میں کیا ، کیوں ، کب اور کس کے ذریعے تبدیلیاں کی جاتی ہیں۔
  • ہر شے کی اپنی خصوصیات ہوتی ہیں جو اس کے نام کی شناخت کرتی ہیں جو دوسری تمام اشیاء پر واضح ہے۔
  • مطلوبہ وسائل کی فہرست جیسے دستاویز ، فائل ، ٹولز وغیرہ۔

مثال:

فائل login.php کا نام دینے کے بجائے اس کا نام login_v1.2.php ہونا چاہیے جہاں v1.2 کا مطلب فائل کے ورژن نمبر ہے

فولڈر 'کوڈ' کو نام دینے کے بجائے اسے 'کوڈ_ڈی' کا نام دیا جانا چاہیے جہاں ڈی کوڈ کی نمائندگی کرتا ہے اسے روزانہ بیک اپ کیا جانا چاہیے۔

بیس لائن:

بیس لائن سافٹ ویئر کنفیگریشن آئٹم کا باضابطہ طور پر قبول شدہ ورژن ہے۔ ایس سی ایم کے عمل کو چلاتے ہوئے اسے ایک مخصوص وقت پر نامزد اور طے کیا جاتا ہے۔ اسے صرف رسمی تبدیلی کنٹرول کے طریقہ کار کے ذریعے تبدیل کیا جا سکتا ہے۔

اس عمل کے دوران سرگرمیاں:

  • کسی ایپلیکیشن کے مختلف ورژن کی تعمیر میں سہولت فراہم کریں۔
  • ان کام کی مصنوعات کے مختلف ورژن کے انتظام کے لیے میکانزم کی وضاحت اور تعین۔
  • فنکشنل بیس لائن نظرثانی شدہ نظام کی ضروریات کے مطابق ہے۔
  • وسیع پیمانے پر استعمال ہونے والی بیس لائنز میں فنکشنل ، ڈویلپمنٹل اور پروڈکٹ بیس لائنز شامل ہیں۔

آسان الفاظ میں بیس لائن کا مطلب ہے رہائی کے لیے تیار۔

کنٹرول تبدیل کریں:

تبدیلی کنٹرول ایک طریقہ کار کا طریقہ ہے جو معیار اور مستقل مزاجی کو یقینی بناتا ہے جب کنفیگریشن آبجیکٹ میں تبدیلیاں کی جاتی ہیں۔ اس مرحلے میں ، تبدیلی کی درخواست سافٹ ویئر کنفیگریشن مینیجر کو پیش کی جاتی ہے۔

اس عمل کے دوران سرگرمیاں:

  • مستحکم سافٹ ویئر ڈویلپمنٹ ماحول بنانے کے لیے ایڈہاک تبدیلی کو کنٹرول کریں۔ ذخیرے میں تبدیلیاں کی جاتی ہیں۔
  • درخواست کی تکنیکی قابلیت ، ممکنہ ضمنی اثرات اور دیگر ترتیب شدہ اشیاء پر مجموعی اثرات کی بنیاد پر جانچ کی جائے گی۔
  • یہ سافٹ ویئر لائف سائیکل کے دوران تبدیلیوں اور کنفیگریشن آئٹمز کو دستیاب کرنے کا انتظام کرتا ہے۔

کنفیگریشن اسٹیٹس اکاؤنٹنگ:

کنفیگریشن اسٹیٹس اکاؤنٹنگ SCM عمل کے دوران ہر ریلیز کو ٹریک کرتی ہے۔ اس مرحلے میں ہر ورژن میں کیا ہے اور اس ورژن کی طرف جانے والی تبدیلیاں شامل ہیں۔

اس عمل کے دوران سرگرمیاں:

  • نئی بیس لائن تک پہنچنے کے لیے پچھلی بیس لائن میں کی گئی تمام تبدیلیوں کا ریکارڈ رکھتا ہے۔
  • سافٹ ویئر کنفیگریشن کی وضاحت کے لیے تمام آئٹمز کی شناخت کریں۔
  • تبدیلی کی درخواستوں کی حالت پر نظر رکھیں۔
  • آخری بیس لائن کے بعد سے تمام تبدیلیوں کی مکمل لسٹنگ۔
  • اگلی بیس لائن پر پیش رفت سے باخبر رہنے کی اجازت دیتا ہے۔
  • جانچ کے لیے نکالی جانے والی سابقہ ​​ریلیز/ورژن چیک کرنے کی اجازت دیتا ہے۔

کنفیگریشن آڈٹ اور جائزے:

سافٹ ویئر کنفیگریشن آڈٹ اس بات کی تصدیق کرتے ہیں کہ تمام سافٹ وئیر پروڈکٹ بنیادی لائن کی ضروریات کو پورا کرتی ہے۔ اس بات کو یقینی بناتا ہے کہ جو بنایا گیا ہے وہی فراہم کیا جائے۔

اس عمل کے دوران سرگرمیاں:

  • کنفیگریشن آڈیٹنگ آڈیٹرز کے ذریعے کی جاتی ہے کہ یہ چیک کر کے کہ متعین عمل پر عمل کیا جا رہا ہے اور اس بات کو یقینی بنایا جا رہا ہے کہ SCM اہداف مطمئن ہیں۔
  • کنفیگریشن کنٹرول سٹینڈرڈز کی تعمیل کی تصدیق کرنا۔ تبدیلیوں کا آڈٹ اور رپورٹنگ
  • ایس سی ایم آڈٹ اس بات کو بھی یقینی بناتے ہیں کہ عمل کے دوران ٹریس ایبلٹی کو برقرار رکھا جائے۔
  • اس بات کو یقینی بناتا ہے کہ بیس لائن میں کی جانے والی تبدیلیاں کنفیگریشن اسٹیٹس رپورٹس کے مطابق ہوں۔
  • مکمل اور مستقل مزاجی کی توثیق۔

ایس سی ایم کے عمل میں شریک:

ایس سی ایم میں اہم شرکاء درج ذیل ہیں۔

1. کنفیگریشن مینیجر

  • کنفیگریشن مینیجر ہیڈ ہوتا ہے جو کنفیگریشن آئٹمز کی شناخت کا ذمہ دار ہوتا ہے۔
  • وزیراعلیٰ اس بات کو یقینی بناتا ہے کہ ٹیم ایس سی ایم کے عمل کی پیروی کرے۔
  • اسے تبدیلی کی درخواستوں کو منظور یا مسترد کرنے کی ضرورت ہے۔

2. ڈویلپر۔

  • ڈویلپر کو معیاری ترقیاتی سرگرمیوں کے مطابق کوڈ کو تبدیل کرنے یا درخواستوں کو تبدیل کرنے کی ضرورت ہے۔ وہ کوڈ کی ترتیب کو برقرار رکھنے کا ذمہ دار ہے۔
  • ڈویلپر کو تبدیلیوں کو چیک کرنا چاہیے اور تنازعات کو حل کرنا چاہیے۔

3. آڈیٹر۔

  • آڈیٹر SCM آڈٹ اور جائزوں کا ذمہ دار ہے۔
  • رہائی کی مستقل مزاجی اور مکمل ہونے کو یقینی بنانے کی ضرورت ہے۔

4. پروجیکٹ مینیجر:

  • اس بات کو یقینی بنائیں کہ پروڈکٹ ایک مخصوص وقت کے اندر تیار کی گئی ہے۔
  • ترقی کی پیش رفت پر نظر رکھتا ہے اور SCM عمل میں مسائل کو تسلیم کرتا ہے۔
  • سافٹ ویئر سسٹم کی حیثیت کے بارے میں رپورٹس بنائیں۔
  • اس بات کو یقینی بنائیں کہ عمل ، پالیسیاں بنانے ، تبدیل کرنے اور جانچنے کے لیے عمل کیا جاتا ہے۔

5. صارف

آخری صارف کو SCM کی کلیدی شرائط کو سمجھنا چاہیے تاکہ اس بات کو یقینی بنایا جا سکے کہ اس کے پاس سافٹ وئیر کا تازہ ترین ورژن ہے۔

سافٹ ویئر کنفیگریشن مینجمنٹ پلان

ایس سی ایم پی (سافٹ ویئر کنفیگریشن مینجمنٹ پلاننگ) عمل کی منصوبہ بندی کسی منصوبے کے ابتدائی کوڈنگ مراحل سے شروع ہوتی ہے۔ منصوبہ بندی کے مرحلے کا نتیجہ ایس سی ایم منصوبہ ہے جسے منصوبے کے دوران بڑھایا یا نظر ثانی کیا جا سکتا ہے۔

  • SCMP IEEE 828 یا تنظیم کے مخصوص معیار جیسے عوامی معیار کی پیروی کر سکتا ہے۔
  • یہ دستاویزات کی اقسام کو مینجمنٹ اور دستاویز کا نام بتاتا ہے۔ مثال Test_v1
  • ایس سی ایم پی اس شخص کی وضاحت کرتا ہے جو ایس سی ایم کے پورے عمل اور بیس لائنز کی تخلیق کا ذمہ دار ہوگا۔
  • ورژن مینجمنٹ اور تبدیلی کنٹرول کے لیے پالیسیاں درست کریں۔
  • ایس سی ایم کے عمل کے دوران استعمال ہونے والے ٹولز کی وضاحت کریں۔
  • کنفیگریشن مینجمنٹ ڈیٹا بیس کنفیگریشن معلومات کو ریکارڈ کرنے کے لیے۔

سافٹ ویئر کنفیگریشن مینجمنٹ ٹولز

کسی بھی تبدیلی مینجمنٹ سافٹ ویئر میں درج ذیل 3 کلیدی خصوصیات ہونی چاہئیں۔

ہم آہنگی کا انتظام:

جب ایک ہی وقت میں دو یا زیادہ کام ہو رہے ہوں تو اسے سمورتی آپریشن کہا جاتا ہے۔ ایس سی ایم کے تناظر میں ہم آہنگی کا مطلب یہ ہے کہ ایک ہی فائل میں ایک ہی وقت میں متعدد افراد ترمیم کر رہے ہیں۔

اگر ایس سی ایم ٹولز کے ساتھ ہم آہنگی کو صحیح طریقے سے منظم نہیں کیا جاتا ہے ، تو یہ بہت سے اہم مسائل پیدا کرسکتا ہے۔

ورژن کنٹرول:

SCM آرکائیو کا طریقہ استعمال کرتا ہے یا فائل میں کی گئی ہر تبدیلی کو محفوظ کرتا ہے۔ آرکائیو یا محفوظ کرنے کی خصوصیت کی مدد سے ، مسائل کی صورت میں پچھلے ورژن پر واپس جانا ممکن ہے۔

ہم وقت سازی:

صارفین ایک سے زیادہ فائلیں یا ذخیرے کی پوری کاپی چیک آؤٹ کر سکتے ہیں۔ اس کے بعد صارف مطلوبہ فائل پر کام کرتا ہے اور تبدیلیوں کو دوبارہ ذخیرے میں چیک کرتا ہے۔ وہ اپنی مقامی کاپی کو ٹیم کے دیگر ممبروں کی جانب سے کی جانے والی تبدیلیوں کے ساتھ اپ ڈیٹ رہنے کے لیے ہم آہنگ کر سکتے ہیں۔

مندرجہ ذیل مشہور ٹولز ہیں۔

1. جاؤ: گٹ ایک مفت اور اوپن سورس ٹول ہے جو ورژن کنٹرول میں مدد کرتا ہے۔ یہ ہر قسم کے منصوبوں کو رفتار اور کارکردگی کے ساتھ ہینڈل کرنے کے لیے ڈیزائن کیا گیا ہے۔

لنک ڈاؤن لوڈ کریں: https://git-scm.com/

2. ٹیم فاؤنڈیشن سرور: ٹیم فاؤنڈیشن ٹولز اور ٹکنالوجیوں کا ایک گروپ ہے جو ٹیم کو باہمی تعاون اور کسی پروڈکٹ کی تعمیر کے لیے تعاون فراہم کرتا ہے۔

لنک ڈاؤن لوڈ کریں: https://azure.microsoft.com/en-us/services/devops/server/

3. قابل جواب : یہ ایک اوپن سورس سافٹ ویئر کنفیگریشن مینجمنٹ ٹول ہے۔ کنفیگریشن مینجمنٹ کے علاوہ یہ ایپلی کیشن تعیناتی اور ٹاسک آٹومیشن بھی پیش کرتا ہے۔

لنک ڈاؤن لوڈ کریں: https://www.ansible.com/

مزید SW کنفیگریشن ٹولز چیک کریں: https://www.on2vhf.be/software-configuration-management-tools.html

نتیجہ:

  • کنفیگریشن مینجمنٹ کے بہترین طریقے تنظیموں کو سافٹ ویئر ڈویلپمنٹ لائف سائیکل کے دوران دستاویزات ، کوڈز اور دیگر اداروں میں تبدیلیوں کو منظم طریقے سے منظم ، منظم اور کنٹرول کرنے میں مدد دیتے ہیں۔
  • SCM عمل کا بنیادی مقصد کم سے کم غلطیوں کے ساتھ پیداوری میں اضافہ کرنا ہے۔
  • کنفیگریشن مینجمنٹ کے عمل کی بنیادی وجہ یہ ہے کہ سافٹ وئیر پر کام کرنے والے متعدد لوگ ہیں جو مسلسل اپ ڈیٹ ہو رہے ہیں۔ ایس سی ایم ہم آہنگی ، ہم وقت سازی اور ورژن کنٹرول قائم کرنے میں مدد کرتا ہے۔
  • بیس لائن سافٹ ویئر کنفیگریشن آئٹم کا باضابطہ طور پر قبول شدہ ورژن ہے۔
  • تبدیلی کنٹرول ایک طریقہ کار کا طریقہ ہے جو معیار اور مستقل مزاجی کو یقینی بناتا ہے جب کنفیگریشن آبجیکٹ میں تبدیلیاں کی جاتی ہیں۔
  • کنفیگریشن اسٹیٹس اکاؤنٹنگ SCM عمل کے دوران ہر ریلیز کو ٹریک کرتی ہے۔
  • سافٹ ویئر کنفیگریشن آڈٹ اس بات کی تصدیق کرتے ہیں کہ تمام سافٹ وئیر پروڈکٹ بنیادی لائن کی ضروریات کو پورا کرتی ہے۔
  • پروجیکٹ مینیجر ، کنفیگریشن مینیجر ، ڈویلپر ، آڈیٹر اور صارف ایس سی ایم کے عمل میں شریک ہیں۔
  • SCM عمل کی منصوبہ بندی کسی منصوبے کے ابتدائی مراحل سے شروع ہوتی ہے۔
  • گٹ ، ٹیم فاؤنڈیشن سیور اور اینسیبل ایس سی ایم کے کچھ مشہور ٹولز ہیں۔