সফটওয়্যার কাকে বলে? কত প্রকার, সফটওয়্যার ও হার্ডওয়্যারের পার্থক্য, সফটওয়্যার ডেভেলপমেন্ট কী

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

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

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

 সফটওয়্যারের ইতিহাস

অ্যাডা লাভলেস এনালাইটিকেল ইঞ্জিনের জন্য সর্বপ্রথম ১৮৪৩ সালে কম্পিউটার প্রোগ্রাম লিখেছিলেন। আর সেই এনালাইটিকেল ইঞ্জিনটি ডিজাইন করেছিলেন চার্ল বেভেজ ১৮৩৭ সালে আর যা কি না যান্ত্রিক কম্পিউটারের জন্য প্রথম সাধারণ ধারণা ছিল। কিন্তু এনালাইটিকেল ইঞ্জিন তখনও শারীরিকভাবে নির্মাণ করা হয়নি আর তাই সেই প্রোগ্রামটি তত্ত্বীয় থেকে গিয়েছিল। পরবর্তীতে এলেন টার্নিং এর ১৯৩৫ সালের প্রবন্ধে সফটওয়্যারের সর্বপ্রথম আধুনিক মতবাদ পাওয়া যায়।

যেকোনো প্রোগ্রাম কিংবা কোড যা কম্পিউটারে রান করা হয় কিংবা চালানো হয় তা সবই হচ্ছে সফটওয়্যার এর উদাহরণ। সফটওয়্যার সৃষ্টি হয়েছিলো প্রোগ্রামারদের দ্বারা, সচরাচর যারা কোডার হিসেবেও পরিচিত।

 

সফটওয়্যারের প্রকারভেদ

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

প্রোগ্রামিং সফটওয়্যার

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

  • লিংকারস
  • কম্পাইলারস
  • টেক্সট ইডিটর
  • ইন্টারপ্রেটারস
  • ডিবাগার্স

সিস্টেম সফটওয়্যার

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

  • অপারেটিং সিস্টেম
  • ফার্মওয়্যার
  • কম্পাইলারস
  • ডিভাইস ড্রাইভারস
  • ইউটিলাইটিস
  • ডিস্ক ফরমেটারস
  • টেক্সট ইডিটরস

অ্যাপ্লিকেশন সফটওয়্যার

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

কম্পিউটারের স্থির কাজগুলো সম্পন্ন করতে অ্যাপ্লিকেশন সফটওয়্যার ব্যবহৃত হয়। এটি একটিমাত্র প্রোগ্রাম হয় আবার কখনো কখনো কিছু ছোট প্রোগ্রামের একটি সংগ্রহ হয়ে থাকে। অ্যাপ্লিকেশন সফটওয়্যার এর অন্তর্ভুক্ত উদাহরন-

  •  ডেটাবেজ সিস্টেম
  • গেমিং অ্যাপ্লিকেশন
  • এজুকেশনাল সফটওয়্যার

ম্যালওয়্যার সফটওয়্যার

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

কম্পিউটার ভাইরাস

  • ওয়ার্মস
  • স্পাইয়ের
  • ট্রোজেন হর্সেস
  • এডয়ের

সফটওয়্যার বনাম হার্ডওয়্যার

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

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

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

§  হার্ডওয়্যার সফটওয়্যারকে ছাড়া কোনো কাজ সম্পন্ন করতে পারবে না। একইভাবে, সফটওয়্যার হার্ডওয়্যারকে ছাড়া কোনো কাজ সম্পন্ন করতে পারবেনা।

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

§  হার্ডওয়্যার শুধুমাত্র যান্ত্রিক লেভেল ভাষা বুঝে। আবার, সফটওয়্যার মানুষের পাঠযোগ্য ভাষাকে ইনপুট হিসেবে তা যান্ত্রিক ভাষায় রূপান্তর করে।

§  হার্ডওয়্যার তৈরি করতে অধিক দক্ষতার পাশাপাশি খড়চও হয় অনেক বেশি। যেখানে একটি সফটওয়্যার খুব সহজেই সৃষ্টি, সম্পাদনা কিংবা ডিলিট হতে পারে।

§  সফটওয়্যারের প্রকারভেদ হচ্ছে সিস্টেম সফটওয়্যার, প্রোগ্রামিং সফটওয়্যার, অ্যাপ্লিকেশন সফটওয়্যার ইত্যাদি। অন্যদিকে হার্ডওয়্যারের প্রকারভেদ হচ্ছে প্রসেসিং, ইনপুট, আউটপুট ইত্যাদি।

 অর্থ্যাৎ সফটওয়্যার হচ্ছে হার্ডওয়্যারের বিপরীত, যা  একটি কম্পিউটারের শারিরীক ভিও বা দৃষ্টির বর্ণনা করে। সফটওয়্যারকে কম্পিউটারের ভ্যারিয়েবল অংশ হিসেবে বিবেচনা করা যেতে পারে, যেথায় হার্ডওয়্যার হচ্ছে ইনভ্যারিএবল অংশ।

 সফটওয়্যার কীভাবে পাওয়া যায়?

১৯৮০ সালের দিকে সফটওয়্যার ফ্লপি ডিস্ক, সিডি, ডিভিডি’তে বিক্রি শুরু হয়েছিল। কিন্তু আজকাল, সফটওয়্যার সরাসরি ইন্টারনেট থেকে কেনা এবং ডাউনলোড করা যায়। ভেন্ডর ওয়েবসাইট কিংবা অ্যাপলিকেশন সার্ভিস প্রোভাইডার ওয়েবসাইটে সফটওয়্যার পাওয়া যেতে পারে।

মজার ব্যপার হচ্ছে, এই যে আপনি সফটওয়্যার কিনতে যাবেন, যেখানে যাওয়ার জন্যও আপনাকে সফটওয়্যারের সাহায্যেই যেতে হবে।

সফটওয়্যার ডেভেলপমেন্ট কী?

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

সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়ার ধাপ

সফটওয়্যার ডেভেলপমেন্ট অনেক গুরুত্বপূর্ণ একটি অংশ। সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়ার ধাপগুলো সংক্ষেপে নিচে দেওয়া হলো-

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

উপসংহার

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

Enjoyed this article? Stay informed by joining our newsletter!

Comments

You must be logged in to post a comment.

Related Articles