সফটওয়্যার ইঞ্জিনিয়ারিং কি ? What is software engineering?



সফটওয়্যার ইঞ্জিনিয়ারিং কি এবং এর ধারণা ?


বর্তমান সময় বিবেচনা করলে আমাদের এই পৃথিবীকে সম্পূর্ণ তথ্য ও প্রযুক্তি নির্ভর পৃথিবী বললে খুব একটা ভুল হবে না। কেননা এখন প্রযুক্তি ছাড়া আমরা যেন একদিনও কল্পনা করতে পারি না। দিন যত সামনে এগিয়ে যাচ্ছে প্রযুক্তি যেন তার থেকেও দ্রুত গতিতে এগিয়ে যাচ্ছে। প্রতিনিয়ত আমরা ইন্টারনেট নির্ভর হয়ে পরার কারণে কম্পিউটার ও মোবাইল ডিভাইসের ব্যবহার ক্রমাগত বৃদ্ধি পাচ্ছে। আর এই সকল ডিভাইসে যে জিনিসটা সবচেয়ে বেশি ব্যবহার করা হয় তা হলো সফটওয়্যার। সফটওয়্যার ছাড়া এসকল ডিভাইস সম্পূর্ণ অচল।


আমাদের দেশে প্রচুর ছেলে মেয়ের আগ্রহ আছে সফটওয়্যার ইঞ্জিনিয়ার হওয়ার। এর মধ্য অনেকে জানেই না, সফটওয়্যার ইঞ্জিনিয়ার হয়ে কি করতে হয়? তাদের ডেইলি লাইফ কেমন, কি কি কাজ করতে হয়? আমাদের দেশে এই সব নিয়ে তেমন কথা হয় না।


অনেকের কাছে সফটওয়্যার ইঞ্জিনিয়ারিং অনেক কুল একটা প্রফেশন। এখানে কাজ সব সময় ডেক্স এ বসে করতে হয়। সেভাবে ফিজিক্যাল শক্তি ব্যয় হয় না বললেই চলে। আবার অনেকের কাছে এটা একটা বোরিং প্রফেশন। এখন বাস্তবে সফটওয়্যার ইঞ্জিনিয়ার রা কি করে সেটা নিয়ে আজকের ব্লগ। সফটওয়্যার ইঞ্জিনিয়ার রা লাইফ পার্টনার হিসাবেই বা কেমন

সফটওয়্যার কি?

প্রথমে বুঝতে চেষ্টা করি সফটওয়্যার আসলে কি? সহজ ভাষায় সফটওয়্যার হলো এক ধরনের প্রোগ্রাম বা ডেটা ও কিছু ইলেক্ট্রনিক নির্দেশনা যার মাধ্যমে একটি কম্পিউটার পরিচালিত হয়। আমরা প্রতিনিয়ত কম্পিউটার বা অন্যান্য ডিভাইসে যে সকল ছোট বড় অ্যাপ্লিকেশন (অ্যাপ) ব্যবহার করে থাকি সেগুলোই মূলত এক একটি সফটওয়্যার। এই সফটওয়্যার গুলোর সাহায্যেই আমরা আমাদের ডিভাইসকে কোনো কাজ করার নির্দেশ দিয়ে থাকি।


সফটওয়্যারের প্রধানত তিনটি ধরন রয়েছে–


  1. সিস্টেম সফটওয়্যার
  2. অ্যাপ্লিকেশন সফটওয়্যার ও
  3. প্রোগ্রামিং সফটওয়্যার


একটি সফটওয়্যারের জীবনচক্র

একটি সফটওয়্যার তৈরি থেকে শুরু করে সফটওয়্যারের যাবতীয় রক্ষণাবেক্ষণের জন্য কিছু নিয়মকানুন রয়েছে, যা মূলত সফটওয়্যারের জীবনচক্র। সফটওয়্যারের জীবনচক্রকে সংক্ষেপে SDLC (Software Development Life Cycle) বলা হয়। 


SDLC হলো সফটওয়্যার তৈরির একটি পদ্ধতিগত প্রক্রিয়া যা একটি সফটওয়্যারের মান এবং সঠিকতা নিশ্চিত করে। এই প্রক্রিয়ার মূল লক্ষ্য হচ্ছে উচ্চমানের সফটওয়্যার তৈরি করা যা ব্যবহারকারীর প্রত্যাশা পূরণ করতে সক্ষম হবে। সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেলকে অ্যাপ্লিকেশন ডেভেলপমেন্ট লাইফ সাইকেল হিসেবেও উল্লেখ করা হয়। 


সফটওয়্যার ইঞ্জিনিয়ারিং কি ?

সফটওয়্যার ইঞ্জিনিয়ারিং হলো সফটওয়্যার ডেভেলপমেন্টে ইঞ্জিনিয়ারিং ধারণার প্রয়োগ। এর মূল লক্ষ্য সফ্টওয়্যার তৈরি, উন্নতি এবং রক্ষণাবেক্ষণ। সফটওয়্যার ইঞ্জিনিয়ারিং – এ একটি সফটওয়্যারের ডিজাইন, ডেভেলপমেন্ট সহ যাবতীয় সকল কাজ করা হয়। 


সহজ কথায় সফটওয়্যার ইঞ্জিনিয়ারিং হলো এমন একটি ইঞ্জিনিয়ারিং যেখানে সফটওয়্যার তৈরির প্ল্যানিং, ডিজাইন, প্রোগ্রামিং, বিশ্লেষণ ও সফটওয়্যারের যাবতীয় রক্ষণাবেক্ষণ করা হয়। একটি সফটওয়্যারের সম্পূর্ণ জীবনচক্রে যে যে বিষয় গুলো লক্ষ রাখা হয় তা সফটওয়্যার ইঞ্জিনিয়ারিং এর অন্তর্ভুক্ত। যে বা যারা এই কাজ গুলো করে তাদেরকে সফটওয়্যার ইঞ্জিনিয়ার ও সফটওয়্যার ডেভেলপার বলা হয়।


কিভাবে একটি সফ্টওয়্যারের ডিজাইন তৈরি করা যায়, উন্নয়ন এবং রক্ষণাবেক্ষণ করা যায় ইত্যাদি সফটওয়্যার ইঞ্জিনিয়ারিং অধ্যয়ন করলে জানা যায়। একজন সফটওয়্যার ইঞ্জিনিয়ার একটি সফটওয়্যার তৈরির ক্ষেত্রে ব্যবহারকারীদের চাহিদাকে বিশেষ ভাবে গুরুত্ব দেন। কারণ ইউজার যদি সফটওয়্যার ব্যবহার করে সন্তুষ্ট না হন, তাহলে সেই সফটওয়্যার তেমন কোনো ভ্যালু তৈরি করবে না। এজন্য সফটওয়্যার তৈরির ক্ষেত্রে সফটওয়্যার ইঞ্জিনিয়ার এই বিষয়টিকে খুবই গুরুত্ব সহকারে দেখেন।


একটি সফটওয়্যারে কী রাখা উচিত, তা জানতে ইঞ্জিনিয়ার বা ডেভেলপাররা ইউজারের কাছ থেকে বিভিন্ন ধরনের তথ্য সংগ্রহ এবং সিনিয়র ডেভেলপারদের কাছ থেকে তথ্য সংগ্রহ ও পূর্বে তৈরি করা সফটওয়্যার রিভিউ থেকে সফটওয়্যার তৈরির রোডম্যাপ তৈরি করেন এবং সেগুলোকে কয়েকটি ভাগে ভাগে করে নেন। যেহেতু একজন সফটওয়্যার ইঞ্জিনিয়ারকে অনেক গুলো বিষয়ের উপর লক্ষ্য রেখে কাজ করতে হয়, সেজন্য ইঞ্জিনিয়াররা সাধারনত সফটওয়্যার তৈরির ক্ষেত্রে নিজেরদের মধ্যে দল গঠন করে কাজ করে থাকে।


একজন সফটওয়্যার ইঞ্জিনিয়ারের কি কি দক্ষতা থাকা দরকার?

উপরের অংশটুকু পড়ে আশাকরি কিছুটা হলেও বুঝতে পেরেছেন যে সফটওয়্যার ইঞ্জিনিয়ারিং মোটেই সহজ কোনো কাজ নয়। এখানে কাজ করার জন্য কাজের প্রতি প্রবল ইচ্ছা, ধৈর্য ও সঠিক দক্ষতা থাকা প্রয়োজন। একজন সফটওয়্যার ইঞ্জিনিয়ার হতে হলে প্রোগ্রামিং এর দক্ষতার পাশাপাশি আরো বেশ কিছু দক্ষতার প্রয়োজন হয়, যেমন –


  • কম্পিউটার প্রোগ্রামিং
  • সফটওয়্যার ডেভেলপমেন্ট
  • অবজেক্ট ওরিয়েন্টেড ডিজাইন
  • সফটওয়্যার টেস্টিং ও ডিবাগিং
  • সমস্যা সমাধান ও যৌতিক চিন্তাভাবনা
  • কমিউনিকেশন স্কিল
  • টিমওয়ার্ক, ইত্যাদি।

ক্যারিয়ার হিসেবে সফটওয়্যার ইঞ্জিনিয়ারিং কেমন হবে?


সফটওয়্যার ইঞ্জিনিয়ারিং পেশা একটি উচ্চচাহিদা সম্পন্ন পেশা। একদম শুরুতেই বলেছি যে সফটওয়্যার কতটা গুরুত্বপূর্ণ একটি জিনিস। দিন দিন এর চাহিদা বেড়েই চলেছে। ফলে প্রতিনিয়ত তৈরি করা হচ্ছে অসংখ্য সফটওয়্যার। তবে ভালো দক্ষতা ও অভিজ্ঞতা সম্পন্ন সফটওয়্যার ইঞ্জিনিয়ারের চাহিদা থাকার কারণে অনেক সফটওয়্যারই ব্যবহারকারীদের নিকট গ্রহণযোগ্যতা হারাচ্ছে। 


আপনি যদি এ সেক্টরে ভালো দক্ষতা অর্জন করে সেটিকে সঠিকভাবে কাজে লাগাতে পারেন তাহলে আপনিও একজন ভালো সফটওয়্যার ইঞ্জিনিয়ার হতে পারবেন। সফটওয়্যার ব্যাতিত যেহেতু কম্পিউটার বা অন্যান্য ডিভাইস সম্পূর্ণ অচল সেহেতু এই পেশার চাহিদা কখনো কমার প্রশ্ন আসে না।


সফটওয়্যার ইঞ্জিনিয়ারিং কিভাবে শিখবো ও শিখতে কত দিন সময় লাগে?


একটা সময় ছিল যখন এই বিষয়গুলো শেখার জন্য শুধুমাত্র একাডেমিক ভাবে ডিগ্রি অর্জন করা ছাড়া তেমন কোনো উপায় ছিলো না। কিন্তু বর্তমানে ইন্টারনেটের বদৌলতে সেই ধারণাটি সম্পূর্ণ বদলে গেছে। আপনি ইচ্ছা করলে নিজেই ইন্টারনেটের মাধ্যমে সফটওয়্যার ইঞ্জিনিয়ারিং শিখতে পারেন। 


সার্টিফিকেটের তুলনায় এখানে সঠিক দক্ষতাকে সবচেয়ে বেশি প্রাধান্য দেয়া হয়। ইন্টারনেটে সার্চ করলেই মুহূর্তের মধ্যে অসংখ্য রিসোর্স আপনার সামনে হাজির হয়ে যাবে। আপনি চাইলে কোনো বিশ্বস্ত আইটি ইনস্টিটিউট থেকে অনলাইন বা অফলাইন কোর্সের মাধ্যমেও সফটওয়্যার ইঞ্জিনিয়ারিং এ দক্ষতা অর্জন করতে পারেন। এছাড়া সফটওয়্যার ইঞ্জিনিয়ারিং – এ চার বছরের স্নাতক ডিগ্রি অর্জনের মাধ্যমেও একটি একাডেমিক শিক্ষা নিতে পারেন।


সফটওয়্যার ইঞ্জিনিয়ারিং শিখতে কত সময় লাগবে? এ প্রশ্নের একদম সহজ উত্তর হলো আপনি নিয়মিত যত বেশি সময় দিয়ে কাজ করবেন ততো দ্রুত শেখা সম্ভব। স্নাতক ডিগ্রি অর্জনের জন্য আপনার চার বছর সময় লাগবে। আপনি যদি অনলাইন বা অফলাইন কোর্সের মাধ্যমে শিখতে চান তাহলে গড়ে ছয় মাস থেকে এক বছরের মধ্যে একজন জুনিয়র সফটওয়্যার ইঞ্জিনিয়ার হিসেবে নিজের ক্যারিয়ার গঠন করতে পারবেন এবং ধীরে ধীরে দক্ষতা ও অভিজ্ঞতা অর্জনের মাধ্যমে সিনিয়র সফটওয়্যার ইঞ্জিনিয়ার হতে পারবেন।


আর্কিটেক্ট হতে হলে আপনাকে দেশে বিদেশে অনেক কাজ করতে হবে। Enterprise লেভেলের সফটওয়্যার নিয়ে অনেক কাজ করতে হবে। শতশত প্রোগ্রামারের টিম নিয়ে কাজ করতে হবে। দেশে বিদেশে কনফারেন্স, সেমিনার করে বেড়াতে হবে। আমাদের দেশে আপাতত এই বিষয়ে কোন ট্রেনিং এর বেবস্থা নেই বলে আমি মনে করি। তাই বিদেশে গিয়ে শিখতে হবে। দেশ বিদেশের অন্য সফটওয়্যার ইঞ্জিনিয়ার ও আর্কিটেক্টদের সাথে মিশতে হবে, মতবিনিময় করতে হবে।


যা লিখলাম এরই বাইরে অনেক কিছুই হয়ত থাকে যা আমি এই মুহূর্তে মনে করতে পারছি না, বা হয়ত বেশি গভীরে যেতে চাইছি না বলে এড়িয়ে গেছি। আমি মনে করি যা লিখলাম তা কিছুটা হলেও একজনকে ধারণা দিবে আর যদি কেউ এগুলো করতে পারে, আমি মনে করি তাকে আমার যতটুকু একটা লেখা থেকে দেয়া সম্ভব আমি দিতে পেরেছি। শেখার কোন শেষ নেই। এক পোস্ট পরে যদি সব শেখা যেত তাহলে আমি সবচেয়ে বেশি খুশী হতাম। অনেকের থেকে শিখতে হবে, অনেক পড়তে হবে, অনেক জানতে হবে। শুরু এখানে হতে পারে, তবে শেষ যেন এখানে না হয়। ক্যারিয়ার নিয়ে হতাশা আর দিকনির্দেশনা বিষয়ক অনেক প্রশ্ন পাই বলেই আজকে এই বিষয়ে লিখলাম। ভালো হল কি মন্দ হল জানি না, তবে আমাদের যা অবস্থা তাতে এই মুহূর্তে সংকোচ না করে এগিয়ে আসাই আমার মুখ্য উদ্দেশ্য। আমার থেকে আরও ভালো হয়ত অনেকে জানেন যারা এই লেখা পড়ে হয়ত এতে যোগ করার মত অনেক কিছু পাবেন, তাই আবার বলবো আমাদের সবাইকে এগিয়ে আসতে হবে। আমার লেখাতে কোন ফাকা থাকলে কেউ কমেন্ট করে সেটা শেয়ার করলেও আমার এই চেষ্টা সফল যে আমার লেখার কারণে তিনি সেই বিষয়টি শেয়ার করলেন যেটা হয়ত এমনিতে করতেন না।


সফটওয়্যার ইঞ্জিনিয়ারিং পড়ার জন্য সবচেয়ে ভালো ইউনিভার্সিটি


আপনি যদি ইঞ্জিনিয়ারিং হতে চান তবে আপনার জন্য সবচেয়ে ভালো ক্ষেত্র হল সফটওয়্যার ইঞ্জিনিয়ারিং। মার্কিন যুক্তরাষ্ট্রে 8,200,000 (8.2 মিলিয়ন) সফ্টওয়্যার ইঞ্জিনিয়ারের প্রয়োজন হবে। এবং এন্ট্রি-লেভেল সফ্টওয়্যার ইঞ্জিনিয়ারদের গড় বার্ষিক বেতন হল $119,546 – একটি ছয় অঙ্কের বেতন। 

সুতরাং, আপনি যদি নিশ্চিত করতে চান যে আপনি স্নাতক হওয়ার পরেই উচ্চ-বেতনের চাকরি পাবেন, আপনার সফ্টওয়্যার ইঞ্জিনিয়ারিং অধ্যয়ন করা উচিত। যাইহোক, আপনি একটি ভাল বিশ্ববিদ্যালয়ে পড়া নিশ্চিত করুন। তবে স্বল্পোন্নত ও অনুন্নত দেশে ভালো বিশ্ববিদ্যালয় বিরল। 


আপনি যদি বাংলাদেশ থেকে থাকেন, সফটওয়্যার ইঞ্জিনিয়ারিং পড়তে আগ্রহী হন, আপনি ড্যাফোডিল ইন্টারন্যাশনাল ইউনিভার্সিটি (DIU) বেছে নিতে পারেন। কারণ, আমাদের বিশ্লেষণ অনুযায়ী, ড্যাফোডিল ইন্টারন্যাশনাল ইউনিভার্সিটি বাংলাদেশের সফটওয়্যার ইঞ্জিনিয়ারিংয়ের জন্য সেরা বিশ্ববিদ্যালয়।


আরো পড়ুন:

  1. আই ফোন সারা পৃথিবীতে বিখ্যাত কোনো 
  2. প্রসেসর কি 
  3. বাংলাদেশে dslr ক্যামেরার দাম 
  4. সফ্টওয়্যার ইঞ্জিনিয়ারিং কি ?
  5. বিশ্বের সেরা 11টি জনপ্রিয় অনলাইন মোবাইল গেম
  6. নতুন গেমিং ল্যাপটপ 2022
  7. নতুন গেমিং পিসি 2022 |
  8. ২০ থেকে ৩০ হাজার টাকা দামের মধ্যে ভালো ফোন 
  9. কম্পিউটার ভাইরাস কি ? কম্পিউটারে ভাইরাস থেকে রক্ষা পাওয়ার উপায় কি ?
  10. 10000-এর নীচে সেরা ফোন 


0/পোস্ট এ কমেন্ট/Comments