আজকাল আমরা সফটওয়্যার বা Software শব্দটা শুনতে খুবই অভ্যস্ত। এতটাই অভ্যস্ত যে প্রাত্যহিক জীবনে software কে যেকোনো ব্যবহৃত যন্ত্রের এর সাথে তুলনা কর চলে।
কোন একটি tool বা যন্ত্র যেমন কোন নির্দিষ্ট কাজের জন্য তৈরি হয়, প্রতিটি software তেমনি কোনো না কোনো নির্দিষ্ট কাজ করার জন্য তৈরি হয়।
সফটওয়্যার কাকে বলে?
কম্পিউটার নিজের থেকে কোনো কাজই করতে পারে না। কম্পিউটার কে দিয়ে কোন কাজ করাবার জন্য তাকে নির্দিষ্ট ইনস্ট্রাকশন দিতে হয়।
কম্পিউটারকে দিয়ে কোন problem solve করার জন্য কিছু specify sequence of instructions প্রয়োজন হয়। কম্পিউটার বুঝতে পারে এমন একটি ভাষায় লেখা sequence of instructions কে কম্পিউটার প্রোগ্রাম বলা হয়।
Computer system কে দিয়ে কোন জটিল সমস্যার সমাধানের জন্য software তৈরি করা হয়। এবং প্রতিটি software কোন না কোন একটি নির্দিষ্ট কাজের উদ্দেশ্যে তৈরি করা হয়।
Software হল একত্রিত করা নির্দেশাবলী (বা instructions) যা কম্পিউটারকে বলে দেয়, কি করতে হবে। এবং computer বা তার হার্ডওয়্যার গুলি কে efficiently কাজ করতে সাহায্য করে। Software ছাড়া বেশিরভাগ কম্পিউটার অকেজো।
সফটওয়্যার বলতে আসলে আমরা একত্রে অনেকগুলো জিনিস কে একসঙ্গে বোঝাই। একসঙ্গে একত্রিত ভাবে কাজ করতে পারে এমন কিছু program, এবং program গুলির একত্রিত ভাবে তাল মিলিয়ে কাজ করার পদ্ধতি কে সমষ্টিগত ভাবে software বলা হয়।
উদাহরণস্বরূপ, আপনি যে browser টি ব্যবহার করে এই web page টি পরছেন সেটি ও একটি software।
কিন্তু software এর technical definition কি ?
সফটওয়্যার কি? – সফ্টওয়্যাররের সংজ্ঞা
Software হ’ল একত্রিত করা নির্দেশাবলীর (বা program) এবং তা সম্পর্কিত data যা একটি কম্পিউটারকে, কী করণীয় এবং কীভাবে তা করতে হবে তার জন্য নির্দেশ সরবরাহ করে।
সফ্টওয়্যার হল user বা বাবহারকারী এবং computer এর মধ্যে একটি interface।
সফ্টওয়্যার প্রতিটি computer system এর hardware উপাদান গুলি কে নিয়ন্ত্রণ, পরিচালনা এবং সিস্টেম কে দিয়ে নির্দিষ্ট কার্য সম্পাদনের জন্য দায়ী।
প্রথম কম্পিউটার সফটওয়্যারটি কী ছিল?
সফটওয়্যার এর আবিষ্কারক কে
টম কিলবার্ন (Tom Kilburn) 1949 সালে এসএসইএমের ( SSEM) জন্য প্রথম প্রোগ্রাম করে ছিলেন।
electronic memory তে রাখা প্রথম সফ্টওয়্যার প্রোগ্রামটি লিখেছিলেন টম কিলবার্ন। প্রোগ্রামটি পূর্ণসংখ্যার 218 = 262,144 এর সর্বোচ্চ ফ্যাক্টর গণনা করে, এবং ইংল্যান্ডের ম্যানচেস্টার ইউনিভার্সিটিতে, June 21, 1948-এ সফলভাবে কার্যকর করা হয়েছিল।
যে computer এই প্রোগ্রামটি run করেছিল তাকে SSEM (Small Scale Experimental Machine) বলা হত, অন্যথায় “ম্যানচেস্টার বেবি”(Manchester Baby) নামে পরিচিত ” এই ইভেন্টটি সফটওয়্যারটির জন্ম হিসাবে ব্যাপকভাবে উদযাপিত হয়।
সফটওয়্যার এর গুরুত্ব (importance of software)
Software ছাড়া বেশির ভাগ computer ই অকেজ। computer সফ্টওয়্যার হার্ডওয়্যারকে কী করতে হবে তা জানায়।
সফ্টওয়্যার এবং হার্ডওয়্যার এর সম্পর্ক অনেকটা আমাদের মস্তিষ্কের সাথে দেহের (আত্মা এবং শরীরের) মত। মস্তিষ্ক না থাকলে আমরা কিছু করতে পারব না।
খুব সাধারন ভাবে বলতে গেলে computer software টিতে কোনও নির্দিষ্ট কাজ কীভাবে সম্পাদন করা যায় তার জন্য নির্দিষ্ট নির্দেশাবলী রয়েছে। এই নির্দেশাবলী হার্ডওয়্যারকে ঠিক কী করবেন এবং কীভাবে করবেন তা বলে।
- সুপার কম্পিউটার কি?
- মেইনফ্রেম কম্পিউটার কি?
- মাইক্রো কম্পিউটার কি ?
- ক্লাউড কম্পিউটিং কী?
- গ্রিড কম্পিউটিং কি?
সফটওয়্যার এর কাজ কি
সফটওয়্যার এর কাজ কি? এই প্রশ্নের উত্তর সম্পূর্ণভাবে নির্ভর করছে কোন কাজের জন্য সফটওয়্যারটি ব্যবহার করা হচ্ছে তার উপর।
কম্পিউটার বা কম্পিউটার এর মতন যন্ত্রপাতির ক্ষেত্রে, যেকোনো কাজ করার জন্য সফটওয়্যার ই প্রধান উপকরণ। কারণ এই ধরনের যন্ত্রপাতি পুরোপুরি সফটওয়্যার এর উপর নির্ভরশীল।
তবে কম্পিউটারের মধ্যে যে সমস্ত সফটওয়্যার ইনস্টল করা থাকে সেগুলি সব একই রকমের সফটওয়্যার নয়।
প্রতিটি সফটওয়্যার কোন না কোন একটি নির্দিষ্ট কাজ করার জন্য তৈরি করা হয়েছে সুতরাং কাজের প্রয়োগ এর ভিত্তি করে সফটওয়্যার কাজ বিভিন্ন রকম হতে পারে।
এই সমস্ত কিছু মাথায় রেখে যদি সহজ ভাষায় সফটওয়ারের কাজ বর্ণনা করতে হয় তাহলে বলতে হবে, সফটওয়ারের কাজ হচ্ছে বিভিন্ন জটিল কাজকর্মকে সহজ করে তোলা।
তা সে কোন যন্ত্রকে নিয়ন্ত্রণ করা হোক বা কোন জটিল ক্যালকুলেশন করা হোক।
সফটওয়্যার এর বৈশিষ্ট্য
সফটওয়্যার এর শ্রেণীবিভাগ

সফটওয়্যার কত প্রকার ও কি কি | types of software In Bangla
সফটওয়্যার দুটি প্রধান বিভাগে বিভক্ত করা যেতে পারে।
- সিস্টেম সফটওয়্যার – System Software
- অ্যাপ্লিকেশন সফটওয়্যার – Application Software
এক্ষেত্রে একটু দ্বিমত রয়েছে। যারা সফটওয়্যার গুলি কে প্রধানত দুই ভাগে ভাগ করেন তারা Utility Software কে Application Software একটি অংশ বলে গণ্য করেন। আবার কেউ কেউ Utility Software টি Application Software এর একটি শাখা হিসেবে গণ্য করেন।
তিন ধরণের সফ্টওয়্যার হল:
- সিস্টেম সফটওয়্যার – System Software
- অ্যাপ্লিকেশন সফটওয়্যার – Application Software
- ইউটিলিটি সফটওয়্যার – Utility Software (a sub-category of application software)
সিস্টেম সফ্টওয়্যার কি (System Software)
System Software, hardware এবং অন্যান্য Application Software নিয়ন্ত্রণ করে এই সব Application Software গুলি কাজ করার জন্য platform provide করে।
সাধারণত System Software যে সব কাজ গুলি করে তা হল।
- কম্পিউটার কে , কি করতে হবে, কিভাবে করতে হবে এসব আদেশ দেয় ।
- কম্পিউটারের হার্ডওয়ার গুলিকে একত্র করে কাজের উপযোগী করে।
- কম্পিউটারের বিভিন্ন প্রোগ্রাম এবং হার্ডওয়ার এর মধ্যে সমন্বয় সাধন করে।
- এপ্লিকেশন সফটওয়ার চালানোর জন্য প্লাটফর্ম তৈরি করে।
- আপনার দেয়া বিভিন্ন নির্দেশনা অনুযায়ী হার্ডওয়ার কে পরিচালনা করে।
Hardware ডিভাইসগুলির মধ্যে যোগ সাধন করে। বিভিন্ন hardware যেমন CPU(প্রসেসর )মেমরি, পেরিফেরিয়াল ডিভাইস যেমন মনিটর, প্রিন্টার ইত্যাদির যথাযথ ব্যবহার, নিয়ন্ত্রণ ও নিরীক্ষণ করে।
Microsoft Windows একটি অতি পরিচিত Operating system। কিন্তু Microsoft এর প্রথম যে অপারেটিং সিস্টেম টি বাজারে আছে তা হল MS-DOS।
সিস্টেম সফটওয়্যার এর উদাহরণ – (System Software Examples in Bengali) :
- Windows OS (Windows 8, 7, 10)
- Mac OS
- Linux OS
- Android
- Backup utility software
- Anti virus (avast, quick heal, kaspersky)
- Computer language translators
- Game engines
- Disk cleaner
- Disk compression
- Network management software
অ্যাপ্লিকেশন সফটওয়্যার কি (Application Software)
Application Software একটি নির্দিষ্ট কাজ বা সমস্যা সমাধান করতে ব্যবহৃত এক বা একাধিক প্রোগ্রামের সংগ্রহ।
সাধারণত banking industry তে ব্যবহৃত সফ্টওয়্যার, এয়ারলাইন / রেল reservation, বা বিদ্যুতের বিল ইত্যাদি সমস্ত Application Software এর আওতায় আসে।
অ্যাপ্লিকেশন সফ্টওয়্যার এর উদাহরণ – (Application Software Examples in Bengali) :
- Word processing software ( MS-word )
- Spreadsheet software (MS-excel)
- Database software
- Education software
- Entertainment software
- Multimedia tools ( real player, KM player, vlc player )
- Internet browser (Firefox, safari, chrome)
ইউটিলিটি সফটওয়্যার কি (Utility Software)
ইউটিলিটি সফটওয়্যার হ’ল এক বা একাধিক প্রোগ্রামের সংগ্রহ যা user কে system রক্ষণাবেক্ষণের কাজে এবং রুটিন কার্য সম্পাদনে সহায়তা করে। সহজ ভাষায় বলতে গেলে ইউটিলিটি প্রোগাম একটি কম্পিউটারের অপারেটিং সিস্টেমের কিছু কাজকে সহজ করে দেয় এবং user experience কে improve করে।
Utility Software গুলির দিয়ে করা কাজের মধ্যে ডিস্ক ফর্ম্যাটিং, ডেটা সংক্ষেপণ, ডেটা ব্যাকআপ ইত্যাদি আছে।
বিস্তারিত জানতে – https://en.wikipedia.org/wiki/Utility_software
ইউটিলিটি সফ্টওয়্যার এর উদাহরণ – (Utility Software Examples in Bengali) : :
- Anti-virus
- Registry cleaners
- Disk defragmenters
- Data backup utility
- Disk cleaners
অবশ্যই পড়ুন
সফটওয়্যার এর উদাহরণ – কয়েকটি সফটওয়্যার এর নাম
কাজের ওপর ভিত্তি করে বিভিন্ন ধরনের সফটওয়্যার এবং তাদের উদাহরণ দেওয়া হল
Software এর ধরন | কয়েকটি নাম |
Antivirus | AVG, Housecall, McAfee, and Norton. |
Audio / Music program | iTunes and WinAmp. |
Communication | Discord, Skype, and Ventrilo |
Database | Access, MySQL, and SQL. |
Device drivers | Computer drivers. |
Outlook and Thunderbird. | |
Game | Madden NFL football, Quake, and World of Warcraft. |
Internet browser | Firefox, Google Chrome, and Internet Explorer. |
Movie player | VLC and Windows Media Player. |
Operating system | Android, iOS, Linux, macOS, and Windows. |
Photo / Graphics program | Adobe Photoshop and CorelDRAW. |
Presentation | PowerPoint |
Programming language | C++, HTML, Java, Perl, PHP, Python, and Visual Basic. |
Simulation | Flight simulator and SimCity. |
Spreadsheet | Excel |
Utility | Compression, Disk Cleanup, encryption, registry cleaner, and screen saver. |
Word processor | Microsoft Word |
সফটওয়্যার কিভাবে তৈরি করা হয়
প্রযুক্তির সাথে সাথে প্রতিনিয়ত সফটওয়্যার তৈরি করার পদ্ধতি উন্নত হচ্ছে। যদিও সফটওয়্যার তৈরি করা এখন আর আগের মত কষ্টসাধ্য ব্যাপার নয়, কিন্তু তাও সফটওয়্যার তৈরি করার ধাপ গুলি আজও আগের মতন রয়েছে।
সফটওয়্যার তৈরির প্রক্রিয়াকে ভালোভাবে বুঝতে গেলে এর সাথে যুক্ত বিভিন্ন দিকগুলিকে ভালোভাবে বোঝা অত্যন্ত প্রয়োজনীয়।
সফটওয়্যার তৈরির বিভিন্ন দিক গুলির মধ্যে প্রথমেই যেগুলো উঠে আসে সেগুলি হচ্ছে, সফটওয়্যার তৈরির জন্য সঠিক tool বাছাই করা এবং সঠিক প্রোগ্রামিং ল্যাঙ্গুয়েজ বাছাই করা।
এই দুটি জিনিস বাছাই করার পরে সবথেকে গুরুত্বপূর্ণ জিনিস হচ্ছে কি পদ্ধতিতে সফটওয়্যার টি তৈরি করা হবে তা নির্দিষ্ট করা। অর্থাৎ অ্যালগরিদম সংক্রান্ত বিভিন্ন ধরনের সিদ্ধান্ত গ্রহণ করা।
এই সমস্ত প্রাথমিক সিদ্ধান্ত গ্রহণ করার পর যে কাজটি করা হয় সেটি হচ্ছে প্রোগ্রামের জন্য বিভিন্ন ধরনের প্রোগ্রামিং কোড তৈরি করা এবং সেগুলিকে একত্রিত করে সফটওয়্যার এর আকার দেওয়া।
এবং এর পরবর্তী কাজ হচ্ছে সফটওয়্যার টিকে ভালোভাবে টেস্ট করা।
কোন সফটওয়্যার তৈরি করার পরে এবং সেটিকে বাজার যত করার আগে ভালোভাবে টেস্ট করা অত্যন্ত প্রয়োজনীয়।
হার্ডওয়্যার ও সফটওয়্যার এর মধ্যে সম্পর্ক
Computer systemকে সঠিকভাবে কাজ করতে হলে তার মধ্যে থাকা hardware এবং software গুলিকে একে অপরের সাথে তাল মিলিয়ে কাজ করতে হয়। যদি কোন Computer এর হার্ডওয়ার, software এর নির্দেশ অনুসারে কাজ না করে তবে সেই কম্পিউটারটি কখনই সঠিকভাবে কোন কাজ করতে পারে না।
সুতরাং কোনো নির্দিষ্ট Computer system এর মধ্যে থাকা হার্ডওয়্যার এবং সফটওয়্যার একে অপরের উপযোগী হওয়া অত্যন্ত জরুরী।
যদি Computer এর software পরিবর্তন করে দেওয়া হয় তাহলে Computer system এর মধ্যে থাকা হার্ডওয়ার অন্যরকম কাজ করতে সক্ষম।