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

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

সফটওয়্যার প্রকৌশল
অ্যালগোরিদম ও উপাত্ত সংগঠনসমূহ
মানুষ-কম্পিউটার আন্তঃক্রিয়া
ইতিহাস