তাহলে শোন, সফটওয়্যার হলো এমন একটি জিনিস যা আমাদের সকলের মোবাইল ও কম্পিউটারকে প্রতিনিয়ত নিয়ন্ত্রণ করে চলেছে। সফটওয়্যার ছাড়া মোবাইল ও কম্পিউটারকে ব্যবহার করে দৈনন্দিন নানান ধরনের কাজ করা অসম্ভব। সফটওয়্যার আসলে কি? সফটওয়্যার হচ্ছে কিছু ইলেক্ট্রনিক নির্দেশনা, প্রোগ্রাম অথবা ডেটা যার মাধ্যমে একটি কম্পিউটার পরিচালিত হয়। উদাহরণ স্বরূপ বাবহারকারীর কাছ থেকে ইনপুট নেওয়ার পর কম্পিউটারের প্রসেসরকে কখন, কি কাজ এবং কিভাবে করতে হবে তা কিন্তু সফটওয়্যারই বলে দেয়।
সফটওয়্যার প্রধানত তিন ধরনের হয়ে থাকে-
১. সিস্টেম সফটওয়্যার (System Software)
২. অ্যাপ্লিকেশন সফটওয়্যার (Application Software)
৩. প্রোগ্রামিং সফটওয়্যার (Programming Software)
সিস্টেম সফটওয়্যার কি?
সিস্টেম সফটওয়্যারঃ সিস্টেম সফটওয়্যার ইউজার এবং কম্পিউটারের হার্ডওয়্যারকে একে অপরের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে। সিস্টেম সফটওয়্যারকে মূলত তৈরি করা হয়েছে কম্পিউটারের হার্ডওয়্যার ও অ্যাপ্লিকেশন সফটওয়্যার গুলোকে সঠিকভাবে পরিচালনা করার জন্য।
সিস্টেম সফটওয়্যারের উদাহরণঃ
১. অপারেটিং সিস্টেম (Operating system)
২. ডিভাইস ড্রাইভার (Device driver)
৩. ইউটিলিটি সফটওয়্যার (Utility software)
অপারেটিং সিস্টেমঃ অপারেটিং সিস্টেম হলো একটি কম্পিউটারের মূল সফটওয়্যার যেটা ইউজারকে একটা প্ল্যাটফর্ম দেয় কাজ করার জন্য। যেমন- Microsoft Windows, MacOS, Linux, Android ইত্যাদি সফটওয়্যার গুলোকে অপারেটিং সিস্টেম সফটওয়্যার বলা হয়।
ডিভাইস ড্রাইভারঃ ড্রাইভার সফটওয়্যার একটা হার্ডওয়্যারকে কম্পিউটারের অন্যান্য হার্ডওয়্যার এবং অপারেটিং সিস্টেমের সাথে যোগাযোগ স্থাপন করে দেয়। যেমন- Realtek audio driver, Intel graphics driver ইত্যাদি।
ইউটিলিটি সফটওয়্যারঃ একটি সিস্টেমকে ম্যানেজ করার জন্য যেসকল সফটওয়্যারের প্রয়োজন হয় সেগুলোকে ইউটিলিটি সফটওয়্যার বলে। যেমন- অ্যান্টিভাইরাস, সিস্টেম ক্লিনার ইত্যাদি।
অ্যাপ্লিকেশন সফটওয়্যার কি?
অ্যাপ্লিকেশন সফটওয়্যারঃ অ্যাপ্লিকেশন সফটওয়্যারকে End user program বা Productivity program বলা হয়। এই সফটওয়্যার গুলো আমরা দৈনন্দিন কাজে ব্যবহার করি। যেমন- ওয়েব ব্রাউজার, অফিস সফটওয়্যার, গ্রাফিক্স সফটওয়্যার, বিভিন্ন মিডিয়া প্লেয়ার ইত্যাদি।
প্রোগ্রামিং সফটওয়্যার কি?
প্রোগ্রামিং সফটওয়্যারঃ প্রোগ্রামিং সফটওয়্যার হলো সেসব সফটওয়্যার যেটা অন্য সফটওয়্যার ডেভেলপ, ডিবাগ এবং মেইন্টেইনের কাজে ব্যবহৃত হয়। সাধারণ ব্যবহারকারীর চাইতে প্রোগ্রামার বা সফটওয়্যার ডেভেলপাররা এই প্রোগ্রামগুলো বেশি ব্যবহার করে থাকে। এগুলোকে কোডিং সফটওয়্যারও বলা হয়। যেমন- Notepad ++, Sublime Text, VS code ইত্যাদি।
সফটওয়্যার সম্পর্কে তো আমরা জানলাম। কিন্তু সফটওয়্যার তৈরিকারী কিছু জনপ্রিয় কোম্পানি সম্পর্কেও আমাদের জ্ঞান রাখা প্রয়োজন। জনপ্রিয় কিছু সফটওয়্যার কোম্পানি গুলোর মধ্যে রয়েছে Microsoft, Alphabet, Oracle, IBM, SAP, Adobe ইত্যাদি। এরকম আরো বেশ কিছু জনপ্রিয় কোম্পানি আছে যারা পৃথিবীর বড় বড় সফটওয়্যার গুলো তৈরি করে থাকে।
একটি সফটওয়্যার শুধু তৈরি করলেই হয় না বরং সফটওয়্যারটিকে নিয়মিত মেইন্টেইন করতে হয় এবং একটি নির্দিষ্ট সময় পর পর সেটিকে আপডেট করতে হয়। সফটওয়্যার তৈরির এই প্রসেসটিকে বলা হয় SDLC (Software Development Life Cycle). এই SDLC -তে মোট ছয়টি স্টেজ রয়েছে। স্টেজ গুলো হলো প্ল্যানিং, অ্যানালাইসিস, ডিজাইন, ডেভেলপমেন্ট, টেস্টিং এবং মেইন্টেইনেন্স। এই স্টেজ গুলোই মূলত একটি সফটওয়্যারের সম্পূর্ণ জীবন চক্র।
রাসেলঃ তাহলে এখন বুঝতে পেরেছিস সফটওয়্যার কতটা গুরুত্বপূর্ণ?
শান্তঃ হ্যা দোস্ত বুঝতে পারছি। বলা যায় সফটওয়্যার ব্যতীত আমাদের ব্যবহার করা ডিভাইস গুলো এক প্রকার খেলনা ছাড়া কিছুই নয়।
আশা করি সফটওয়্যার এ সম্পর্কে আমি আপনাদের কিছুটা হলেও স্বচ্ছ ধারণা দিতে পেরেছি। যদি আমার লেখায় ভুলভ্রান্তি থাকে তাহলে তা ক্ষমাসুন্দর দৃষ্টিতে দেখার অনুরোধ রইল এবং তা কমেন্ট এর মাধ্যমে ঠিক করে দেওয়ার চেষ্টা করবেন। ধন্যবাদ।
সফটওয়্যার প্রধানত তিন ধরনের হয়ে থাকে-
১. সিস্টেম সফটওয়্যার (System Software)
২. অ্যাপ্লিকেশন সফটওয়্যার (Application Software)
৩. প্রোগ্রামিং সফটওয়্যার (Programming Software)
সিস্টেম সফটওয়্যার কি?
সিস্টেম সফটওয়্যারঃ সিস্টেম সফটওয়্যার ইউজার এবং কম্পিউটারের হার্ডওয়্যারকে একে অপরের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে। সিস্টেম সফটওয়্যারকে মূলত তৈরি করা হয়েছে কম্পিউটারের হার্ডওয়্যার ও অ্যাপ্লিকেশন সফটওয়্যার গুলোকে সঠিকভাবে পরিচালনা করার জন্য।
সিস্টেম সফটওয়্যারের উদাহরণঃ
১. অপারেটিং সিস্টেম (Operating system)
২. ডিভাইস ড্রাইভার (Device driver)
৩. ইউটিলিটি সফটওয়্যার (Utility software)
অপারেটিং সিস্টেমঃ অপারেটিং সিস্টেম হলো একটি কম্পিউটারের মূল সফটওয়্যার যেটা ইউজারকে একটা প্ল্যাটফর্ম দেয় কাজ করার জন্য। যেমন- Microsoft Windows, MacOS, Linux, Android ইত্যাদি সফটওয়্যার গুলোকে অপারেটিং সিস্টেম সফটওয়্যার বলা হয়।
ডিভাইস ড্রাইভারঃ ড্রাইভার সফটওয়্যার একটা হার্ডওয়্যারকে কম্পিউটারের অন্যান্য হার্ডওয়্যার এবং অপারেটিং সিস্টেমের সাথে যোগাযোগ স্থাপন করে দেয়। যেমন- Realtek audio driver, Intel graphics driver ইত্যাদি।
ইউটিলিটি সফটওয়্যারঃ একটি সিস্টেমকে ম্যানেজ করার জন্য যেসকল সফটওয়্যারের প্রয়োজন হয় সেগুলোকে ইউটিলিটি সফটওয়্যার বলে। যেমন- অ্যান্টিভাইরাস, সিস্টেম ক্লিনার ইত্যাদি।
অ্যাপ্লিকেশন সফটওয়্যার কি?
অ্যাপ্লিকেশন সফটওয়্যারঃ অ্যাপ্লিকেশন সফটওয়্যারকে End user program বা Productivity program বলা হয়। এই সফটওয়্যার গুলো আমরা দৈনন্দিন কাজে ব্যবহার করি। যেমন- ওয়েব ব্রাউজার, অফিস সফটওয়্যার, গ্রাফিক্স সফটওয়্যার, বিভিন্ন মিডিয়া প্লেয়ার ইত্যাদি।
প্রোগ্রামিং সফটওয়্যার কি?
প্রোগ্রামিং সফটওয়্যারঃ প্রোগ্রামিং সফটওয়্যার হলো সেসব সফটওয়্যার যেটা অন্য সফটওয়্যার ডেভেলপ, ডিবাগ এবং মেইন্টেইনের কাজে ব্যবহৃত হয়। সাধারণ ব্যবহারকারীর চাইতে প্রোগ্রামার বা সফটওয়্যার ডেভেলপাররা এই প্রোগ্রামগুলো বেশি ব্যবহার করে থাকে। এগুলোকে কোডিং সফটওয়্যারও বলা হয়। যেমন- Notepad ++, Sublime Text, VS code ইত্যাদি।
সফটওয়্যার সম্পর্কে তো আমরা জানলাম। কিন্তু সফটওয়্যার তৈরিকারী কিছু জনপ্রিয় কোম্পানি সম্পর্কেও আমাদের জ্ঞান রাখা প্রয়োজন। জনপ্রিয় কিছু সফটওয়্যার কোম্পানি গুলোর মধ্যে রয়েছে Microsoft, Alphabet, Oracle, IBM, SAP, Adobe ইত্যাদি। এরকম আরো বেশ কিছু জনপ্রিয় কোম্পানি আছে যারা পৃথিবীর বড় বড় সফটওয়্যার গুলো তৈরি করে থাকে।
একটি সফটওয়্যার শুধু তৈরি করলেই হয় না বরং সফটওয়্যারটিকে নিয়মিত মেইন্টেইন করতে হয় এবং একটি নির্দিষ্ট সময় পর পর সেটিকে আপডেট করতে হয়। সফটওয়্যার তৈরির এই প্রসেসটিকে বলা হয় SDLC (Software Development Life Cycle). এই SDLC -তে মোট ছয়টি স্টেজ রয়েছে। স্টেজ গুলো হলো প্ল্যানিং, অ্যানালাইসিস, ডিজাইন, ডেভেলপমেন্ট, টেস্টিং এবং মেইন্টেইনেন্স। এই স্টেজ গুলোই মূলত একটি সফটওয়্যারের সম্পূর্ণ জীবন চক্র।
শান্তঃ হ্যা দোস্ত বুঝতে পারছি। বলা যায় সফটওয়্যার ব্যতীত আমাদের ব্যবহার করা ডিভাইস গুলো এক প্রকার খেলনা ছাড়া কিছুই নয়।
আশা করি সফটওয়্যার এ সম্পর্কে আমি আপনাদের কিছুটা হলেও স্বচ্ছ ধারণা দিতে পেরেছি। যদি আমার লেখায় ভুলভ্রান্তি থাকে তাহলে তা ক্ষমাসুন্দর দৃষ্টিতে দেখার অনুরোধ রইল এবং তা কমেন্ট এর মাধ্যমে ঠিক করে দেওয়ার চেষ্টা করবেন। ধন্যবাদ।