سافٹ ویئر ڈویلپمنٹ لائف سائیکل ایک منظم عمل ہے جو اچھے معیار کے سافٹ ویئر کو ڈیزائن، تیار کرنے اور جانچنے کے لیے استعمال کیا جاتا ہے۔، یا سافٹ ویئر ڈویلپمنٹ لائف سائیکل، ایک طریقہ کار ہے جو سافٹ ویئر ڈویلپمنٹ کے پورے طریقہ کار کو مرحلہ وار بیان کرتا ہے۔ ایس ڈی ایل سی لائف سائیکل ماڈل کا مقصد اعلیٰ معیار کا، برقرار رکھنے کے قابل سافٹ ویئر فراہم کرنا ہے جو صارف کی ضروریات کو پورا کرتا ہے۔ سافٹ ویئر انجینئرنگ ماڈلز میں ہر مرحلے کے لیے منصوبہ بندی کا خاکہ پیش کرتا ہے تاکہ سافٹ ویئر ڈویلپمنٹ ماڈل کا ہر مرحلہ اپنے کام کو مؤثر طریقے سے انجام دے سکے تاکہ سافٹ ویئر کو ایک مقررہ مدت کے اندر کم قیمت پر فراہم کیا جا سکے جو صارفین کی ضروریات کو پورا کرتا ہے۔ اس مضمون میں ہم سافٹ ویئر ڈویلپمنٹ لائف سائیکل کو تفصیل سے دیکھیں گے۔
سافٹ ویئر ڈویلپمنٹ لائف سائیکل (SDLC) کیا ہے؟
SDLC ایک ایسا عمل ہے جس کی پیروی سافٹ ویئر تنظیم کے اندر سافٹ ویئر بنانے کے لیے کی جاتی ہے۔ SDLC ایک درست منصوبہ پر مشتمل ہے جو بیان کرتا ہے کہ کس طرح مخصوص سافٹ ویئر کو تیار کرنا، برقرار رکھنا، تبدیل کرنا اور بڑھانا ہے۔ لائف سائیکل سافٹ ویئر کے معیار اور ہمہ جہت ترقی کے عمل کو بہتر بنانے کا طریقہ بیان کرتا ہے
سافٹ ویئر ڈویلپمنٹ لائف سائیکل کے مراحل
SDLC سافٹ ویئر انجینئر یا ڈویلپر کے ذریعہ مختلف مراحل پر انجام دینے والے کاموں کی وضاحت کرتا ہے۔ یہ یقینی بناتا ہے کہ حتمی مصنوعات گاہک کی توقعات پر پورا اترنے کے قابل ہے اور مجموعی بجٹ میں فٹ بیٹھتی ہے۔ لہذا، سافٹ ویئر ڈویلپر کے لیے اس سافٹ ویئر ڈویلپمنٹ کے عمل کے بارے میں پیشگی معلومات حاصل کرنا بہت ضروری ہے۔ SDLC ان چھ مراحل کا مجموعہ ہے، اور SDLC کے مراحل درج ذیل ہیں:
ماڈل میں کوئی بھی سافٹ ویئر تیار کرتے وقت چھ مراحل یا مراحل شامل ہوتے ہیں۔ SDLC
مرحلہ-1: منصوبہ بندی اور ضرورت کا تجزیہ
منصوبہ بندی ہر چیز میں ایک اہم قدم ہے، بالکل اسی طرح جیسے سافٹ ویئر کی ترقی میں۔ اسی مرحلے میں، تنظیم کے ڈویلپرز کی طرف سے ضروریات کا تجزیہ بھی کیا جاتا ہے۔ یہ کسٹمر کے آدانوں، اور سیلز ڈیپارٹمنٹ/مارکیٹ سروے سے حاصل ہوتا ہے۔
اس تجزیے سے حاصل ہونے والی معلومات بنیادی پراجیکٹ کی تعمیر کا حصہ بنتی ہیں۔ منصوبے کا معیار منصوبہ بندی کا نتیجہ ہے۔ اس طرح، اس مرحلے میں، بنیادی پروجیکٹ کو تمام دستیاب معلومات کے ساتھ ڈیزائن کیا گیا ہے۔
مرحلہ-2: ضروریات کی وضاحت کرنا
اس مرحلے میں، ٹارگٹ سافٹ ویئر کے لیے تمام تقاضے بیان کیے گئے ہیں۔ ان تقاضوں کو صارفین، مارکیٹ تجزیہ کاروں اور اسٹیک ہولڈرز سے منظوری ملتی ہے۔
یہ ایس آر ایس (سافٹ ویئر کی ضرورت کی تفصیلات) کے استعمال سے پورا ہوتا ہے۔ یہ ایک قسم کی دستاویز ہے جو ان تمام چیزوں کی وضاحت کرتی ہے جن کی پورے پروجیکٹ سائیکل کے دوران وضاحت اور تخلیق کرنے کی ضرورت ہے۔
مرحلہ 3: ڈیزائننگ آرکیٹیکچر
ایس آر ایس سافٹ ویئر ڈیزائنرز کے لیے سافٹ ویئر کے لیے بہترین فن تعمیر کے لیے ایک حوالہ ہے۔ لہذا ایس آر ایس، میں بیان کردہ ضروریات کے ساتھ، پروڈکٹ کے فن تعمیر کے لیے متعدد ڈیزائن دستاویز کی تفصیلات (ڈی ڈی ایس) میں موجود ہیں۔
اس ڈی ڈی ایس کا اندازہ مارکیٹ کے تجزیہ کاروں اور اسٹیک ہولڈرز کے ذریعے کیا جاتا ہے۔ تمام ممکنہ عوامل کا جائزہ لینے کے بعد، ترقی کے لیے سب سے زیادہ عملی اور منطقی ڈیزائن کا انتخاب کیا جاتا ہے۔
مرحلہ 4: پروڈکٹ تیار کرنا
اس مرحلے پر، مصنوعات کی بنیادی ترقی شروع ہوتی ہے. اس کے لیے ڈیولپرز ڈی ڈی ایس میں ڈیزائن کے مطابق ایک مخصوص پروگرامنگ کوڈ استعمال کرتے ہیں۔ لہٰذا، کوڈرز کے لیے یہ ضروری ہے کہ وہ ایسوسی ایشن کے طے کردہ پروٹوکول پر عمل کریں۔ روایتی پروگرامنگ ٹولز جیسے کمپائلر، انٹرپریٹر، ڈیبگر وغیرہ کو بھی اس مرحلے پر استعمال میں لایا جاتا ہے۔ کچھ مشہور زبانیں جیسے C/C++، Python، Java، وغیرہ کو سافٹ ویئر کے ضوابط کے مطابق استعمال میں لایا جاتا ہے۔
مرحلہ 5: مصنوعات کی جانچ اور انضمام
مصنوعات کی ترقی کے بعد، سافٹ ویئر کی جانچ ضروری ہے تاکہ اس کے ہموار عمل کو یقینی بنایا جاسکے۔ اگرچہ، SDLC کے ہر مرحلے پر کم سے کم جانچ کی جاتی ہے۔ لہذا، اس مرحلے پر، تمام ممکنہ خامیوں کا سراغ لگایا جاتا ہے، طے کیا جاتا ہے، اور دوبارہ ٹیسٹ کیا جاتا ہے۔ یہ یقینی بناتا ہے کہ پروڈکٹ SRS کے معیار کی ضروریات کا مقابلہ کرتی ہے۔
دستاویزات، تربیت، اور معاونت: سافٹ ویئر دستاویزات سافٹ ویئر کی ترقی کے لائف سائیکل کا ایک لازمی حصہ ہے۔ ایک اچھی طرح سے لکھا ہوا دستاویز ایک ٹول کے طور پر کام کرتا ہے اور سافٹ ویئر کے عمل، افعال اور دیکھ بھال کے بارے میں جاننے کے لیے ضروری معلومات کے ذخیرے کا مطلب ہے۔ دستاویزی مصنوعات کو استعمال کرنے کے طریقے کے بارے میں بھی معلومات فراہم کرتی ہے۔ کسی ملازم کی سیکھنے کے ذریعے کام کرنے کی صلاحیت کو بڑھا کر، عام طور پر اس کا رویہ بدل کر اور اس کی مہارت اور سمجھ کو ترقی دے کر موجودہ یا مستقبل کے ملازم کی کارکردگی کو بہتر بنانے کی کوشش میں تربیت۔
مرحلہ 6: مصنوعات کی تعیناتی اور دیکھ بھال
تفصیلی جانچ کے بعد، حتمی مصنوعات کو تنظیم کی حکمت عملی کے مطابق مراحل میں جاری کیا جاتا ہے۔ پھر اسے حقیقی صنعتی ماحول میں آزمایا جاتا ہے۔ اس کی ہموار کارکردگی کو یقینی بنانا ضروری ہے۔ اگر یہ اچھی کارکردگی کا مظاہرہ کرتا ہے، تو تنظیم مجموعی طور پر پروڈکٹ بھیجتی ہے۔ فائدہ مند تاثرات حاصل کرنے کے بعد، کمپنی اسے صارفین کے لیے مزید مددگار بنانے کے لیے اسے جیسا ہے یا معاون بہتری کے ساتھ جاری کرتی ہے۔ تاہم، یہ اکیلے کافی نہیں ہے. لہذا، تعیناتی کے ساتھ، مصنوعات کی نگرانی.
سافٹ ویئر ڈویلپمنٹ لائف سائیکل ماڈلز
آج تک، ہمارے پاس 50 سے زیادہ تسلیم شدہ SDLC ماڈلز استعمال میں ہیں۔ لیکن ان میں سے کوئی بھی کامل نہیں ہے، اور ہر ایک مخصوص سافٹ ویئر ڈویلپمنٹ پروجیکٹ یا ٹیم کے لیے اپنے سازگار پہلو اور نقصانات لاتا ہے۔
یہاں، ہم نے سرفہرست پانچ مقبول ترین SDLC ماڈلز درج کیے ہیں:
1. آبشار کا ماڈل
یہ سافٹ ویئر ڈویلپمنٹ لائف سائیکل کا بنیادی ماڈل ہے۔ یہ ایک بہت سادہ ماڈل ہے۔ واٹر فال ماڈل اب عملی طور پر نہیں ہے، لیکن یہ تمام دیگر SDLC ماڈلز کی بنیاد ہے۔ اس کی سادہ ساخت کی وجہ سے، آبشار کا ماڈل استعمال کرنا آسان ہے اور ایک ٹھوس آؤٹ پٹ فراہم کرتا ہے۔ آبشار کے ماڈل میں، ایک بار ایک مرحلہ مکمل ہونے لگتا ہے، اسے تبدیل نہیں کیا جا سکتا، اور اس کم لچکدار نوعیت کی وجہ سے، آبشار کا ماڈل اب عملی طور پر نہیں ہے۔
2. چست ماڈل
SDLC میں فرتیلی ماڈل بنیادی طور پر درخواستوں کو تیزی سے تبدیل کرنے کے لیے تیار کیا گیا تھا۔ Agile ماڈل کا بنیادی مقصد پراجیکٹ کی جلد تکمیل کو آسان بنانا ہے۔ فرتیلی ماڈل ترقی کے عمل کے ایک گروپ سے مراد ہے۔ یہ عمل کچھ اسی طرح کی خصوصیات رکھتے ہیں لیکن آپس میں کچھ ٹھیک ٹھیک فرق بھی رکھتے ہیں۔
3. تکراری ماڈل
SDLC میں تکراری ماڈل میں، ہر سائیکل کے نتیجے میں نیم ترقی یافتہ لیکن قابل استعمال ورژن ہوتا ہے۔ ہر سائیکل کے ساتھ، سافٹ ویئر میں کچھ تقاضے شامل کیے جاتے ہیں، اور حتمی سائیکل کا نتیجہ سافٹ ویئر میں مکمل ضروریات کی تفصیلات کے ساتھ ہوتا ہے۔
4. سرپل ماڈل
SDLC میں سرپل ماڈل SDLC کے انتہائی اہم ماڈلز میں سے ایک ہے جو خطرے سے نمٹنے کے لیے معاونت فراہم کرتا ہے۔ اس کی خاکہ نما نمائندگی میں مختلف سرپل ہیں۔ سرپل کی تعداد منصوبے کی قسم پر منحصر ہے. سرپل کی ساخت میں ہر لوپ سرپل ماڈل کے مراحل کی نشاندہی کرتا ہے۔
5. وی کے سائز کا ماڈل
SDLC میں V-shaped ماڈل کو V-shape میں ترتیب وار انداز میں عمل میں لایا جاتا ہے۔ اس ماڈل کا ہر مرحلہ یا مرحلہ جانچ کے مرحلے کے ساتھ مربوط ہے۔ ہر ترقی کے مرحلے کے بعد، ایک جانچ کا مرحلہ اس کے ساتھ منسلک ہوتا ہے، اور اگلا مرحلہ پچھلا مرحلہ مکمل ہونے کے بعد شروع ہو جائے گا، یعنی ترقی اور جانچ۔ اسے توثیق یا توثیق ماڈل کے نام سے بھی جانا جاتا ہے۔
6. بگ بینگ ماڈل
SDLC میں بگ بینگ ماڈل ایک اصطلاح ہے جو سافٹ ویئر ڈویلپمنٹ کے لیے ایک غیر رسمی اور غیر ساختہ نقطہ نظر کو بیان کرنے کے لیے استعمال ہوتی ہے، جہاں کوئی خاص منصوبہ بندی، دستاویزات، یا اچھی طرح سے طے شدہ مراحل نہیں ہوتے ہیں۔
کی کیا ضرورت ہے؟ SDLC
SDLC ایک طریقہ، نقطہ نظر، یا عمل ہے جس کی پیروی سافٹ ویئر ڈویلپمنٹ آرگنائزیشن کسی بھی سافٹ ویئر کو تیار کرتے وقت کرتی ہے۔ SDLC ماڈلز کو سافٹ ویئر ڈیزائن کرتے وقت ایک نظم و ضبط اور منظم طریقہ پر عمل کرنے کے لیے متعارف کرایا گیا تھا۔ سافٹ ویئر ڈویلپمنٹ لائف سائیکل کے ساتھ، سافٹ ویئر ڈیزائن کے عمل کو چھوٹے حصوں میں تقسیم کیا جاتا ہے، جس سے مسئلہ زیادہ قابل فہم اور حل کرنا آسان ہو جاتا ہے۔ SDLC سافٹ ویئر کو ڈیزائن کرنے، تیار کرنے، جانچنے اور برقرار رکھنے کے لیے ایک تفصیلی وضاحت یا مرحلہ وار منصوبہ پر مشتمل ہے۔
سیکیورٹی کو کیسے ایڈریس کرتا ہے؟ SDLC
سافٹ ویئر ڈویلپمنٹ میں اکثر مسئلہ سیکورٹی سے متعلقہ کاموں کا ٹیسٹنگ مرحلے تک تاخیر ہے، جو سافٹ ویئر ڈویلپمنٹ لائف سائیکل (SDLC) میں دیر سے ہوتا ہے اور اہم ڈیزائن اور نفاذ کی اکثریت مکمل ہونے کے بعد ہوتا ہے۔ جانچ کے مرحلے کے دوران، سیکیورٹی چیک کم سے کم ہوسکتے ہیں اور اسکیننگ اور پینیٹریشن ٹیسٹنگ تک محدود ہوسکتے ہیں، جو سیکیورٹی کی مزید پیچیدہ خامیوں کی نشاندہی کرنے میں ناکام ہوسکتے ہیں۔
ڈی او اوپس کی پیروی کرکے ایس ڈی ایل سی میں سیکیورٹی کے مسئلے کو حل کیا جاسکتا ہے۔ سیکورٹی کو پورے SDLC میں، تعمیر سے لے کر پیداوار تک، DevSecOps کے استعمال کے ذریعے مربوط کیا جاتا ہے۔ DevOps ویلیو چین میں شامل ہر شخص کی DevSecOps کے تحت سیکیورٹی کی ذمہ داری ہے۔
کی حقیقی زندگی کی مثال SDLC
:کا استعمال کرتے ہوئے بینکنگ ایپلیکیشن تیار کرنا SDLC
- منصوبہ بندی اور تجزیہ: اس مرحلے کے دوران، بینکنگ ایپلیکیشن کی فعالیت اور خصوصیات کے بارے میں کاروباری اسٹیک ہولڈرز کی ضروریات پروگرام مینیجرز اور کاروباری تجزیہ کار جمع کریں گے۔ تفصیلی SRS (سافٹ ویئر کی ضرورت کی تفصیلات) دستاویزات ان کے ذریعہ تیار کی جائیں گی۔ کاروباری اسٹیک ہولڈرز کے ساتھ، کاروباری تجزیہ کار SRS دستاویز کا تجزیہ اور منظوری دیں گے۔
- ڈیزائن: ڈویلپرز کو SRS دستاویزات موصول ہوں گی۔ ڈویلپرز دستاویزات کو پڑھیں گے اور وضاحتیں سمجھیں گے۔ ویب صفحات ڈیزائنرز کے ذریعے ڈیزائن کیے جائیں گے۔ ہائی لیول سسٹم آرکیٹیکچر ڈویلپرز کے ذریعے تیار کیا جائے گا۔
- ترقی: اس مرحلے کے دوران، ترقی کوڈ کرے گا. وہ خصوصیت کو عملی جامہ پہنانے کے لیے درکار ویب صفحات اور APIs بنائیں گے۔
- جانچ: جامع فنکشنل ٹیسٹنگ کی جائے گی۔ وہ اس بات کی ضمانت دیں گے کہ بینکنگ پلیٹ فارم خرابی سے پاک ہے اور صحیح طریقے سے کام کر رہا ہے۔
- تعیناتی اور دیکھ بھال: کوڈ صارفین کو دستیاب کرایا جائے گا اور تعینات کیا جائے گا۔ اس تعیناتی کے بعد، صارف آن لائن بینکنگ تک رسائی حاصل کر سکتا ہے۔ کوئی بھی اضافی خصوصیات بنانے کے لیے یہی طریقہ کار استعمال کیا جائے گا۔
ماڈل کا انتخاب کیسے کریں؟ SDLC
پراجیکٹ کی کامیابی کے لیے صحیح SDLC (سافٹ ویئر ڈیولپمنٹ لائف سائیکل) ماڈل کا انتخاب ضروری ہے۔ غور کرنے کے لیے یہاں اہم عوامل ہیں:
1. پروجیکٹ کے تقاضے:
- ضروریات کو صاف کریں: اگر ضروریات اچھی طرح سے بیان کی گئی ہیں اور ان میں تبدیلی کا امکان نہیں ہے تو Waterfall یا V-Model کا استعمال کریں۔
- تقاضوں کو تبدیل کرنا: اگر تقاضے واضح نہیں ہیں یا اس کے تیار ہونے کا امکان ہے تو فرتیلی یا تکراری ماڈل استعمال کریں۔
2. پروجیکٹ کا سائز اور پیچیدگی:
- چھوٹے منصوبے: چھوٹے، سادہ منصوبوں کے لیے واٹر فال یا RAD استعمال کریں۔
- بڑے پروجیکٹس: ان بڑے، پیچیدہ پروجیکٹس کے لیے چست، سرپل، یا DevOps استعمال کریں جن میں لچک کی ضرورت ہے۔
3. ٹیم کی مہارت:
- تجربہ کار ٹیمیں: اگر ٹیم تکراری ترقی سے واقف ہے تو چست یا سکرم کا استعمال کریں۔
- کم تجربہ کار ٹیمیں: ساختہ رہنمائی کی ضرورت والی ٹیموں کے لیے واٹر فال یا V-Model کا استعمال کریں۔
4. کلائنٹ کی شمولیت:
- بار بار کلائنٹ کی رائے: اگر باقاعدہ کلائنٹ کی بات چیت کی ضرورت ہو تو Agile، Scrum، یا RAD استعمال کریں۔
- کلائنٹ کی کم سے کم شمولیت: اگر ابتدائی منصوبہ بندی کے بعد کلائنٹ کی شمولیت کم ہو تو Waterfall یا V-Model کا استعمال کریں۔
5. وقت اور بجٹ کی پابندیاں:
- مقررہ وقت اور بجٹ: اگر آپ کے پاس وقت اور بجٹ کی حد سخت ہے تو واٹر فال یا V-Model کا استعمال کریں۔
- لچکدار وقت اور بجٹ: اگر آپ ضرورت کے مطابق وقت اور بجٹ کو ایڈجسٹ کر سکتے ہیں تو چست یا سرپل کا استعمال کریں۔
6. رسک مینجمنٹ:
- ہائی رسک پروجیکٹس: اہم خطرات اور غیر یقینی صورتحال والے پروجیکٹس کے لیے سرپل کا استعمال کریں۔
- کم خطرے والے پروجیکٹس: کم سے کم خطرات والے پروجیکٹس کے لیے واٹر فال استعمال کریں۔
7. پروڈکٹ ریلیز ٹائم لائن:
- فوری ریلیز کی ضرورت ہے: مصنوعات کو تیزی سے ڈیلیور کرنے کے لیے چست یا RAD کا استعمال کریں۔
- ترقی کا طویل وقت: ایسے منصوبوں کے لیے واٹر فال یا V-Model استعمال کریں جن کی کوئی فوری ڈیڈ لائن نہیں ہے۔
8. بحالی اور سپورٹ:
- طویل مدتی دیکھ بھال: مسلسل اپ ڈیٹس اور سپورٹ کی ضرورت والے پروجیکٹس کے لیے Agile یا DevOps کا استعمال کریں۔
- کم سے کم دیکھ بھال: اگر مستقبل میں بہت کم دیکھ بھال متوقع ہو تو آبشار یا V-ماڈل کا استعمال کریں۔
9. اسٹیک ہولڈر کی توقعات:
- اعلی اسٹیک ہولڈر کی مصروفیت: اگر اسٹیک ہولڈرز جاری شمولیت چاہتے ہیں تو چست یا سکرم کا استعمال کریں۔
- اسٹیک ہولڈر کی کم مصروفیت: اگر اسٹیک ہولڈرز صرف اہم سنگ میلوں پر شمولیت کو ترجیح دیتے ہیں تو واٹر فال یا وی-ماڈل کا استعمال کریں۔
نوٹ:
- آبشار: کم سے کم تبدیلیوں کے ساتھ واضح، مستحکم منصوبوں کے لیے بہترین۔
- V-Model: واضح تقاضوں اور جانچ پر مضبوط توجہ والے پروجیکٹس کے لیے اچھا ہے۔
- فرتیلی/اسکرم: بدلتی ہوئی ضروریات اور بار بار کلائنٹ کے تعامل کے ساتھ پروجیکٹس کے لیے مثالی۔
- سرپل: ترقی پذیر تقاضوں کے ساتھ اعلی خطرے والے منصوبوں کے لیے موزوں ہے۔
- RAD: تیزی سے ترقی کی ضرورت کے منصوبوں کے لیے مفید ہے۔
- DevOps: مسلسل انضمام اور جاری تعاون کے لیے بہترین
نتیجہ
آخر میں، ہم اب جانتے ہیں کہ سافٹ ویئر انجینئرنگ میں سافٹ ویئر ڈویلپمنٹ لائف سائیکل (SDLC) بہتر اور زیادہ منظم سافٹ ویئر پروگراموں کی ترقی کے لیے ایک اہم فریم ورک ہے۔ ٹیکنالوجی میں تیزی سے ارتقاء سے بھرپور دنیا میں، SDLC کے مراحل صارفین اور تنظیموں کی مدد کے لیے کچھ اچھے اور اختراعی حلوں کو فعال کرنے میں اہم کردار ادا کرتے ہیں۔ اس کے علاوہ، سافٹ ویئر کی ترقی کے اہداف کو مؤثر طریقے سے حاصل کرنے کے لیے SDLC اصولوں کو اپنانا بہتر ہے۔