JavaRush /جاوا بلاگ /Random-SD /سافٽ ويئر انجنيئر ڪير آهي؟ سافٽ ويئر انجنيئرنگ VS "صرف" پ...

سافٽ ويئر انجنيئر ڪير آهي؟ سافٽ ويئر انجنيئرنگ VS "صرف" پروگرامنگ

گروپ ۾ شايع ٿيل
اسان توهان جي توجهه ۾ آڻيون ٿا سمر بونا جي هڪ آرٽيڪل جي موافقت جنهن بابت سافٽ ويئر انجنيئرنگ ۽ پروگرامنگ جي وچ ۾ فرق، يا ڪيئن هڪ سافٽ ويئر تصور کي ترقي ڪرڻ "صرف ڪوڊنگ" کان مختلف آهي.
سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
سڀئي سافٽ ويئر انجنيئر ڪوڊ ڪري سگھن ٿا، پر نه سڀئي پروگرامر سافٽ ويئر تصورات کي ترقي ڪري سگھن ٿا. ڪجهه ماڻهو ”سافٽ ويئر انجنيئر“ اصطلاح پسند نه ڪندا آهن (اڪا سافٽ ويئر انجنيئر) ڇاڪاڻ ته اڪثر ڪري اسين لفظ ”انجنيئر“ استعمال ڪندا آهيون جڏهن ڪنهن شيءِ جي باري ۾ ڳالهائيندا آهيون ”انجنيئر“، مثال طور. اسان جو مضمون، يقينا، اصطلاح جي باري ۾ نه آهي. جيڪڏهن اهو اوچتو توهان کي رد ڪري ٿو، اهو آساني سان تخليقيت سان لاڳاپيل شيء سان تبديل ٿي سگهي ٿو. ”سافٽ ويئر خالق“، ”سافٽ ويئر ليکڪ“... يا اڃا ”سافٽ ويئر خالق“!
جڏهن اسان ”سافٽ ويئر انجنيئر“ جي باري ۾ ڳالهايون ٿا، اسان جو مطلب اهو آهي ته هڪ شخص جنهن جو بنيادي ڪم صرف ڪوڊ لکڻ ناهي، پر هڪ معيار جي ايپليڪيشن ٺاهڻ آهي. ۽ ان ۾ هو پنهنجي سڏ کي ڏسي ٿو، هڪ سائنسي انداز ۽ شمارياتي طريقن کي پنهنجي ڪم تي لاڳو ڪرڻ. هن لاءِ ، پروگرامنگ صرف کاڌي لاءِ پئسا ڪمائڻ جو هڪ طريقو ناهي.
پروگرام ڪرڻ جي صلاحيت خود بخود هڪ شخص کي سافٽ ويئر انجنيئر نٿو بڻائي. ڪو به ماڻهو ڪوڊ ڪرڻ سکي سگهي ٿو، ۽ اهو ان کان وڌيڪ آسان آهي. ڪو به ماڻهو پنهنجي استعمال لاءِ هڪ سادي پروگرام ٺاهي سگهي ٿو، پر اهو ان ڳالهه جي گارنٽي نٿو ڏئي ته اهو ساڳيو پروگرام ٻين لاءِ ڪم ڪندو. منهنجو پسنديده مثال هي آهي: اسان مان ڪيترائي شاور ۾ ڳائيندا آهن، پر افسوس، هي ڪارڪردگي هميشه پروفيسر اسٽيج جي لائق ناهي. يقينا، هڪ اعلي معيار جي موسيقي تجربو لاء، توهان گهڻو ڪري هڪ پرو ڏانهن رخ ڪندا. ڇا توھان کي وڌيڪ مثالن جي ضرورت آھي؟
  • اسان سڀ اسڪول ۾ رياضي ۽ لکڻ سکندا آهيون، پر اهو اسان کي رياضي دان ۽ اديب نٿو بڻائي.
  • اسان مان گھڻا ماڻھو قابل ۽ ڪڏهن ڪڏهن تمام لذيذ ڊش تيار ڪرڻ جي قابل هوندا آھن، پر ھر ڪو سفارتخاني جي ڊنر پارٽي لاءِ 100 ماڻھن لاءِ ٽيبل تيار ڪرڻ جي جرئت نه ڪندو. انهي حالت ۾، اسان هڪ ڪڪڙ ڀريندا آهيون.
  • ڇا توھان ھاڻي تيار آھيو پنھنجي نئين گھر جي اڏاوت کي پاڙيسري جي ٻار ڏانھن مڪمل طور تي سپرد ڪرڻ لاءِ جيڪو Lego مان متاثر ڪندڙ شاهڪار ٺاھي ٿو؟
منهنجو مکيه نقطو جيڪو آئون هن مضمون ۾ پهچائڻ جي ڪوشش ڪري رهيو آهيان اهو آهي ته سادو پروگرام انجنيئرن پاران ٺهيل پروگرامن کان بلڪل مختلف آهن. پروگرامنگ جي عمل جي آسان ترين وصف: ڪمپيوٽر لاءِ عملن جي ترتيب ڏنل ترتيب کي ترتيب ڏيڻ لاءِ ڪا خاص شيءِ حاصل ڪرڻ لاءِ هڪ آئوٽ پُٽ جي طور تي، ڏنل ان پٽ پيراميٽرس. سافٽ ويئر انجنيئرنگ جو عمل ڪيترن ئي استعمال ڪندڙن لاءِ مسئلا حل ڪرڻ لاءِ ڪمپيوٽر پروگرام جي ڊيزائن، لکڻ، جاچ، ۽ ڪرشن آهي. اهو قابل اعتماد ۽ محفوظ حل ٺاهڻ جي باري ۾ آهي جيڪو وقت جي امتحان تي بيٺل هوندو ۽ واضح کان ٻاهر ڪجهه ممڪن طور تي اڻڄاتل چئلينج لاء ڪم ڪندو.
سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
سافٽ ويئر انجنيئرن کي انهن مسئلن جي باري ۾ سڀ ڪجهه ڄاڻو ٿا جيڪي اهي حل ڪن ٿا، انهن جو حل پيش ڪن ٿا، انهن حلن جون حدون، انهن جي رازداري ۽ سيڪيورٽي. منهنجي خيال ۾، جيڪڏهن ڪو ماڻهو مسئلي جي جوهر کي نه سمجهي، ان کي ان جي حل جو پروگرام شروع ڪرڻ به نه گهرجي.

انجنيئرنگ ذهنيت - لاڳو ٿيل حل جي ڳولا

سافٽ ويئر انجنيئرز لکڻ تي غور نه ڪندا آهن سافٽ ويئر في سي انهن جو بنيادي مقصد. اهي ضرورتن کي پورا ڪرڻ ۽ مسئلن کي حل ڪرڻ جي لحاظ کان سوچندا آهن . اهو ضروري آهي ڇو ته هر مسئلي کي سافٽ ويئر حل جي ضرورت ناهي. انهن مان ڪجهه موجوده پروگرامن کي استعمال ڪندي ڊيل ڪري سگهجي ٿو. ڪجھ مسئلن جي واقعن جو اڳ ۾ ئي اڳڪٿي ڪري سگھجي ٿو، ۽ قابل پروگرام ڊيزائن جي مدد سان، انھن کي مستقبل ۾ بچائي سگھجي ٿو.

”دانشور مسئلا حل ڪن ٿا، ذهين انهن کي روڪين ٿا“

- البرٽ آئن اسٽائن

سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
پيچيده مسئلا اڪثر ڪري ڪيترن ئي پروگرامن کي لکڻ جي ضرورت آهي. اهڙا ڪم آهن جيڪي متوازي طور تي هلندڙ ايپليڪيشنن جي ضرورت هونديون آهن، جڏهن ته ٻين کي ڪيترن ئي پروگرامن جي ترتيب واري عمل جي ضرورت هوندي آهي. ڪيترن ئي مسئلن کي صرف استعمال ڪندڙن جي تربيت ذريعي حل ڪري سگهجي ٿو. پروگرام ٺاهڻ شروع ڪرڻ کان اڳ، هڪ سافٽ ويئر انجنيئر پاڻ کان ڪيترائي سوال پڇي ٿو:
  • مون کي ڪهڙا مسئلا حل ڪرڻ گهرجي؟
  • انهن کي حل ڪرڻ لاءِ ڪوڊ لکڻ کان سواءِ توهان ٻيو ڇا ڪري سگهو ٿا؟
  • ايپ سان انهن ڪمن کي آسان بڻائڻ لاءِ مان ڇا ڪري سگهان ٿو؟

پروگرام معيار ۽ ڪوڊ معيار

سٺا پروگرام واضح ۽ پڙهڻ لائق آهن. اهي وڌائڻ ۾ آسان آهن، ٻين پروگرامن سان چڱي طرح کيڏڻ، ۽ ڪم ڪرڻ لاء هڪ خوفناڪ خواب نه هوندو. ڪوڊ جي معيار قابل ذڪر نه آهي. اهو اعلي هجڻ گهرجي، اهو سڀ ڪجهه آهي. جڏهن ان تي غور ڪيو وڃي، عذر جهڙوڪ ڪوڊر جي خراب موڊ يا تمام تنگ ڊيڊ لائنون (او، اهي آخري حدون!) ناقابل قبول آهن. سافٽ ويئر ڊولپمينٽ جي سڀ کان اهم حصن مان هڪ پروگرام کي اهڙي طرح ڊزائين ڪرڻ آهي ته اهو مستقبل ۾ برقرار رکڻ ۽ تبديل ڪرڻ آسان آهي (هيلو، OOP!). اڄڪلهه، لڳ ڀڳ سڀ سافٽ ويئر تبديل ڪري سگهجن ٿا، اڪثر اهو عمل صارف جي شموليت کان سواءِ به ٿئي ٿو يا ڪنهن به شيءِ جي ضرورت نه آهي صارف کان سواءِ ”توهان جو پروگرام اپڊيٽ ڪيو ويو آهي، ٺيڪ تي ڪلڪ ڪريو يا ملتوي ڪريو. يقينا، صارفين کي ايپليڪيشنن کان نئين خاصيتن جي طلب ڪرڻ جو حق آهي (خاص طور تي جيڪڏهن اسان ڊگهي هلندڙ انٽرپرائز سافٽ ويئر بابت ڳالهائي رهيا آهيون جيڪا جاوا ۾ لکيل آهي، يا آن لائن رانديون جيڪي سالن تائين کيڏي سگهجن ٿيون).
جاوا پروگرامنگ بابت وڌيڪ ڄاڻڻ چاهيو ٿا؟ جاوا ڊولپر گروپ ۾ شامل ٿيو !
ڪوڊ جو هڪ ٽڪرو پاڻ کي مشڪل سان مفيد چئي سگهجي ٿو. سافٽ ويئر جي ڪارائتي ڪارڪردگي شروع ٿئي ٿي جتي ايپليڪيشنن جا مختلف ٽڪرا هڪ ٻئي سان گفتگو ڪن ٿا، ڊيٽا مٽائي، ۽ گڏجي ڪم ڪرڻ لاءِ ڪم ڪن ٿا استعمال ڪندڙن کي ڊيٽا ۽ انٽرفيس پيش ڪرڻ لاءِ.
سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
انهن نقطن کي ذهن ۾ رکندي پروگرام ٺاهڻ گهرجن! اهي ڪهڙا پيغام وصول ڪن ٿا؟ ڪهڙا واقعا نگراني ڪيا ويا آهن؟ تصديق ۽ اختيار ڪيئن ٿئي ٿي؟ سٺي پروگرام جي هڪ ٻي جيتري اهم نشاني ڪوڊ جي وضاحت آهي، نه ته ٽيسٽن جو تعداد جيڪو ايپليڪيشن پاس ڪيو آهي يا اڃا به سٺي ٽيسٽ ڪوريج. بظاهر سادو سوال: ”ڇا مون کان سواءِ ڪو ٻيو ڪو منهنجو ڪوڊ سمجهي سگهي ٿو؟“، ”ڇا مان اڄ هي ڪوڊ لکندس ۽ ڪجهه هفتن ۾ سمجهي سگھان ٿو؟ پروگرامنگ ۾ ٻن سخت شين بابت هڪ مشهور اقتباس چوي ٿو:

"صرف ٻه حقيقتون سخت شيون آهن: ڪيش کي باطل ڪرڻ ۽ اداري جو نالو ڏيڻ"

- فل ڪارلٽن.

ڪوڊ پڙهڻ جي صلاحيت عام طور تي مڃيل کان وڌيڪ اهم آهي. بدقسمتي سان، اهو ممڪن ناهي ته ڪوڊ جي وضاحت لاء درست ميٽرڪس يا پيٽرولن جي وضاحت ڪرڻ. عام طور تي قبول ٿيل ٻولي جي معيارن کي ياد ڪرڻ، سٺو سافٽ ويئر ماڊل، ۽ ترقي جا طريقا حصو ۾ مدد ڪندا. پر عام طور تي هي ڪافي نه آهي. وقت ۽ تجربي سان، سچا پروفيسر ترقي ڪن ٿا، تنهنڪري ڳالهائڻ لاء، "وضاحت جو احساس،" ڪجهه وجدان جي برابر آهي. لکڻ جو استعارو هتي سٺو ڪم ڪري ٿو: گھڻن لفظن کي ڄاڻڻ سان توهان کي ڪجهه لکڻ ۾ مدد نه ملندي جيڪا جامع ۽ معني ۾ واضح هجي.

"مان ان کي ننڍو لکان ها، پر مون وٽ وقت نه هو."

- مارڪ ٽوائن.

تڪڙو ۽ آساني سان بگ کي درست ڪرڻ جي صلاحيت سٺي سافٽ ويئر جي هڪ اهم خصوصيت آهي. پروگرام ۾ غلطيون واضح پيغام موڪلڻ ۽ ٽريڪنگ لاء مرڪزي طور تي لاگ ان ٿيڻ گهرجي. جڏهن هڪ نئين غلطي جي رپورٽ ڪئي وئي آهي، جيڪو شخص ان کي درست ڪندو ان کي ڊيبگ ڪرڻ جي صلاحيت هجڻ گهرجي. هن کي سسٽم سان آساني سان ڳنڍڻ جي ضرورت آهي، ڪنهن به وقت عملدرآمد جي معلومات تائين رسائي، ۽ پڻ سسٽم جي ڪنهن به حصي جي ڪارڪردگي کي آساني سان جانچڻ جي قابل هوندو.

ماحول ۽ ٽيسٽ

جڏهن سافٽ ويئر انجنيئر ايپليڪيشنون ٺاهيندا آهن، اهي پنهنجو بهترين ڪم ڪن ٿا انهي کي يقيني بڻائڻ ته اهي مختلف آرڪيٽيڪچر جي ڪمپيوٽرن تي ڪم ڪن ٿا ۽ مختلف آپريٽنگ سسٽم سان. اهو ضروري آهي ته سافٽ ويئر مختلف ريزوليوشنز ۽ اسڪرين آرينٽيشن تي ڪم ڪري، ۽ اهو به ته اهو ”ڪاءُ“ نه ڪري، ضرورت کان وڌيڪ ميموري ۽ پروسيسنگ پاور.
سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
جڏهن اهو اچي ٿو ويب ايپليڪيشنون، انهن کي ڪم ڪرڻ گهرجي سڀني وڏن برائوزرن ۾. جڏهن هڪ ڊيسڪ ٽاپ ايپليڪيشن ٺاهيندي، توهان کي پڪ ڪرڻ جي ضرورت آهي ته اهو شروع ٿئي ٿو ۽ Mac، Windows، ۽ Linux تي صحيح ڪم ڪري ٿو. خير، پروگرام ڊيٽا تي منحصر آهي، پوء ايپليڪيشن کي ڪم ڪرڻ گهرجي جيتوڻيڪ سست ڊيٽا ڪنيڪشن يا ان جي غير موجودگي جي صورت ۾. سافٽ ويئر جو هڪ ٽڪرو لکڻ لاء، انجنيئر سڀني قسمن جي منظرن جي اختيارن جي ذريعي سوچيو ۽ انهن کي جانچڻ جو منصوبو. اهو سڀ ڪجهه شروع ٿئي ٿو مثالي اختيار چونڊڻ سان، جنهن ۾ هر شي بغير ڪنهن غلطي جي ڪم ڪري ٿي. اهي وري ڪنهن به امڪاني مسئلن کي دستاويز ڪن ٿا ۽ انهن کي ٽيسٽ پلان ۾ لکن ٿا. ڪجهه انجنيئر ڪوڊ لکڻ سان شروع ڪندا آهن، جنهن کي اهي هڪ ٽيسٽ ڪيس سڏين ٿا، جيڪو سڀني ممڪن مسئلن ۽ غلطين لاءِ منظرنامو ٺاهي ٿو. ۽ پوء هڪ پروگرام لکيو ويو آهي جيڪو ڪم ڪري سگهي ٿو ڪنهن به اختيارن سان. هڪ باصلاحيت سافٽ ويئر انجنيئر جي منفرد صلاحيت اهو نه آهي ته ڪوڊ ڪيئن لکجي، پر اهو سمجهڻ ته ايپليڪيشن کي ڇا ڪرڻ گهرجي ۽ ان کي ڪيئن حاصل ڪجي. جڏهن ڪسٽمر جي سافٽ ويئر گهرجون نامڪمل ۽ ممڪن طور تي مبهم آهن، انجنيئر کي انهن کي صحيح انداز ۾ جائزو وٺڻ ۽ "سمجهڻ" جي ضرورت آهي.

قيمت ۽ ڪارڪردگي

هڪ سافٽ ويئر انجنيئر اڪثر ڪيسن ۾ جلدي مسئلو حل ڪري سگهي ٿو. جيڪڏهن توهان سوچيو ته هڪ "مهانگو" تجربيڪار پروگرامر کي ملازمت ڏيڻ توهان جي قيمتن ۾ اضافو ٿيندو، ٻيهر سوچيو. پروگرامر جيترو وڌيڪ تجربيڪار هوندو، اوترو ئي تيز هو هڪ سادو، صاف، قابل اعتماد ۽ استعمال ۾ آسان حل مهيا ڪرڻ جي قابل هوندو. ڊگهي عرصي ۾، اهو ضرور ضرور سافٽ ويئر ڊولپمينٽ جي خرچن کي گهٽائيندو.
سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
اهو پڻ ضروري آهي ته پروگرام تي عمل ڪرڻ جي خرچن تي غور ڪيو وڃي. ڪو به پروگرام ڪمپيوٽنگ وسيلن کي استعمال ڪري ٿو، ۽ اهي مفت نه آهن.
هڪ سافٽ ويئر انجنيئر جو ڪم موثر ڪوڊ لکڻ آهي جيڪو ڪمپيوٽنگ وسيلن کي غير ضروري طور استعمال نٿو ڪري.
مثال طور، ڪيشنگ اڪثر ڊيٽا تائين رسائي حاصل ڪرڻ لاء استعمال ڪيل ممڪن حڪمت عملي مان هڪ آهي گهربل نتيجو. پر اهو صرف هڪ آهي شايد سوين اوزارن ۽ حلن مان جيڪو هڪ پروگرام کي تيز ۽ وڌيڪ ڪارائتو بڻائي سگهي ٿو. هڪ نئون پروگرامر توهان کي سستو حل فراهم ڪري سگهي ٿو، پر اهڙي حل کي استعمال ڪندي آخرڪار توهان جي ۽ توهان جي ڪلائنٽ جي ڀيٽ ۾ تمام گهڻو خرچ ٿيندو جيڪڏهن توهان هڪ تجربيڪار ڊولپر سان ڪم ڪيو جنهن پهرين جڳهه ۾ هڪ مؤثر حل پيدا ڪيو.

صارف جي تجربي تي ڌيان ڏيو

هڪ سٺو پروگرامر ترقي ڪري ٿو صارف جي تجربي (UX) سان ذهن ۾. انساني-مشين رابطي هڪ موضوع آهي جيڪو لامحدود تحقيق ۽ حل سان گڏ آهي. وڌيڪ حل لاڳو ڪيا ويا آهن، بهتر پروگرام نڪرڻ گهرجي. هتي ڪجھ مثال آهن، صرف توهان کي احساس ڏيارڻ لاءِ ته هي هدايت ڇا آهي:
  • جڏهن ڊيٽا داخلا فارم ڊزائين ڪرڻ جهڙوڪ اي ميل، هڪ سٺو پروگرام اي ميل پتي جي صورت کي نظر انداز ڪرڻ گهرجي. جيڪڏهن CAPSLOCK چيڪ کي دٻايو وڃي ته اهو غلطي نه اڇلائڻ گهرجي ڇو ته اي ميل پتو ننڍو آهي منفرد آهي. جيڪڏهن پروگرام هڪ نئين اي ميل ايڊريس کي ان پٽ طور قبول ڪري ٿو، ان کي چيڪ ڪريو ان پٽ جي عمل جي شروعات ۾ صارف کي خبردار ڪرڻ لاءِ ته اهي غلط ايڊريس فارميٽ استعمال ڪري رهيا آهن. ھن حل ۾ ٻئي پڌرا چيڪ شامل آھن جھڙوڪ غائب ٿيل ”@“ نشاني، ۽ ايترو پڌرو به نه آھي، جيئن اکرن جي غلط ترتيب جي چڪاس ڪرڻ جھڙوڪ ”gmail.ocm“

  • جڏهن صارف کي ڪجهه عمل ڪرڻ لاء ريڊائريڪٽ ڪيو ويو آهي، هڪ سٺو پروگرام هن جي موجوده پوزيشن کي ياد رکڻ گهرجي ۽ هن کي ختم ٿيڻ کان پوء واپس موٽڻ گهرجي. هڪ سٺو پروگرام پڻ ياد رکڻ گهرجي ڊيٽا جيڪو اڳ ۾ ئي استعمال ڪندڙ طرفان منتقل ڪيو ويو آهي، جيڪو هن سان وڌيڪ رابطي لاء ضروري آهي.

    اچو ته چئو ته توهان Expedia تي مهمان طور هوائي سفر ڳولي رهيا آهيو. بعد ۾ توهان هڪ اڪائونٽ ٺاهڻ جو فيصلو ڪيو. ايپ کي توهان جي سڀني پوئين ڳولها کي نئين اڪائونٽ ۾ محفوظ ڪرڻ گهرجي ۽ توهان انهن کي ٻين ڊوائيسز کان رسائي ڪرڻ جي قابل هوندو.


  • سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
  • ھڪڙو سٺو پروگرام ٺاھيو ويو آھي صارف جي رويي جي منظرنامي سان ذهن ۾. توهان کي صرف نئين خاصيتن کي شامل ڪرڻ جي ضرورت ناهي "توهان" جي بنياد تي؛ پنهنجو پاڻ کي صارف جي بوٽن ۾ رکو. هڪ ڏينهن آئون جهاز جون ٽڪيٽون بک ڪري رهيو هوس ۽ پنهنجو بار بار فلائر نمبر شامل ڪرڻ وساري ويس. تصديق حاصل ڪرڻ کان پوء، مون ايئر لائن جي ويب سائيٽ تي وڃڻ جو فيصلو ڪيو ۽ رعايت حاصل ڪرڻ لاءِ ان کي شامل ڪيو. اهو معلوم ڪرڻ لاءِ ته اهو ڪيئن ڪجي ، مون 10 منٽن لاءِ سائيٽ سان ڀرجي ويس. ايپليڪيشن ايتري ته غير واضح هئي جو مان صرف سائيٽ جي مختلف صفحن ذريعي بي مقصد گھمندو رهيس ته جيئن مون کي گهربل هجي. بعد ۾، مون کي معلوم ٿيو ته مان اڳ ۾ ئي صحيح صفحي تي ٻه ڀيرا لينڊ ڪري چڪو آهيان، پر مون کي اهو به سمجهه ۾ نه آيو، ڇاڪاڻ ته مون کي گهربل فيلڊ هڪ وڏي فارم جي ٻين ساڳين شعبن ۾ وڃائي ڇڏيو هو.

    اهو ظاهر ٿيو ته سفر جي معلومات کي تبديل ڪرڻ لاء، مون کي فارم جي ويهن لائنن کي اسڪرال ڪرڻ جي ضرورت هئي، وفاداري ڪارڊ نمبر ۽ فون نمبر داخل ڪيو، جنهن کان سواء فارم تصديق لاء نه موڪلي سگهيو. هي هڪ پروگرام جو هڪ مثال آهي جنهن کي بغير سوچڻ جي ترقي ڪئي وئي هئي ته صارف ان سان ڪيترو آرام سان هوندو.

اعتماد، سيڪيورٽي ۽ حفاظت

منهنجي خيال ۾، هڪ پروفيشنل سافٽ ويئر ڊولپر ۽ شوقين جي وچ ۾ سڀ کان اهم فرق پيرا ميٽرن تي غور ڪرڻ آهي جهڙوڪ قابل اعتماد، سيڪيورٽي ۽ ايپليڪيشن جي حفاظت جڏهن ان کي ٺاهيندي.
هڪ سچو پروفيسر ڄاڻي ٿو ته هو پنهنجي حل جي حفاظت ۽ حفاظت لاء ذميوار آهي.
پروگرام جا حصا لازمي طور تي غلط ان پٽ، غلط رياستن، ۽ غلط رابطي کي برداشت ڪرڻ گهرجن. اهو حقيقت ۾ نافذ ڪرڻ تمام ڏکيو آهي ۽ اهو ئي سبب آهي ته اسان ماڻهن جي مرڻ جون ڳالهيون ٻڌون ٿا سافٽ ويئر جي بگ جي ڪري. صارفين داخل ڪيا آهن، داخل ٿي رهيا آهن ۽ پروگرام ۾ غلط ڊيٽا داخل ڪرڻ جاري رکندا. اها حقيقت قبول ڪرڻ گهرجي. ان کان علاوه، ڪجھ اھو مقصد تي ڪندا، ايپليڪيشن کي ٽوڙڻ ۽ ان لاءِ موجود وسيلن کي حاصل ڪرڻ جي مقصد سان.
سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
هتي هڪ حقيقي زندگي جو مثال آهي: تازو Equifax ڊيٽا جي ڀڃڪڙي لاء مبينا طور تي ذميوار شخص پنهنجي نوڪري جي ذميوارين ۾ ناڪام ٿيڻ جو الزام آهي، جيڪو عوام لاء دستياب ڪيل سڀني سافٽ ويئر پروڊڪٽس ۾ خراب ۽ بدسلوڪي ان پٽ جي مزاحمت لاء حل تيار ڪرڻ هو. معلومات جي سيڪيورٽي سان لاڳاپيل واقعا شامل آهن نه رڳو غلط ۽ بدسلوڪي ان پٽ، پر پڻ غلط طور تي داخل ٿيل ڊيٽا. جيڪڏهن ڪو صارف پنهنجو پاسورڊ وساري چڪو آهي، ته هو ڪيترا ڀيرا ان کي داخل ڪرڻ جي ڪوشش ڪري سگهي ٿو؟ ڇا توهان هن کان پوء هن کي بلاڪ ڪندا؟ ڇا جيڪڏهن ڪو ٻيو سندس اڪائونٽ بلاڪ ڪرڻ جي ڪوشش ڪري؟ ڇا ھڪڙو صارف پنھنجي سندون منتقل ڪري سگھي ٿو ھڪڙي اڻ ڳڻي ڊيٽا چينل تي؟ ڇا جيڪڏهن لاگ ان درخواست هڪ غير معمولي جڳهه کان آئي؟ توهان ڇا ڪندا جيڪڏهن لاگ ان ڪوشش پاڻمرادو ظاهر ٿئي؟ توهان ڇا ڪيو آهي توهان جي استعمال ڪندڙن کي ڪراس سائيٽ اسڪرپٽنگ کان بچائڻ لاءِ، ڪراس سائيٽ جي درخواست جي جعلسازي ۽ عام فشنگ؟ ڇا توهان وٽ توهان جي سرور تي DDoS حملي جي صورت ۾ بيڪ اپ حڪمت عملي آهي؟ اهي سوال صرف ڪجهه مسئلن کي اجاگر ڪن ٿا جن تي غور ڪرڻ جي ضرورت آهي. محفوظ ٿيل پروگرام اهم معلومات کي ٽيڪسٽ فارم ۾ محفوظ نٿو ڪري. اهو ان کي هڪ پيچيده هڪ طرفي سائفر سان محفوظ ڪري ٿو (جيڪو انڪرپٽ ڪرڻ آسان آهي پر چاٻي کان سواءِ ڊڪرپٽ ڪرڻ تقريباً ناممڪن آهي). اهي بيڪ اپ اپاءَ آهن جڏهن ته پروگرام هيڪ ٿيل آهي. هيڪرز انڪوڊ ٿيل ڊيٽا ڳوليندا جيڪي انهن لاءِ بيڪار آهن. بهترين پروگرامن ۾ به اڻڄاتل مسئلا پيدا ٿين ٿا. هڪ پروگرامر جيڪو انهن جي واقعن لاء تيار ناهي، مشڪل سان هڪ پروفيسر سڏيو وڃي ٿو. جيستائين هو اڻڄاتل رويي جي توقع رکي ٿو، هو انجنيئر ناهي. هو ”غير محفوظ پروگرامن جو ليکڪ“ آهي. پروگرامن ۾ غلطيون هميشه واضح نه آهن. معلوم ٿيل غلطين کي روڪڻ ۽ روڪڻ جي اسان جي دانشورانه صلاحيت محدود آهي. اهو ئي سبب آهي ته سافٽ ويئر انجنيئر سٺن اوزارن جي اهميت کي سمجهن ٿا ته جيئن انهن کي درست ۽ محفوظ سافٽ ويئر لکڻ جي قابل بڻائي سگهجي.

گهربل اوزار

ان ۾ ڪو شڪ ناهي ته اسان کي مختلف ۽ سٺي ترقي جا اوزار گهرجن. انهن جو ڪردار اڪثر ڪري گهٽ انداز ۾ ڪيو ويندو آهي، پر حقيقت ۾ اهي گهڻو وقت ۽ ڪوشش بچائيندا آهن، ڪجهه ڪمن کي آسان ڪرڻ جي ترتيب سان. تصور ڪريو ته جيڪڏھن توھان اڃا تائين فائلون اپلوڊ ڪرڻ لاءِ ايف ٽي پي ذريعي اپلوڊ ڪيون آھن، پوءِ ڳالھائڻ لاءِ، پراڻي طريقي سان. تصور ڪريو ڊيبگنگ نيٽ ورڪ ۽ ڪارڪردگي جي مسئلن کان سواءِ Chrome DevTools! ۽ انهن ڏينهن ۾ ESlit ۽ Prettier کان سواءِ جاوا اسڪرپٽ ڪوڊ لکڻ ڪيترو غير موثر هوندو!
سافٽ ويئر انجنيئر ڪير آهي؟  سافٽ ويئر انجنيئرنگ VS
ڪو به اوزار جيڪو موٽڻ جو وقت گھٽائي ٿو جيئن توھان ڪوڊ لکندا آھيو استقبال ڪيو وڃي. جڏهن مون هڪ اوزار ڳوليو جيڪو اڳ ۾ مون کان اڻ واقف هو، پر واقعي مفيد ۽ اثرائتو آهي، مان صرف افسوس ڪري سگهان ٿو ته مون ان کي هن خوش لمحي کان اڳ استعمال نه ڪيو هو.
بهتر ۽ وڌيڪ جديد اوزار توهان کي هڪ بهتر پروگرامر بنائڻ ۾ مدد ڪندا. انھن کي ڳولھيو، انھن کي استعمال ڪريو، انھن کي ساراھيو، ۽ جيڪڏھن توھان ڪري سگھوٿا، انھن کي بهتر ڪريو. ۽ ساڳئي شيء تي نه رکو: ڪير ڄاڻي ٿو، ٿي سگهي ٿو هڪ نئين اوزار سان توهان هڪ ڀيرو انسٽال ڪرڻ ۽ سکڻ ۾ وقت گذاريندا، ۽ پوء توهان ڪيترائي ڀيرا جلدي مسئلا حل ڪندا؟

سافٽ ويئر انجنيئرنگ جي ارتقا

ڪو به ماڻهو ٻن مهينن، ڇهن مهينن يا هڪ سال ۾ به سافٽ ويئر انجنيئرنگ سکي نٿو سگهي. توهان کي اهو نه سيکاريو ويندو ته هڪ ڪورس، يونيورسٽي، يا بوٽ ڪيمپ ۾ سافٽ ويئر انجنيئر ڪيئن ٿيڻو آهي. مان گذريل ويهن سالن کان پڙهائي رهيو آهيان ۽ هاڻي پڙهائي جاري رکندو آهيان. مان صرف هڪ ڏهاڪي جي سکيا ۽ ترقي ڪرڻ، ٺاهڻ ۽ برقرار رکڻ جي هزارين استعمال ڪندڙن پاران استعمال ڪيل ايپليڪيشنن کي ٺاهڻ ۽ برقرار رکڻ کان پوءِ آرام سان پاڻ کي هڪ تجربيڪار پروگرامر سڏائڻ جي قابل ٿيس. سافٽ ويئر انجنيئرنگ هر ڪنهن لاءِ ناهي، پر هر ڪنهن کي ڪمپيوٽر استعمال ڪندي پنهنجا مسئلا حل ڪرڻ سکڻ گهرجي. جيڪڏھن توھان سکي سگھوٿا سادو پروگرام لکڻ، توھان کي گھرجي. جيڪڏهن توهان عوامي طور تي دستياب سافٽ ويئر استعمال ڪرڻ سکي سگهو ٿا، توهان کي گهرجي. جيڪڏهن توهان اوپن سورس سافٽ ويئر استعمال ڪرڻ سکي سگهو ٿا ۽ ان کي پنهنجي لاءِ ڪسٽمائيز ڪري سگهو ٿا، توهان وٽ هڪ سپر پاور آهي! هر روز ڊولپرز کي نوان چئلينج، نوان مسئلا آڻيندو آهي، ڇو ته سافٽ ويئر انجنيئرنگ جي ضرورت آهي. هن پيشي جو بنيادي ڪم سافٽ ويئر ٺاهڻ آهي ته جيئن هڪ عام ماڻهو کي ڪيترن ئي سالن تائين ان سان ڊيل نه ڪرڻو پوي. انهي ڪري ته پروگرامن سان لهه وچڙ ۾ ڊگهي مطالعي جي ضرورت ناهي. ۽ اڃا تائين، سافٽ ويئر انجنيئر مسلسل بهتر اوزار ٺاهڻ جي باري ۾ سوچي رهيا آهن جيڪي وڌيڪ پيچيده ڄاتل مسئلا حل ڪري سگهن ٿا، ۽ هر ممڪن ڪوشش ڪري رهيا آهن انهي کي يقيني بڻائڻ ته نوان مسئلا ممڪن طور تي گهٽ ۾ گهٽ ظاهر ٿيندا.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION