فرق بتایں

عزیزامین

محفلین
مجھے تفصیل سے اور مثالوں اور آسان زبان میں بتایں کہ سوفٹ وئیر ڈیزائینر اور پروگمر میں کیا کیا فرق ہوتا ہے اس میں سینئیر کون ہوتا یا برابر ہیں؟ کیا ایک کی غیر موجود میں کام چل سکتا ہے،دونوں کہ شعبہ ایک ہی ہے؟
 

Noman

محفلین
سوفٹ وئیر ڈیزائینر - ایک ایسا ماہر جو سوفٹ کے ہر پہلو کو مدنظر رکھ کر کام کر سکتا ہے اس نے سوفٹ وئیر میں باقاعدہ ڈگری لی ہوتی ہے-
پروگرامر - کسی بھی دیئے گئے کام کو کمپیؤٹر کی زباں میں بدل سکتا ہے- اور اس کے لیے صرف اسی زباں کی سمجھ بوجھ ضروری ہوتی ہے-
 

آوازِ دوست

محفلین
سوفٹ وئیر ڈیزائینر - ایک ایسا ماہر جو سوفٹ کے ہر پہلو کو مدنظر رکھ کر کام کر سکتا ہے اس نے سوفٹ وئیر میں باقاعدہ ڈگری لی ہوتی ہے-
پروگرامر - کسی بھی دیئے گئے کام کو کمپیؤٹر کی زباں میں بدل سکتا ہے- اور اس کے لیے صرف اسی زباں کی سمجھ بوجھ ضروری ہوتی ہے-
فرق صاف ظاہر ہے :)
 

اسد

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

ڈیزائن مکمل ہونے کے بعد (یا بعض حالات میں پہلے) ضروریات کی بنیاد پر فیصلہ کیا جاتا ہے کہ اسے کس زبان میں لکھا جائے گا۔ آنلائن پروگرام کے لئے پی ایچ پی یا روبی جیسی زبانیں استعمال ہوں گی اور صارفین اپنے براؤزر میں سوفٹویئر استعمال کریں گے۔ ایسے سوفٹویئر تمام آپریٹنگ سسٹمز پر چلتے ہیں۔

اگر آف لائن پروگرام کی ضرورت ہے تو پھر آپریٹنگ سسٹم دیکھا جائے گا، ونڈوز، میک یا لینکس؟ اگر صرف ایک آپریٹنگ سسٹم پر چلانا ہے تو اس آپریٹنگ سسٹم پر دستیاب کسی زبان (مثلاً سی/++/# یا بیسک) میں پروگرام لکھا جائے گا اور کمپائل کیا جائے گا۔ اگر ایک سے زیادہ آپریٹنگ سسٹمز پر چلانا ہو تو کوئی ایسی زبان استعمال ہو گی جو تمام آپریٹنگ سسٹمز پر دستیاب ہو، عموماً جاوا استعمال ہوتی ہے۔

ڈیزائننگ اور زبان کے فیصلے کے بعد اس زبان کا پروگرامر ڈیزائن کے مطابق پروگرام کا اصل کوڈ لکھتا ہے۔

دونوں کام ایک ہی فرد بھی کر سکتا ہے۔
 

عباس اعوان

محفلین
سافٹ وئیر ڈیزائنر کی اصطلاح میرے لیے نئی ہے۔
سافٹ وئیر کے حوالے سے لفظ ڈیزائننگ سے میرے ذہن میں دو قطعی مختلف کام آتے ہیں:
1۔ ڈیزائننگ کا کام یا تو یو آئی ڈیزائنر (UI Designer)کرتے ہیں، جو کہ یہ بتاتے ہیں کہ مکمل شدہ سافٹ وئیر حقیقت میں کیسا نظر آئے گا،کونسا بٹن کہاں ہو گا، کیسا ہو گا، اسے کلک کرنے سے کیا کام ہو گا یا کونسی نئی سکرین کھلے گی، مطلب وہ یوزر انٹرفیس (User Interface)کا خاکہ تیار کرتا ہے۔
2۔ یا پھر سافٹ وئیر آرکیٹکٹ(Software Architect)، جو کہ سافٹ وئیر کا مکمل نقشہ بناتے ہیں، جیسا کہ ایک بلڈنگ کا بلیو پرنٹ بنایا جاتا ہے، اور پھر اُسی بلیو پرنٹ کی اقتدا کرتے ہوئے، اس پر بلڈنگ بنائی جاتی ہے، بالکل اسی طرح سافٹ آرکیٹیکٹ بھی ایک نہایت مفصل بلیو پرنٹ یا نقشہ تیار کرتا ہے، جس کو مدِنظر رکھتے ہوئے سافٹ وئیر بنایا جاتا ہے۔

پروگرامر (Programmer)کی اصطلا ح کو سمجھنے کے لیے یہ سمجھیں کہ سافٹ وئیر بنانے کا عمل کن کن مراحل سے گزرتا ہے۔
1۔ ریکوائرمینٹ گیدرنگ اینڈ اینالیسز(Requirement gathering and analysis)۔ جس میں آپ کسٹمر سے یہ معلوم کرتے ہیں، کہ آپ کو کیسا سافٹ وئیر چاہئے، وہ کیسے کام کرے گا، اسے کیا کیا کرنا چاہیے، اس میں کون کون سے فنکشن اور فیچرز ہوں گے۔
2- ڈیزائن(Design)۔ ریکوائرمنٹس کو مدِ نظر رکھ کر ایک ڈیزائن بنایا جاتا ہے، جو کہ یہ بتاتا کہ کہ سافٹ وئیر کو، کیا کیا استعمال کر کے، کیسے اور کس طرح بنایا جائے گا۔
3۔ امپلی منٹیشن(Implementation )۔ یہاں پر ڈیزائن کو سامنے رکھ کر سافٹ وئیر کی اصل کوڈنگ کی جاتی ہے۔
4۔ ٹیسٹنگ(Testing)۔ مکمل شدہ سافٹ وئیر یا سافٹ وئیر کو یا اس کا ایک مکمل شدہ حصہ (Module)ٹیسٹ کیا جاتا ہے کہ کیا سافٹ وئیر ٹھیک کام کر رہا ہے، کیا سافٹ وئیر وہی کام انجام دے رہا ہے جیسا کہ اسے دینا چاہئے، کوئی بگز یا مسائل تو نہیں۔
5۔ منٹیننس(Maintenance)۔ مکمل شدہ سافٹ وئیر میں خرابیاں دور کرنا، اور نئے نئے فیچرز ڈالنا۔

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

اور یو آئی ڈیزائنر (UI Designer)کا کام بس یوزر انٹرفیس(User Interface) بنانا ہوتا ہے، اس کو کمپیوٹر سائنس کا علم ہونا قطعاً ضروری نہیں۔یوز ر انٹرفیس ڈیزائن(UI Design)، پاور پوائنٹ، فلیش، تصاویر، کی مدد سے بنایا جا سکتا ہے۔ بسا اوقات یہ کام گاہک یعنی کسٹمر خود ہی کرتے ہیں، کہ وہ اپنے گرافکس ڈیزائنر کو کہتے ہیں کہ ہمارا سافٹ وئیر ایسا نظر آنا چاہیے، یہ یہ بٹن ہوں، اور ایسا ایسا رنگ ہو وغیرہ وغیرہ۔ پھر یہ یو آئی ڈیزائن (UI Design)سافٹ وئیر بنانے والی کمپنی کو بھیج دیا جاتا ہے جس کو دیکھ کر پھر سافٹ وئیر تیار کیا جاتا ہے۔
 
آخری تدوین:

عباس اعوان

محفلین
اور ایک کوالی فائیڈ اور تجربہ کا حامل سافٹ وئیر انجینئر، سافٹ وئیر بنانے کے پانچوں مراحل انجام دے سکتا ہے۔
 

عزیزامین

محفلین
سافٹ وئیر ڈیزائنر کی اصطلاح میرے لیے نئی ہے۔
سافٹ وئیر کے حوالے سے لفظ ڈیزائننگ سے میرے ذہن میں دو قطعی مختلف کام آتے ہیں:
1۔ ڈیزائننگ کا کام یا تو یو آئی ڈیزائنر (UI Designer)کرتے ہیں، جو کہ یہ بتاتے ہیں کہ مکمل شدہ سافٹ وئیر حقیقت میں کیسا نظر آئے گا،کونسا بٹن کہاں ہو گا، کیسا ہو گا، اسے کلک کرنے سے کیا کام ہو گا یا کونسی نئی سکرین کھلے گی، مطلب وہ یوزر انٹرفیس (User Interface)کا خاکہ تیار کرتا ہے۔
2۔ یا پھر سافٹ وئیر آرکیٹکٹ(Software Architect)، جو کہ سافٹ وئیر کا مکمل نقشہ بناتے ہیں، جیسا کہ ایک بلڈنگ کا بلیو پرنٹ بنایا جاتا ہے، اور پھر اُسی بلیو پرنٹ کی اقتدا کرتے ہوئے، اس پر بلڈنگ بنائی جاتی ہے، بالکل اسی طرح سافٹ آرکیٹیکٹ بھی ایک نہایت مفصل بلیو پرنٹ یا نقشہ تیار کرتا ہے، جس کو مدِنظر رکھتے ہوئے سافٹ وئیر بنایا جاتا ہے۔

پروگرامر (Programmer)کی اصطلا ح کو سمجھنے کے لیے یہ سمجھیں کہ سافٹ وئیر بنانے کا عمل کن کن مراحل سے گزرتا ہے۔
1۔ ریکوائرمینٹ گیدرنگ اینڈ اینالیسز(Requirement gathering and analysis)۔ جس میں آپ کسٹمر سے یہ معلوم کرتے ہیں، کہ آپ کو کیسا سافٹ وئیر چاہئے، وہ کیسے کام کرے گا، اسے کیا کیا کرنا چاہیے، اس میں کون کون سے فنکشن اور فیچرز ہوں گے۔
2- ڈیزائن(Design)۔ ریکوائرمنٹس کو مدِ نظر رکھ کر ایک ڈیزائن بنایا جاتا ہے، جو کہ یہ بتاتا کہ کہ سافٹ وئیر کو، کیا کیا استعمال کر کہ، کیسے اور کس طرح بنایا جائے گا۔
3۔ امپلی منٹیشن(Implementation )۔ یہاں پر ڈیزائن کو سامنے رکھ کر سافٹ وئیر کی اصل کوڈنگ کی جاتی ہے۔
4۔ ٹیسٹنگ(Testing)۔ مکمل شدہ سافٹ وئیر یا سافٹ وئیر کا کو مکمل شدہ حصہ (Module)ٹیسٹ کیا جاتا یہ کہ کیا سافٹ وئیر ٹھیک کام کر رہا ہے، کیا سافٹ وئیر وہی کام انجام دے رہا ہی جیسا کہ اسے دینا چاہئے، کوئی بگز یا مسائل تو نہیں۔
5۔ منٹیننس(Maintenance)۔ مکمل شدہ سافٹ وئیر میں خرابیاں دور کرنا، اور نئے نئے فیچرز ڈالنا۔

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

اور یو آئی ڈیزائنر (UI Designer)کا کام بس یوزر انٹرفیس(User Interface) بنانا ہوتا ہے، اس کو کمپیوٹر سائنس کا علم ہونا قطعاً ضروری نہیں۔یوز ر انٹرفیس ڈیزائن(UI Design)، پاور پوائنٹ، فلیش، تصاویر، کی مدد سے بنایا جا سکتا ہے۔ بسا اوقات یہ کام گاہک یعنی کسٹمر خود ہی کرتے ہیں، کہ وہ اپنے گرافکس ڈیزائنر کو کہتے ہیں کہ ہمارا سافٹ وئیر ایسا نظر آنا چاہیے، یہ یہ بٹن ہوں، اور ایسا ایسا رنگ ہو وغیرہ وغیرہ۔ پھر یہ یو آئی ڈیزائن (UI Design)سافٹ وئیر بنانے والی کمپنی کو بھیج دیا جاتا ہے جس کو دیکھ کر پھر سافٹ وئیر تیار کیا جاتا ہے۔
چار مراحل کون سے
 

عباس اعوان

محفلین
کر
پانچوں مراحل کا ذکر بھی کر دیں؟
1۔ ریکوائرمینٹ گیدرنگ اینڈ اینالیسز(Requirement gathering and analysis)۔ جس میں آپ کسٹمر سے یہ معلوم کرتے ہیں، کہ آپ کو کیسا سافٹ وئیر چاہئے، وہ کیسے کام کرے گا، اسے کیا کیا کرنا چاہیے، اس میں کون کون سے فنکشن اور فیچرز ہوں گے۔
2- ڈیزائن(Design)۔ ریکوائرمنٹس کو مدِ نظر رکھ کر ایک ڈیزائن بنایا جاتا ہے، جو کہ یہ بتاتا کہ کہ سافٹ وئیر کو، کیا کیا استعمال کر کے، کیسے اور کس طرح بنایا جائے گا۔
3۔ امپلی منٹیشن(Implementation )۔ یہاں پر ڈیزائن کو سامنے رکھ کر سافٹ وئیر کی اصل کوڈنگ کی جاتی ہے۔
4۔ ٹیسٹنگ(Testing)۔ مکمل شدہ سافٹ وئیر یا سافٹ وئیر کا کو مکمل شدہ حصہ (Module)ٹیسٹ کیا جاتا یہ کہ کیا سافٹ وئیر ٹھیک کام کر رہا ہے، کیا سافٹ وئیر وہی کام انجام دے رہا ہی جیسا کہ اسے دینا چاہئے، کوئی بگز یا مسائل تو نہیں۔
5۔ منٹیننس(Maintenance)۔ مکمل شدہ سافٹ وئیر میں خرابیاں دور کرنا، اور نئے نئے فیچرز ڈالنا۔
 

عباس اعوان

محفلین
1۔ ریکوائرمینٹ گیدرنگ اینڈ اینالیسز(Requirement gathering and analysis)۔ جس میں آپ کسٹمر سے یہ معلوم کرتے ہیں، کہ آپ کو کیسا سافٹ وئیر چاہئے، وہ کیسے کام کرے گا، اسے کیا کیا کرنا چاہیے، اس میں کون کون سے فنکشن اور فیچرز ہوں گے۔
2- ڈیزائن(Design)۔ ریکوائرمنٹس کو مدِ نظر رکھ کر ایک ڈیزائن بنایا جاتا ہے، جو کہ یہ بتاتا کہ کہ سافٹ وئیر کو، کیا کیا استعمال کر کے، کیسے اور کس طرح بنایا جائے گا۔
3۔ امپلی منٹیشن(Implementation )۔ یہاں پر ڈیزائن کو سامنے رکھ کر سافٹ وئیر کی اصل کوڈنگ کی جاتی ہے۔
4۔ ٹیسٹنگ(Testing)۔ مکمل شدہ سافٹ وئیر یا سافٹ وئیر کا کو مکمل شدہ حصہ (Module)ٹیسٹ کیا جاتا یہ کہ کیا سافٹ وئیر ٹھیک کام کر رہا ہے، کیا سافٹ وئیر وہی کام انجام دے رہا ہی جیسا کہ اسے دینا چاہئے، کوئی بگز یا مسائل تو نہیں۔
بعض اوقات منٹیننس(Maintenance) کو سافٹ وئیر بنانے کے عمل کا حصہ نہیں سمجھا جاتا، کیوں کہ اس مرحلے تک پہنچنے سے پہلے، سافٹ وئیر مکمل ہو چکا ہوتا ہے۔
 
Top